M450 V1

Tester des applications

Type
EP obligatoire
Lieu
École professionnelle
Année
3ème année d'apprentissage
PDF
450_1_Tester%20des%20applications.pdf

Compétences PEC liées

g3 g6

Compétence visée par le module

Établir un concept de test à l’aide d’une base de test et en déduire des cas de test. Implémenter et documenter ces cas de test, définir des mesures correctives et vérifier les interfaces selon les directives de sécurité.

Situation / objet

Application avec peu de fonctionnalités/récits utilisateur pour un petit nombre de cas de test

Objectifs opérationnels et connaissances

450.1 Établir un concept de test basé sur un exemple pratique, exigences incluses (base de test). g3 g6
ConnaissanceTexte
450.1.1Connaître les contenus nécessaires d’un concept de test tels que les objectifs de test, les objets à tester, les types de test, l’infrastructure de test, l’organisation de test et le plan de test.
450.1.2Connaître les limites du système pour délimiter l’environnement décrit dans le concept de test.
450.1.3Connaître des stratégies pour classifier les défauts/bugs.
450.2 Décrire un environnement de test de manière exhaustive. g3 g6
ConnaissanceTexte
450.2.1Connaître les principaux composants d’un environnement de test.
450.2.2Connaître la différence et les points communs entre un environnement de test et un environnement productif.
450.3 Définir les tests et les moyens de test en fonction des divers niveaux/types de test (tests unitaires, tests d’intégration, tests E2E, tests système, tests de charge/performance, tests de sécurité, tests d’acceptation des utilisateurs, tests de conformité). g3 g6
ConnaissanceTexte
450.3.1Connaître des exemples pour les différents types de test.
450.3.2Connaître l’utilisation des différents types de test.
450.3.3Connaître le modèle en V et la pyramide de test lors du testing.
450.3.4Connaître différents moyens de test.
450.3.5Connaître des possibilités pour gérer les dépendances (p. ex. interface, injection, mock [simulacre], spy [espion], stub [bouchon], dummy [fantôme, bouffon], fake [substitut, simulateur], fixture).
450.4 Élaborer des propositions pour corriger les défauts/bugs dans les revues de code (code reviews). g3 g6
ConnaissanceTexte
450.4.1Connaître des approches de contrôle statique de code et d’exigences.
450.4.2Connaître des principes de clean code (p. ex. DRY, KISS, YAGNI, dénomination, modularisation, SRP) pour écrire du code testable et éviter beaucoup de tests de code (p. ex. effectuer des tests sur les récits utilisateurs/comportement plutôt que sur les détails d’implémentation).
450.4.3Connaître des possibilités d’amélioration du code pouvant être proposées et mises en œuvre dans une revue de code.
450.4.4Connaître la différence entre testing et assurance qualité.
450.5 Décrire en fonction des exigences des cas de test reproductibles, y compris les résultats escomptés. g3 g6
ConnaissanceTexte
450.5.1Connaître la structure d’un cas de test (p. ex. précondition, données d’entrée, résultat, postcondition, positif et négatif/erreur de test).
450.5.2Connaître des critères de reproductibilité d’un test (retesting, régression, données de test, utilisateur de test/autorisations).
450.5.3Connaître la différence entre tests manuels et tests automatisés.
450.6 Implémenter et exécuter des cas de test automatisés et en documenter les résultats de manière compréhensible. g3 g6
ConnaissanceTexte
450.6.1Connaître des frameworks de test pour définir des tests automatisés (étapes given/arrange, when/act, then/assert) et les exécuter.
450.6.2Connaître des méthodes pour documenter les résultats de test de manière compréhensible (p. ex. traçabilité, outils).
450.6.3Connaître les principaux contenus d’un protocole de test: testeur, objet du test, date du test, environnement de test (p. ex. navigateur), résultat du test.
450.7 Définir sur la base des écarts constatés/donnés des mesures correctives et les appliquer (p. ex. dans le cadre du développement piloté par les tests (Test Driven Development [TDD]). g3 g6
ConnaissanceTexte
450.7.1Connaître le débogage et son utilisation.
450.7.2Connaître suffisamment bien l’approche TDD pour l’appliquer à un exemple simple.
450.8 Tester des interfaces conformément au concept de sécurité. g3 g6
ConnaissanceTexte
450.8.1Connaître des méthodes simples pour tester des interfaces.

Matrice de compétences

BandeCompétenceDébutantIntermédiaireAvancéObjectifs
A1 Créer un concept de test Je peux identifier et expliquer les composants d'un environnement de test (par exemple, environnement de test et de développement, exigences matérielles et logicielles, sources de données, outils de test) Je peux expliquer les différences et les similitudes entre différents environnements et justifier leur adéquation à certaines activités de tests (ex. DEV, TEST, INT/STAGE, PROD) Je peux dériver et définir les exigences d'un environnement de test et productif en fonction des exigences du projet (par exemple, configuration, surveillance, dépannage)
450.2
A2 Créer un concept de test Je peux enregistrer les exigences d'un logiciel et lister les étapes possibles d'un concept de test Je peux distinguer différents types de tests et expliquer lesquels sont adaptés aux besoins du projet Je peux élaborer un concept de test dans lequel les types de tests les plus pertinents pour le projet sont sélectionnés avec justification
450.1
B1 Définir des tests Sur la base de la stratégie du concept de test, je peux nommer et expliquer les méthodes et outils de test appropriés. Je peux formuler des cas de test pour tester des fonctions ou des aspects individuels du logiciel Je peux définir des scénarios de test qui spécifient comment le système doit répondre dans un ordre ou une combinaison spécifique de fonctions et de processus.
450.3 450.6 450.5
C1 Automatiser les tests Je peux énumérer les critères de choix des données de test et des objets fictifs et expliquer le terme couverture de test Je peux programmer des cas de tests qui couvrent les cas positifs et négatifs, les limites et les cas particuliers Je peux structurer des données de test, créer des objets fictifs et des méthodes d'assistance et utiliser les fonctions du framework de test de manière ciblée.
450.6 450.5
C2 Automatiser les tests Je peux expliquer la différence entre les tests unitaires et les tests d'intégration et faire la distinction entre les tests manuels et automatisés. Je peux appliquer des tests unitaires et des tests d'intégration dans le cadre du développement piloté par les tests (TDD) (par exemple avec un framework de tests) Je peux configurer un pipeline CI/CD pour que les tests unitaires et d'intégration soient effectués automatiquement et que les résultats contrôlent le processus de déploiement
450.7 450.5
C3 Automatiser les tests Je peux faire des tests de base des interfaces Je peux faire des tests plus approfondis des interfaces avec différents scénarios Je peux planifier et réaliser des tests complexes d'interfaces et documenter les résultats
450.5 450.8
D1 Effectuer un examen Je peux expliquer les principes d'un code propre et les démontrer à l'aide d'exemples de code (par exemple, principe de responsabilité unique, DRY) Je peux participer à une revue de code en tant que réviseur et enregistrer les défauts Je peux suggérer des améliorations et des optimisations en fonction des lacunes mises en évidence dans l'évaluation.
450.4
D2 Effectuer un examen Je peux interpréter les résultats des tests de base Je peux voir des liens entre les résultats des tests Je peux tirer des conclusions fondées à partir des résultats des tests et formuler des recommandations d'action.
450.4

Modules liés par compétences PEC

ModuleTitrePEC communes
M183 Implémenter la sécurité d'une application
g3 g6
M295 Réaliser le back-end pour des applications
g3 g6
M114 Mettre en œuvre des systèmes de codification, de compression et d’encryptage
g3
M223 Réaliser des applications multi-utilisateurs orientées objets
g6
M321 Programmer des systèmes distribués
g6
M324 Prendre en charge des processus DevOps avec des outils logiciels
g6
M346 Concevoir et réaliser des solutions cloud
g3
M426 Développer un logiciel avec des méthodes agiles
g6