IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Exemple de test logiciel Cunit


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    maitre
    Inscrit en
    Septembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : maitre

    Informations forums :
    Inscription : Septembre 2013
    Messages : 3
    Par défaut Exemple de test logiciel Cunit
    Bonjour à toutes et à tous,

    Je n'ai jamais fais de test logiciel : 56 ans ! mais pas trop tard pour ma culture générale , il me semble !!!.

    Voilà, je cherche un exemple de programme en C sous linux (add, sou, mul, etc. ou bien autre) et des exemples de test logiciel sur ce dernier !! pour que je puisse maîtriser ce que j'ai commencé à lire comme support de cours en ligne.

    Merci pour votre collaboration et joyeuses fêtes à toutes et à tous.

    Mon email : belhassen dot mazigh at gamil dot com

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 833
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par mazightn Voir le message
    Je n'ai jamais fais de test logiciel : 56 ans ! mais pas trop tard pour ma culture générale , il me semble !!!.
    Non, rien n'est trop tard. Mais ce qui compte c'est le but à atteindre. On n'écrit pas un logiciel pour le plaisir (enfin pas que) on se fixe plutôt un but à atteindre ou un résultat à obtenir. Et donc que souhaites-tu faire comme logiciel ?

    Citation Envoyé par mazightn Voir le message
    Voilà, je cherche un exemple de programme en C sous linux (add, sou, mul, etc. ou bien autre)
    add=addition ? Là c'est pareil. Que veux-tu additionner ? Des nombres saisis ? Des nombres passés en paramètre ? Tu veux additionner 2 nombres ? 3 nombres ? 10 nombres ?
    Pour que tu voies à quoi tu dois t'attendre, voici une implémentation possible pour un "add" linux en C
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #include <stdio.h>
    #include <stdlib.h>
     
    int main(int argc, char *argv[]) {
    	int add;
    	char **pt;
    	char *err;
     
    	for (add=0, pt=argv + 1; *pt != NULL; pt++) {
    		add+=strtol(*pt, &err, 10);
    		if (*err != '\0')
    			fprintf(stderr, "Warnig [%s] contient des caractères non numériques\n", *pt);
    	}
    	printf("La somme est %d\n", add);
    }
    Tu le lances en lui passant les nombres à additionner en paramètre (ex ./add 1 2 3 4 5)

    Donc avant de vouloir coder, il faut déjà avoir en tête ce qu'on veut faire et aussi choisir le langage adéquat. Parce que tous les langages n'ont pas les mêmes buts et donc n'offrent pas les mêmes moyens. Voici par exemple une autre implémentation du même programme en Python (autre langage disponible sous Linux et offrant d'autres possibilités que le C)...
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/usr/bin/env python3
    # coding: utf-8
     
    import sys
     
    add=0
    for x in sys.argv[1:]:
    	try:
    		add+=int(x)
    	except ValueError:
    		print("Erreur [%s] n'est pas un nombre - Ignoré" % x)
    	# try
    # for
    print("La somme est %d" % add)
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Futur Membre du Club
    Homme Profil pro
    maitre
    Inscrit en
    Septembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : maitre

    Informations forums :
    Inscription : Septembre 2013
    Messages : 3
    Par défaut
    Merci Sve@r pour ta réponse.

    Votre réponse est très pédagogique.
    Pour la programmation et les différents langages, j'ai ma petite idée là dessus.

    Une fois que j'ai un programme C, telle que celui que tu viens de me l'envoyer, je souhaite faire un test unitaire de ce programme en utilisant la librairie CUnit.
    1. Comment écrire le test;
    2. Comment le lancé une fois que j'ai mon programme addition.c

    Bonne soirée

  4. #4
    Futur Membre du Club
    Homme Profil pro
    maitre
    Inscrit en
    Septembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : maitre

    Informations forums :
    Inscription : Septembre 2013
    Messages : 3
    Par défaut
    par exemple, comment écrire un TEST pour éviter le type d'erreur suivante (débordement) !
    Exemple $./addition 9999999999 1
    qui affiche le résultat : -2147483648!!!

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 833
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par mazightn Voir le message
    Une fois que j'ai un programme C, telle que celui que tu viens de me l'envoyer, je souhaite faire un test unitaire de ce programme en utilisant la librairie CUnit.
    1. Comment écrire le test;
    2. Comment le lancé une fois que j'ai mon programme addition.c
    Sais pas. Connais pas cette librairie. A tout hasard j'ai trouvé cette doc.

    Citation Envoyé par mazightn Voir le message
    par exemple, comment écrire un TEST pour éviter le type d'erreur suivante (débordement) !
    Exemple $./addition 9999999999 1
    qui affiche le résultat : -2147483648!!!
    Un débordement en C n'est pas une erreur. La variable n'est pas assez grande pour stocker la valeur ben tant pis, on stocke ce qu'on peut et on oublie ce qui dépasse. Tu obtiens au final un modulo et selon ta façon de l'afficher le premier bit est utilisé comme bit de signe et ça t'affiche alors le nombre converti en négatif (complément à 1 de la valeur stockée).

    Tu peux reculer les limites en définissant "add" comme un "long long" et en écrivant "%lld" dans le printf() mais rien de plus. Accessoirement en Python tu n'auras pas ce souci car il adapte automatiquement la zone de stockage à la grandeur à stocker.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. mysql et C " cherche un exemple de teste"
    Par prg12 dans le forum C
    Réponses: 5
    Dernier message: 03/03/2007, 11h39
  2. [Population tests] Logiciels
    Par Titouf dans le forum Oracle
    Réponses: 1
    Dernier message: 12/02/2007, 08h17
  3. Réponses: 4
    Dernier message: 07/11/2006, 13h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo