Plug-in : Continuous Testing

publicité
Hakima Zidouri
CONSEIL & INGENIERIE
Informatique Réseau 3
CONTINUOUS TESTING
Exposé de système - 2004
Sommaire
CONSEIL & INGENIERIE
• L’intérêt des tests unitaires
• Outils : JUnit
• Écrire ses tests
• Plug-in : Continuous Testing
• Les plus de Continuous Testing
• Démonstration
• Différents outils de tests unitaires
• Conclusion : ce qu’il faut retenir
2
L’intérêt des tests unitaires
CONSEIL & INGENIERIE
Le test unitaire :
• bout de code qui provoque l’exécution d’un
autre bout de code et qui en analyse le résultat.
L’intérêt des tests unitaires :
• Programmer efficacement
• Programmer rapidement
• Programmer sans régresser
• Programmer en équipe
3
Outils : JUnit
CONSEIL & INGENIERIE
• Framework de test : JAVA
JUnit permet de …
•
•
•
vérifier
corriger
documenter
… ses classes JAVA.
4
Écrire ses tests
CONSEIL & INGENIERIE
Classe à tester
Classe de Test
public class Utils
public class UtilsTest extends TestCase
{
{
public
int add (int a, int b)
public void testAdd()
{
{ a + b;
return
}
. . .
}
}
}
5
Écrire ses tests : TestCase et Assert
CONSEIL & INGENIERIE
JUnit.framework.TestCase : définir les tests
JUnit.framework.Assert : identifier les erreurs
• assertEquals(..) : tester l’égalité de deux types primitifs
• assertFalse(…) et assertTrue(…) : tester une condition booléenne
• assertNull(…) et assertNotNull(…) : tester si une référence est
nulle
• assertSame(…) assertNotSame(…) : tester si deux objets se
réfèrent au même nom d’objet
6
Écrire ses tests : TestSuite
CONSEIL & INGENIERIE
import junit.framework.*;
JUnit.framework.TestSuite
: permet de réunir un ensemble de
public
ExecuterLesTests
tests
dansclass
une même
classe
{
Intérêt
: obtenir
un test
desuite()
l'application complète
public
static
Test
{
TestSuite suite = new TestSuite("Tous les
tests");
Méthode
:
suite.addTestSuite(MaClasseTest.class);
• Créer
un objet TestSuite
suite.addTestSuite(MaClasse2Test.class);
return la
suite;
• Appeler
méthode addTest( instance de la classe
}
pour
chaque classe de test à ajouter
public static void main(String args[])
•{Définir le main et appeler la méthode run()
junit.textui.TestRunner.run(suite());
}
}
7
de tests )
Plug-in : Continuous Testing (1)
CONSEIL & INGENIERIE
• Continuous testing permet …
d’automatiser
de prioriser
de filtrer
… ses tests unitaires.
• Basé sur JUnit :
• mêmes informations
• même format
8
Plug-in : Continuous Testing (2)
CONSEIL & INGENIERIE
Plug-in
Activer :Continuous :
• Help >( du
Software
> FindTesting
and Install
• Properties
projet )Updates
/ Continuous
Properties
Search
for new
features
• « •Enable
Informed
Testing
» etto install
Add Continuous
Update Site..
• « •Enable
Informed Testing »
9
Les plus de Continuous testing (1)
CONSEIL & INGENIERIE
• PRIORISER et FILTRER les tests :
Test Filtering and Prioritization
-> possibilité de spécifier un ordre d’exécution
Priorités
• Most Recent Failures First
10
Filtres
• Most Frequent Failures First
• Omit Previous Successes
• Quickest Test First
• Most Recent Failures Deleted
• Round Robin
• Informed Filter(Ct Only)
• Random
• Default No Filter
• No reordering
Les plus de Continuous testing (2)
CONSEIL & INGENIERIE
• Notification d’erreurs et liste d’erreurs
Error notification and Problems View
-> mise en évidence les méthodes qui échouent lors des
tests
11
Démonstration
CONSEIL & INGENIERIE
Un exemple simple :
• Classe à tester : TopTen.java
• Classe de test : TopTenTest.java
Exemple en IG :
• Classe à tester : MaFenetre.java
• Classe test : MaFenetreTest.java
12
Différents outils de tests unitaires
CONSEIL & INGENIERIE
Pour les langages :
13
.NET
NUnit
C++
CppUnit / CUnit
Delphi
DUnit
Conclusion : ce qu’il faut retenir
CONSEIL & INGENIERIE
L’intérêt d’utiliser des cas de tests :
• non régression du code
• rapidité
• clarté
• documentation efficace
Options de Continuous testing :
• automatiser
• prioriser
• filtrer
• spécifier les erreurs
14
Téléchargement