Test de logiciel
Le test logiciel est une méthode permettant de vérifier si le produit logiciel réel correspond aux exigences attendues et de garantir que le produit logiciel est exempt de défauts. Cela implique l'exécution de composants logiciels / système à l'aide d'outils manuels ou automatisés pour évaluer une ou plusieurs propriétés d'intérêt. Le but des tests logiciels est d'identifier les erreurs, les lacunes ou les exigences manquantes par rapport aux exigences réelles.
Certains préfèrent dire que les tests logiciels sont des tests en boîte blanche et en boîte noire. En termes simples, le test de logiciel signifie la vérification de l'application sous test (AUT). Ce tutoriel présente le logiciel de test au public et justifie son importance.
Dans ce tutoriel, vous apprendrez:
- Qu'est-ce que le test logiciel?
- Pourquoi les tests logiciels sont-ils importants?
- Quels sont les avantages des tests logiciels?
- Essais en génie logiciel
- Types de tests de logiciels
- Stratégies de test en génie logiciel
- Test de programme
Pourquoi les tests logiciels sont-ils importants?
Les tests logiciels sont importants car s'il y a des bogues ou des erreurs dans le logiciel, ils peuvent être identifiés tôt et peuvent être résolus avant la livraison du produit logiciel. Un produit logiciel correctement testé garantit la fiabilité, la sécurité et des performances élevées, ce qui se traduit par un gain de temps, une rentabilité et la satisfaction du client.
Les tests sont importants car les bogues logiciels peuvent être coûteux, voire dangereux. Les bogues logiciels peuvent potentiellement causer des pertes financières et humaines, et l'histoire regorge de tels exemples.
- En avril 2015, le terminal Bloomberg de Londres s'est écrasé en raison d'un problème logiciel affectant plus de 300 000 traders sur les marchés financiers. Cela a forcé le gouvernement à reporter une vente de dette de 3 milliards de livres.
- Les voitures Nissan ont rappelé plus d'un million de voitures du marché en raison d'une défaillance logicielle des détecteurs sensoriels des coussins gonflables. Il a été signalé deux accidents dus à cette défaillance du logiciel.
- Starbucks a été contraint de fermer environ 60% des magasins aux États-Unis et au Canada en raison d'une défaillance logicielle de son système de point de vente. À un moment donné, le magasin a servi du café gratuitement car ils n'étaient pas en mesure de traiter la transaction.
- Certains détaillants tiers d'Amazon ont vu le prix de leur produit réduit à 1 pence en raison d'un problème logiciel. Ils ont été laissés avec de lourdes pertes.
- Vulnérabilité dans Windows 10. Ce bogue permet aux utilisateurs d'échapper aux sandbox de sécurité via une faille dans le système win32k.
- En 2015, l'avion de chasse F-35 a été victime d'un bug logiciel, le rendant incapable de détecter correctement les cibles.
- L'Airbus A300 de China Airlines s'est écrasé en raison d'un bug logiciel le 26 avril 1994, tuant 264 innocents en direct
- En 1985, l'appareil de radiothérapie Therac-25 du Canada a mal fonctionné en raison d'un bug logiciel et a administré des doses de rayonnement mortelles aux patients, faisant 3 morts et 3 autres gravement blessés.
- En avril 1999, un bug logiciel a causé l'échec d'un lancement de satellite militaire de 1,2 milliard de dollars, l'accident le plus coûteux de l'histoire.
- En mai 1996, un bug logiciel a fait créditer les comptes bancaires de 823 clients d'une grande banque américaine de 920 millions de dollars américains.
Cliquez ici si la vidéo n'est pas accessible
Quels sont les avantages des tests logiciels?
Voici les avantages de l'utilisation des tests logiciels:
- Rentable: c'est l'un des avantages importants des tests logiciels. Tester n'importe quel projet informatique à temps vous permet d'économiser votre argent à long terme. Dans le cas où les bogues détectés lors de la première étape des tests logiciels, il en coûtera moins cher à corriger.
- Sécurité: c'est l'avantage le plus vulnérable et le plus sensible des tests logiciels. Les gens recherchent des produits fiables. Cela aide à éliminer les risques et les problèmes plus tôt.
- Qualité du produit: c'est une exigence essentielle de tout logiciel. Les tests garantissent qu'un produit de qualité est livré aux clients.
- Satisfaction du client: L'objectif principal de tout produit est de donner satisfaction à ses clients. Les tests UI / UX garantissent la meilleure expérience utilisateur.
Essais en génie logiciel
Conformément à la norme ANSI / IEEE 1059, les tests en génie logiciel sont un processus d'évaluation d'un produit logiciel pour déterminer si le produit logiciel actuel remplit les conditions requises ou non. Le processus de test consiste à évaluer les caractéristiques du produit logiciel en fonction des exigences en termes d'exigences manquantes, de bogues ou d'erreurs, de sécurité, de fiabilité et de performances.
Types de tests de logiciels
Les tests sont généralement classés en trois catégories.
- Test fonctionel
- Tests non fonctionnels ou tests de performance
- Maintenance (régression et maintenance)
Catégorie de test | Types de tests |
---|---|
Test fonctionel |
|
Tests non fonctionnels |
|
Maintenance |
|
Ce n'est pas la liste complète car il existe plus de 150 types de types de tests et encore en ajout. Notez également que tous les types de tests ne s'appliquent pas à tous les projets, mais dépendent de la nature et de la portée du projet.
Stratégies de test en génie logiciel
Voici des stratégies importantes en génie logiciel:
Test unitaire: Cette approche de test logiciel est suivie par le programmeur pour tester l'unité du programme. Il aide les développeurs à savoir si l'unité individuelle du code fonctionne correctement ou non.
Test d'intégration: il se concentre sur la construction et la conception du logiciel. Vous devez voir que les unités intégrées fonctionnent sans erreur ou non.
Test du système: dans cette méthode, votre logiciel est compilé dans son ensemble, puis testé dans son ensemble. Cette stratégie de test vérifie la fonctionnalité, la sécurité, la portabilité, entre autres.
Test de programme
Le test de programme dans le test de logiciel est une méthode d'exécution d'un programme logiciel réel dans le but de tester le comportement du programme et de trouver des erreurs. Le programme logiciel est exécuté avec des données de cas de test pour analyser le comportement du programme ou la réponse aux données de test. Un bon test de programme est celui qui a de fortes chances de trouver des bogues.
Résumé des principes de base des tests logiciels:
- Les tests logiciels sont définis comme une activité visant à vérifier si les résultats réels correspondent aux résultats attendus et à garantir que le système logiciel est exempt de défauts.
- Les tests sont importants car les bogues logiciels peuvent être coûteux, voire dangereux.
- Les raisons importantes d'utiliser les tests de logiciels sont: la rentabilité, la sécurité, la qualité des produits et la satisfaction des clients.
- Les tests sont généralement classés en trois catégories: tests fonctionnels, tests non fonctionnels ou tests de performances et maintenance.
- Les stratégies importantes en génie logiciel sont: les tests unitaires, les tests d'intégration, les tests de validation et les tests système.