3. SQLI2019
3
POURQUOI TESTER AUTOMATIQUEMENT SON APPLICATION ?
LES TYPES DE TESTS AUTOMATISÉS
LES UI TESTS EN IOS
COMMENT CONFIGURER UN PROJET POUR LES METTRE EN PLACE ?
ÉCRIRE LES TESTS
DÉMONSTRATION
SOMMAIRE
4. SQLI2019
4
PERMET DE VÉRIFIER LE BON FONCTIONNEMENT D’UNE APPLICATION
PERMET DE DÉTECTER LES BUGS
MOINS DE RISQUE DE RÉGRESSION
PLUS COÛTEUX AU DÉPART MAIS TRÈS RENTABLE SUR LE LONG TERME
• Moins de risque d’erreurs que les tests manuels
• Au fur et à mesure, couverture de test très large
• Gain de temps
• Plus de confiance
POURQUOI TESTER AUTOMATIQUEMENT
SON APPLICATION ?
5. SQLI2019
5
LES TYPES DE TESTS
AUTOMATISÉS
LES TESTS UNITAIRES
• S’exécute de manière indépendante
• Permet de vérifier le bon fonctionnement d’une méthode, d’une classe, d’une portion d’un programme
6. SQLI2019
6
LES TYPES DE TESTS
AUTOMATISÉSSNAPSHOT TESTING
• Permet de s’assurer que l’UI ne change pas
• Prend des snapshots d’une vue d’un écran et de la comparer avec un snapshot de référence. Si les deux images
ne sont pas les mêmes alors le test échoue.
• Vérifie au pixel prêt que l’écran n’a pas changé
• Librairie : iOSSnapshotTestCase
7. SQLI2019
7
PERMET DE TESTER L’INTERACTION DE L’UI
SIMULER L’UTILISATION DE L’APPLICATION PAR UN UTILISATEUR
PERMET DE VÉRIFIER QUE
• Tous les éléments d’un écran existent
• La navigation entre les écrans s’effectue correctement
• Les actions des éléments fonctionnent
APPLE INTÈGRE NATIVEMENT UN FRAMEWORK « XCTEST » QUI NOUS PERMET DE
TESTER NOTRE APPLICATION (DEPUIS XCODE 7)
SWIFT / OBJECTIVE-C
LES UI TESTS EN IOS
8. SQLI2019
8
COMMENT CONFIGURER UN PROJET
POUR METTRE EN PLACE LES UI TEST ?
CRÉER UNE TARGET DE UI
TEST
CRÉATION AUTOMATIQUE DU DOSSIER DE UI
TEST
11. SQLI2019
11
ÉCRIRE LES TESTS
PLUSIEURS FAÇONS D’ÉCRIRE DES UI TESTS
• Utiliser le recorder
• Écrire à la main
• En s’aidant d’outil comme l’Accessibility Inspector
👨
🏻
Couverture de tests = gage de qualité
Gain de temps = Plus rapide que les tests manuels et peuvent être intégré à l’intégration continue pour lancer des tests à chaque push sur develop par exemple
Bon exemple car le compiler nous indique des erreurs -> Pas parfait, refacto à faire
On peut identifier les élements grâce à leur titre. Pas la solution la plus optimal, si on vient à changer le titre les tests vont échouer.
Une autre solution -> Accessibility Identifier
Accessibility -> À la base pour les aveugles puis mise en place pour les UI tests