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 :

Débuter avec les tests unitaires


Sujet :

C++

  1. #1
    Membre éclairé
    Avatar de sylvain1984
    Homme Profil pro
    Retraité, développeur amateur
    Inscrit en
    Juillet 2023
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité, développeur amateur

    Informations forums :
    Inscription : Juillet 2023
    Messages : 79
    Par défaut Débuter avec les tests unitaires
    Bonjour,

    Je me lance dans un tout petit projet C++/Qt pour Android.
    Vu la taille du projet, j'en profite pour apprendre UML avec Modelio.
    J'aimerais également aborder le test unitaire. Il existe bien un framework pour cela dans Qt, mais je cherche un peu de théorie et des exemples concrets.

    Ma surprise est que le sujet n'est presque pas traité sur ce site, pas même une suggestion de livre si tant est que ça existe.
    Il semble s’agir d'une véritable religion, avec ses convertis intégristes et ses athées indécrottables.

    D'où mes questions : faut-il s'y mettre, et si oui par où commencer ?

    Merci !
    Sylvain

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 553
    Par défaut
    Il existe bien un framework pour cela dans Qt
    A Rome, fais comme les romains.
    Après, avec un peu de recul, tu pourras voir les faiblesses de l'outils "maison".
    Les tests unitaires avec des librairies graphiques, c'est toujours très casse-gueule.
    Tu prendras vraisemblablement de très mauvaises habitudes avec ce type d'outils, mais ça sera le plus "efficace" pour commencer "vite".

  3. #3
    Membre éclairé
    Avatar de sylvain1984
    Homme Profil pro
    Retraité, développeur amateur
    Inscrit en
    Juillet 2023
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité, développeur amateur

    Informations forums :
    Inscription : Juillet 2023
    Messages : 79
    Par défaut
    Citation Envoyé par bacelar Voir le message
    A Rome, fais comme les romains.
    Après, avec un peu de recul, tu pourras voir les faiblesses de l'outils "maison".
    Les tests unitaires avec des librairies graphiques, c'est toujours très casse-gueule.
    Tu prendras vraisemblablement de très mauvaises habitudes avec ce type d'outils, mais a sera le plus "efficace" pour commencer "vite".
    Merci. Dans ce cas comment prendre de bonnes habitudes, car c'est le but de l'exercice !

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 184
    Billets dans le blog
    157
    Par défaut
    Bonjour,

    Les tests unitaires vous permettront de tester vos fonctions "métier" (celles qui font des calculs ou qui ont la logique de votre application), une par une.
    Ensuite, si vous voulez tester l'interface graphique, une application dédiée sera conseillée, telle que Squish (ou Ranorex). Ces applications pourront enregistrer un scénario et de le rejouer et vérifier des choses affichées à l'écran lorsqu'elle rejoue le scénario. Elles disposent de capacité de comparaison d'image mais dans la réalité, c'est sous casse figure de les utiliser.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre éclairé
    Avatar de sylvain1984
    Homme Profil pro
    Retraité, développeur amateur
    Inscrit en
    Juillet 2023
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité, développeur amateur

    Informations forums :
    Inscription : Juillet 2023
    Messages : 79
    Par défaut
    Merci pour vos réponses !

    J'en déduis qu'il n'y a pas d'écrit sur ce thème ? (livre, cours, tuto, etc.)

    Car c'est bien la théorie qui m'intéresse et @Beclar l'a bien évoqué dans sa réponse : il y existe des bonnes pratiques en la matière !

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    404
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 404
    Par défaut
    Certains livres "génériques" (comme Professional C++, Clean Architecture, Clean Code, etc) abordent les tests. Les tests sont généralement pas dépendant du langage (pour la partie théorie).

    Regarde aussi Modern C++ Programming with Test-Driven Development.

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 159
    Billets dans le blog
    4
    Par défaut
    Franchement la théorie des UT est plutôt triviale : tu écris un code et tu t'assures que le résultat est celui attendu
    Après c'est juste des framework pour proposer des fonctions fancy comme ASSERT_EQUAL, ASSERT_NULL, ... souvent des macros, une syntaxe pour les enregistrer automatiquement etc
    Et faut juste suivre la syntaxe et ajouter tes tests ASSERT_EQUAL(3, MyCall(Param1, Param2));
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

Discussions similaires

  1. Consommer mon api avec les test unitaire
    Par keokaz dans le forum Angular
    Réponses: 1
    Dernier message: 07/04/2020, 09h55
  2. Comment utiliser les tests unitaires avec Zend 1.12
    Par Khleo dans le forum Zend Framework
    Réponses: 0
    Dernier message: 28/09/2015, 18h38
  3. Réponses: 5
    Dernier message: 09/06/2010, 11h17
  4. Réaliser les tests unitaires avec Nunits
    Par soso78 dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 18/02/2009, 23h33

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