De nombreux employeurs exigent un diplôme d'associé en technologie de l'électronique ou dans un domaine connexe ; toutefois, les postes de technicien en test de logiciels sont parfois considérés comme des postes de premier échelon en génie logiciel, de sorte que certains employeurs offrent des stages et des emplois d'été aux étudiants qui poursuivent un baccalauréat en informatique. Dans certains domaines, comme le développement de jeux vidéo, les testeurs doués en informatique peuvent être embauchés alors qu'ils sont encore au lycée. L'International Institute for Software Testing (IIST) offre une certification de professionnel certifié en test logiciel. L'American Society for Quality propose également une certification d'associé certifié en amélioration de la qualité, également appelée CQIA.
Compétences nécessaires
Les techniciens en test de logiciels doivent être analytiques, avoir le sens du détail et être très organisés pour dépanner avec précision et documenter leurs résultats tout en travaillant sur plusieurs projets à la fois. Ils doivent être capables d'installer et de désinstaller des applications, d'exploiter des protocoles de test et de rédiger des plans et des programmes de test de logiciels. En plus d'avoir une expertise des applications logicielles, ils doivent connaître le matériel informatique et être capables de lire des diagrammes techniques, ainsi que de rester assis pendant de longues périodes pour effectuer des tâches répétitives. Bien que les testeurs passent une grande partie de leur temps à travailler de manière indépendante, des compétences en communication et en relations interpersonnelles sont également essentielles pour interagir avec les membres de l'équipe de développement.
Les exigences en matière de test
Les tests de logiciels ne sont pas une activité à entreprendre lorsque le produit est prêt. Un test de logiciel efficace commence par un plan approprié dès l'étape des exigences de l'utilisateur lui-même. La testabilité d'un logiciel est la facilité avec laquelle un programme informatique est testé. Des métriques peuvent être utilisées pour mesurer la testabilité d'un produit. Les exigences pour un test logiciel efficace sont données dans les sous-sections suivantes.
Opérabilité du test logiciel :
1. Plus le logiciel fonctionne bien, plus il peut être testé efficacement.
2. Le système comporte peu de bogues (les bogues ajoutent des frais généraux d'analyse et de rapport au processus de test)
3. Aucun bogue ne bloque l'exécution des tests.
4. Le produit évolue par étapes fonctionnelles (permet le développement et les tests simultanés)
Observabilité dans les tests logiciels :
1. Ce qui est vu est ce qui est testé
2. Une sortie distincte est générée pour chaque entrée
3. Les états et les variables du système sont visibles ou interrogeables pendant l'exécution
4. Les états et les variables passés du système sont visibles ou interrogeables (ex, journaux de transactions)
5. Tous les facteurs affectant la sortie sont visibles
6. Une sortie incorrecte est facilement identifiée
7. Une entrée incorrecte est facilement identifiée
8. Les erreurs internes sont automatiquement détectées par un mécanisme d'auto-test
9. Les erreurs internes sont automatiquement signalées
10. Le code source est accessible
La contrôlabilité dans les tests logiciels :
1. Plus le logiciel est contrôlé, plus les tests peuvent être automatisés et optimisés
2. Toutes les sorties possibles peuvent être générées par une certaine combinaison d'entrées dans les tests logiciels
3. Tout le code est exécutable par une certaine combinaison d'entrée dans les tests logiciels
4. Les états du logiciel et du matériel peuvent être contrôlés directement par les tests
5. Les formats d'entrée et de sortie sont cohérents et structurés dans les tests logiciels
6. Les tests peuvent être spécifiés, automatisés et reproduits de manière pratique.
Décomposabilité dans les tests logiciels :
1. En contrôlant la portée des tests, les problèmes peuvent être isolés rapidement et des tests plus intelligents peuvent être effectués.
2. Le système logiciel est construit à partir de modules indépendants
3. Les modules logiciels peuvent être testés indépendamment dans les tests logiciels
Simplicité dans les tests logiciels :
1. Moins il y a de choses à tester, plus il est possible de le faire rapidement dans les tests logiciels
2. Simplicité fonctionnelle
3. Simplicité structurelle
4. Simplicité du code
Stabilité dans les tests logiciels :
1. Moins il y a de modifications, moins il y a de perturbations dans les tests
2. Les modifications du logiciel sont peu fréquentes
3. Les modifications du logiciel sont contrôlées dans les tests logiciels
4. Les modifications du logiciel n'invalident pas les tests existants dans les tests logiciels
5. Le logiciel se remet bien des échecs dans les tests logiciels
Undivisibilité dans les tests logiciels :
1. Plus nous avons d'informations, plus nous testerons intelligemment
2. La conception est bien comprise dans les tests logiciels
3. Les dépendances entre les composants internes externes et partagés sont bien comprises.
4. Les modifications apportées à la conception sont communiquées.
5. La documentation technique est instantanément accessible
6. La documentation technique est bien organisée dans les tests logiciels
7. La documentation technique est spécifique et détaillée
8. La documentation technique est précise
.