getting started with fitnesse collaboration tool
Maintenant, le monde passe à Agile. Une rétroaction précoce et continue est impérative pour toute équipe Scrum. Parce que le monde change, l'état d'esprit des testeurs doit également être changé.
Au lieu de «trouver des bogues, casser des logiciels, mesurer les exigences», les testeurs pensent désormais «fournir la qualité, dès la première fois, tester sans l'interface utilisateur ou tester avant même que l'interface utilisateur soit disponible».
Les testeurs sont également maintenant tenus de répondre au changement, et il est donc important de sortir de la technique de test de la boîte noire et de ne pas attendre que l'interface utilisateur soit développée; au lieu de cela, commencez également à tester les livrables intermédiaires.
Ce que vous apprendrez:
meilleur logiciel de récupération de disque dur externe
- Mais pourquoi?
- Qu'est-ce que FitNesse?
- Pourquoi devrais-je utiliser FitNesse?
- Alors, que puis-je créer?
- Téléchargement et configuration de FitNesse:
- Exemple FitNesse - Les éléments à tester:
- Rédaction de votre test dans FitNesse:
- Quelques informations sur les styles de luminaires / tables:
- Recommandation:
- Conclusion
- lecture recommandée
Mais pourquoi?
«MAINTENANT, CECI EST UNE PERSPECTIVE TRÈS AGILE».
Chaque fois que nous construisons un logiciel, les couches les plus basses des tests sont conservées au niveau de l'unité / composant. Les tests unitaires sont réalisés par l'équipe de développement. Ces tests unitaires sont très axés sur la technologie et sont principalement écrits dans la même langue que le système sous test.
Ces tests unitaires sont écrits avec ' Unité X »Outil de test. Nous disons dans le monde des tests que si notre test unitaire est solide comme le roc , les défauts sont identifiés beaucoup plus tôt et les tests au-dessus de la couche de test unitaire deviennent faciles dans un environnement stable. Et lorsque nous parlons en Agile, nous disons que si une équipe maîtrise l'art du TDD (Test Driven Development), les tests de niveau unitaire fournissent le retour le plus rapide.
La couche au-dessus de la couche unité / composant est la couche des tests d'acceptation qui est réalisée par l'entreprise. Ce sont des tests fonctionnels qui ont plus de couverture que les tests unitaires et sont le plus souvent exécutés par des non-développeurs. Ces tests testent la couche derrière la couche de présentation ou les API. Ces API ou méthodes lorsqu'elles sont testées donnent un retour rapide et au moment où l'interface graphique est développée, la plupart des fonctionnalités sont testées.
FitNesse est un exemple de cette couche de tests d'acceptation automatisés.
Qu'est-ce que FitNesse?
FitNesse est «un wiki autonome entièrement intégré et un cadre de test d'acceptation». C'est le serveur Web wiki Open source. Wiki- parce qu'il permet de créer vos propres pages Web sur lesquelles des tables de test sont créées. Ces tables de test ne sont rien d'autre que données de test .
Son intention est de soutenir le style agile des tests d'acceptation et de régression de la boîte noire. C'est également un outil de collaboration, car les testeurs collaborent avec les développeurs pour préparer la suite de tests.
Pourquoi devrais-je utiliser FitNesse?
L'équipe de test Agile peut utiliser FitNesse pour préparer des combinaisons de test qui testeront les méthodes du code. FitNesse est analogue à Junit de manière à tester également les méthodes, mais il est différent de Junit car les tests se présentent sous la forme de tableaux simples qui peuvent être utilisés à la fois par des développeurs et des non-développeurs.
Avantages:
- Rétroaction précoce, en exécutant les tests d'acceptation automatisés aussi souvent que nécessaire.
- Les résultats des tests sont déterministes car ils sont surlignés en rouge ou en vert.
- Les données de test peuvent être conçues pour répondre aux besoins de qualité.
- Les tests sont rédigés dans un langage simple et faciles à comprendre car ils sont rédigés sous forme de tableau.
- Ces tableaux sont définis en termes d'entrées et de sorties attendues.
- Voir tout FitNesse présente ici.
Alors, que puis-je créer?
Dans FitNesse, vous pouvez créer des tests et une suite. Les termes sont très similaires à ceux utilisés dans le monde des tests. Les tests sont un script unique et le costume est une collection / un groupe de tests. Lorsque vous créez une combinaison et que vous l'exécutez, l'avantage est que tous les tests de cette combinaison sont exécutés. Vous avez donc besoin d'une bonne planification pour organiser vos tests dans un costume.
Téléchargement et configuration de FitNesse:
=> Pour télécharger FitNesse, Cliquez ici
(Noter: Cliquez sur n'importe quelle image pour une vue agrandie)
Téléchargez la dernière version de fitnesse-standalone.jar et enregistrez-la sur votre lecteur local.
Ouvrez une invite de commande et exécutez le fichier jar. Pour plus de facilité, j'ai créé un fichier batch:
Une fois le fichier jar exécuté, FitNesse démarre comme indiqué ci-dessous: (cliquez sur l'image pour une vue agrandie)
Pour ouvrir FitNesse, ouvrez votre navigateur et saisissez: http: // localhost: . Dans ce cas, le numéro de port est 2222.
La page reçue est affichée ci-dessous: (cliquez sur l'image pour une vue agrandie)
Donc ici, si vous pouvez voir la liste déroulante Tests, nous pouvons créer une «page Suite» ainsi qu'une «Page de test». Lorsque vous créez une suite, tous les scripts de test de cette suite seront exécutés.
À des fins d'explication, je prends un exemple de page de test.
Exemple FitNesse - Les éléments à tester:
À partir de maintenant, nous testons un programme de calcul simple illustré ci-dessous.
Voici le code en java, qui a 4 méthodes:
- une addition ()
- moins ()
- multiplier ()
- diviser ()
(Veuillez voir que FitNesse fonctionne avec n'importe quelle langue de votre choix. Pour plus d'explications, j'ai utilisé java)
Ce code dans le monde FitNesse s'appelle «Fixture».
Les appareils ne sont rien d'autre que l'exemple de code - soit un lien entre FitNesse et l'application testée. Donc, chaque fois que nous voulons tester une méthode, nous devons écrire un fixture et ce fixture appellera et testera la méthode.
Ainsi, le code «Fixture» pour notre exemple est le suivant:
publicclass Calculator { privateint first,second; publicvoid setFirst(int first) { this.first=first; } publicvoid setSecond(int second) { this.second=second; } publicint addition() { return (first+second); } publicint minus() { return (first-second); } publicint multiply() { return (first*second); } publicfloatdivide() { return (first/second); } }
Le code dans eclipse est affiché comme suit: (cliquez sur l'image pour une vue agrandie)
Nous aurions besoin du fichier de classe, alors assurez-vous de le compiler.
Rédaction de votre test dans FitNesse:
Étape 1) Revenons au navigateur sur lequel se trouve la page d'accueil de FitNesse.
Dans la première page, cliquez sur «Page de test», entrez le nom du test et cliquez sur le bouton «Enregistrer». Dans notre cas, c'est 'Calculatrice'
Étape 2) Dans votre URL, ajoutez le nom de votre test avec un point '.' Opérateur.
Aimer: http: // localhost: 2222 / FrontPage.Calculator
Étape 3) Cliquez sur le bouton Modifier et entrez les lignes ci-dessous
Voici les lignes entrées:
! définir TEST_SYSTEM {slim}
! chemin F: Eclipse TestFitness bin
! | Calculatrice |
| premier | deuxième | addition? | moins? | multiplier? | diviser? |
| 4 | 2 | 6 | 2 | 8 | 2,0 |
| 10 | 5 | 15 | 5 | 50 | 2,0 |
| 10 | 10 | 20 | 0 | 100 | 1,0 |
Comprenons les lignes une par une.
à) La première ligne indique à FitNesse d'utiliser le système de test SLIM.
( SVELTE - Signifie la méthode d'invocation de liste simple. En disant système de test SLIM, tout le traitement de la table est effectué par FitNesse. SLIM a SLIM Runner et SLIM Executer. SLIM Runner divise les pages de test en instructions simples et ces instructions sont transmises à SLIM Executer qui dirige le code de l'appareil pour appeler le système sous tests)
b) La deuxième ligne définit l'emplacement du fichier de classe. Dans ce cas, le code java est compilé et le fichier de classe est conservé à l'emplacement 'chemin F: Eclipse TestFitness bin'
c) La troisième ligne indique le nom de la classe. Dans notre cas, c'est 'Calculatrice'
ré) Vient maintenant la quatrième ligne:
Les deux premières colonnes| premier | deuxième |sont les paramètres ou les entrées de la méthode java.
Les 4 colonnes suivantes suivies de «?»addition? | moins? | multiplier? | diviser? | sont les méthodes de la classe java. Ces méthodes renverront une valeur qui serait comparée aux valeurs attendues.
est) Les lignes:
| 4 | 2 | 6 | 2 | 8 | 2,0 |
| 10 | 5 | 15 | 5 | 50 | 2,0 |
| 10 | 10 | 20 | 0 | 100 | 1,0 |
Sont les cas de test ou je devrais dire les données de test pour notre méthode.
meilleur logiciel de récupération de données windows 10
La première ligne:
| premier | deuxième | addition? | moins? | multiplier? | diviser? |
| 4 | 2 | 6 | 2 | 8 | 2,0 |
Prendra 4 comme premier paramètre et 2 comme deuxième paramètre et passera ces deux valeurs dans la méthode d'addition de la classe java. La méthode s'exécutera et retournera une valeur. Cette valeur renvoyée sera comparée à la valeur attendue inscrite sous 'ajout?' lequel est| 6 |
De la même manière, FitNesse passera les 2 premiers paramètres dans le moins? Méthode de la classe java et renvoie une valeur. Cette valeur sera comparée à la valeur attendue contre | 2 |
De la même manière, multiplier? et diviser? fonctionnera en prenant les valeurs du premier et du deuxième paramètre et retournera la valeur qui est comparée à| 8 | 2,0 |respectivement
De la même manière, les 2 lignes ci-dessous (ou je devrais dire les cas de test) sont exécutées.
| 10 | 5 | 15 | 5 | 50 | 2,0 |
| 10 | 10 | 20 | 0 | 100 | 1,0 |
Étape 4) Une fois que vous avez édité vos tests, cliquez sur le bouton Enregistrer et votre page ressemblera à:
Étape # 5) Pour exécuter les tests, cliquez sur le bouton Test, et nous obtenons le résultat comme suit: (cliquez sur l'image pour une vue agrandie)
Pour la première ligne (qui est notre premier cas de test), la couleur verte met en évidence que les valeurs, renvoyées par la méthode addition (), minus (), multiply () et divide () correspondent à ce qui est attendu, c'est-à-dire 6, 2 , 8 et 2,0 respectivement. De même, pour la deuxième ligne (qui est le deuxième cas de test), toutes les valeurs renvoyées par les méthodes correspondent.
Étape # 6) Maintenant, pour démontrer, permettez-moi de changer quelques-unes des valeurs attendues en d'autres valeurs (les valeurs sont incorrectes, mais je l'ai fait à des fins d'explication)
À partir de maintenant, j'ai:
- Changement de la valeur attendue pour addition () pour le premier cas de test à 7
- Modification de la valeur attendue de moins () pour le deuxième cas de test
- Modification de la valeur attendue de divide () pour le troisième scénario de test.
Étape # 7) Exécutez le test en cliquant sur le bouton «Test». Les tests ci-dessus devraient échouer. (cliquez sur l'image pour une vue agrandie)
La couleur rouge indique que ces tests ont échoué.
Quelques informations sur les styles de luminaires / tables:
Nous avons vu que dans FitNesse les tests sont exécutés en exécutant des lignes dans une table. Par conséquent, pour exécuter différents types de tests (ou je devrais dire pour tester différents types de méthodes), nous aurions besoin d'utiliser différents types de tables. Nous utilisons le plus souvent les styles de luminaires / tables ci-dessous:
- Fixation de colonne - est le plus largement utilisé (et est utilisé dans l'exemple ci-dessus). Ici, les lignes de données représentent différents ensembles d'entrée et sa sortie attendue.
- Appareils de ligne - Il est utilisé pour tester les requêtes qui retournent un ensemble de valeurs.
- Jeux d'action - Il est utilisé pour exécuter des tests pour une séquence d'événements. Ces événements peuvent être comme cliquer sur un bouton, vérifier les valeurs
Recommandation:
J'ai essayé de démontrer les concepts afin que nous puissions commencer à explorer davantage sur FitNesse. L’état d’esprit du testeur doit également être changé et élargi. Nous devons arrêter de nous restreindre pour regarder à l'intérieur du code. Je ressens; en fin de compte, nous testons le code, alors pourquoi n’essayons-nous pas de voir le code et de le tester sur-le-champ?
Commencez à affûter vos compétences en programmation et mettez davantage l'accent sur la construction de la logique et plutôt sur l'apprentissage de la syntaxe. Une fois que vous maîtriserez parfaitement les concepts de programmation et que vous vous exercerez à les mettre en œuvre, l'exploration de FitNesse deviendra plus facile.
Conclusion
Les tests agiles sont disponibles en 4 versions:
- Tests unitaires automatisés - En utilisant Junit
- Test de vérification d'acceptation automatisé - En utilisant FitNesse
- Tests d'interface utilisateur / de régression automatisés - en utilisant Selenium ou QTP
- Test manuel
Nous devrions essayer de pousser au maximum nos tests dans l'unité et la couche d'acceptation . Jusqu'à présent, nous avons essayé de conserver la plupart de nos tests pour la couche d'interface utilisateur en utilisant des outils tels que QTP et Selenium, mais l'inconvénient ici est que ces fonctionnalités ne pourraient pas être testées à moins que l'interface utilisateur ne soit développée. Au moment où vous trouvez un défaut, les développeurs sont passés à d'autres développements de fonctionnalités.
D'un autre côté, si nous pouvons tester les API peu de temps après leur écriture, les développeurs peuvent y remédier instantanément. Cela entraînerait également moins d'efforts lors du test de l'interface graphique. Parce que toutes les fonctionnalités sont testées, tester l'interface graphique devient facile.
Avec Agile, l'état d'esprit des testeurs a également besoin d'un changement et ils doivent sortir de leur série de tests de routine et maintenant vous devriez regarder le code et essayer d'identifier les défauts même si l'interface utilisateur n'est pas disponible.
A propos de l'auteur: Il s'agit d'un article invité par Shilpa C. Roy, membre de l'équipe STH. Elle travaille dans le domaine des tests de logiciels depuis plus de 9 ans dans des domaines tels que la publicité sur Internet, la banque d'investissement et les télécommunications.
Faites-nous part de vos questions dans les commentaires ci-dessous.
lecture recommandée
- Les développeurs ne sont pas de bons testeurs. Ce que tu dis?
- Outil gratuit de capture d'écran et d'annotateur pour les testeurs - Examen qSnap
- Top 10 des outils de révision de code les plus populaires pour les développeurs et les testeurs
- Revue WebLOAD - Premiers pas avec l'outil de test de charge WebLOAD
- Top 15 des outils de test SOA pour les testeurs
- Comment garder la motivation vivante chez les testeurs de logiciels?
- Examen de l'outil de gestion des tests TestLodge
- Compétence douce pour les testeurs: comment améliorer la compétence de communication