Introduction aux tests de système
Avez-vous déjà entendu parler des tests du système? Oui, bien sûr, vous avez entendu, mais vous ne savez pas ce qui est testé. Comment il est mis en œuvre dans l'environnement réel. Le monde d'aujourd'hui est rempli de nombreux appareils, de nouvelles technologies sortent chaque jour. Pour maintenir la qualité et garantir que notre produit est exempt de bogues et fiable, chaque développement a son équipe de test parallèle de côté.
Le test est le processus de recoupement pour savoir si nous avons une fonctionnalité correcte ou non. Le test de logiciel est une phase où le logiciel est terminé. Maintenant, ce logiciel intégré va être testé. Lors des tests, nous vérifions que le logiciel répond ou non à nos exigences.
Test effectué sur l'ensemble du système, appelé test du système. Par ce test, nous découvrons les erreurs. Il garantit que tout le système fonctionne comme prévu. Nous vérifions les performances et les fonctionnalités du système pour obtenir un produit de qualité. Le test du système n'est rien d'autre que le test du système dans son ensemble. Ce test vérifie le scénario de bout en bout complet selon le point de vue du client.
Les tests fonctionnels et non fonctionnels sont également effectués par les tests du système. Tout est fait pour maintenir la confiance dans le développement du système sans défaut et sans bogue. Les tests du système sont également destinés à tester les spécifications des exigences matérielles / logicielles.
Les tests du système sont plus un type limité de tests; il cherche à détecter les deux défauts au sein des «inter-assemblages».
Il existe deux types de tests:
Ce sont des systèmes et des applications spécialisés
Avant de passer directement au test du système, je veux que vous connaissiez le déroulement des tests. Vous aurez donc une idée claire. Veuillez regarder le schéma suivant.
Types de tests système
Voici les différents types de tests qui sont les suivants:
1. Test de fonctionnalité
- Ces tests permettent de s'assurer que la fonctionnalité d'un produit fonctionne conformément aux spécifications des exigences, dans les limites des capacités du système.
- Les tests fonctionnels sont effectués manuellement ou avec des outils automatisés.
2. Test de récupérabilité
- Ces tests déterminent si les opérations peuvent être poursuivies après une catastrophe ou après que l'intégrité du système a été perdue.
- Le meilleur exemple de cela suppose que nous téléchargeons un fichier. Et soudain, la connexion s'éteint. Après avoir repris la connexion, notre téléchargement commence là où nous sommes partis. Cela ne recommence pas.
- Utilisé là où la continuité des opérations est essentielle
3. Test de performance
- Ces tests permettent de s'assurer des performances du système dans les différentes conditions, en termes de caractéristiques de performances.
- Ces tests sont également appelés tests de conformité en termes de performances.
- Ce test garantit que répond aux exigences du système
- Il vérifie quand plusieurs utilisateurs utilisent la même application à la fois, puis comment elle répond
Les tests de performances peuvent être classés en trois catégories principales comme la vitesse, l'évolutivité et la stabilité.
4. Test d'évolutivité
Ces tests garantissent les capacités de mise à l'échelle du système en différents termes tels que la mise à l'échelle des utilisateurs, la mise à l'échelle géographique et la mise à l'échelle des ressources.
5. Test de fiabilité
- Les tests de fiabilité garantissent que le système est exempt de bogues.
- Ces tests permettent de s'assurer que le système peut fonctionner pendant une durée plus longue sans développer de pannes.
6. Test de documentation
Ces tests permettent de s'assurer que le guide de l'utilisateur du système et les autres documents des rubriques d'aide sont corrects et utilisables.
7. Test de sécurité
- Test qui confirme que le programme peut accéder au personnel autorisé et que le personnel autorisé peut accéder aux fonctions disponibles à leur niveau de sécurité.
- Ces tests permettent de s'assurer que le système n'autorise pas l'accès non autorisé aux données et aux ressources.
- Les tests de sécurité ont pour but de déterminer dans quelle mesure un système protège contre les accès internes ou externes non autorisés ou les dommages intentionnels.
- Il y a le domaine suivant où nous pouvons généralement vérifier la sécurité:
- Authentification
- Autorisation
- La validation des données
- Sécurité des transports
- Protection des données
- Gestion de session
8. Tests d'utilisabilité
Pour vous assurer que le système est facile à utiliser, apprenez et utilisez
9. Test des exigences
Chaque système est une exigence testée.
- Observations directes des personnes utilisant le système.
- Des enquêtes sur l'utilisabilité ont été réalisées dans le cadre de ces tests.
- Tests utilisateur sous ce test. Est également appelé test bêta.
- Ces tests testent le système sur la façon dont l'utilisateur réel travaillera dans l'environnement.
- Les tests d'utilisabilité sont principalement utilisés pour la conception de l'application.
- Dans un test d'utilisabilité, les utilisateurs réels essaient d'obtenir des objectifs et des tâches typiques avec un produit dans des conditions contrôlées.
Ce système est utilisé pour déterminer:
- Comme il est simple de comprendre l'utilisation des applications.
- Comme il est facile d'exécuter un processus de demande.
10. Test de charge
Ces tests déterminent le comportement de l'application lorsque plusieurs utilisateurs y accèdent simultanément sur plusieurs sites.
- Ces tests sont effectués pour déterminer si les performances du système sont acceptables à un niveau de charge prédéterminé.
- Les tests de charge évaluent les performances du système avec les niveaux de charge prédéfinis.
- Il vérifie les conditions normales et prédéfinies de l'application.
11. Stress Testing
Ces tests vérifient généralement que le système va continuer à fonctionner lorsqu'il est soumis au grand volume de données que prévu.
- Les tests de résistance peuvent contenir des transactions d'entrée, des tables internes, des canaux de communication, de l'espace disque, etc.
- Les tests de résistance vérifient que le système doit fonctionner comme il le ferait dans un environnement de production.
- Il vérifie le système dans des conditions extrêmes.
- Les tests de résistance sont également appelés tests d'endurance.
12. Test de configuration
- Les tests de configuration vérifient cela avec les multiples combinaisons d'application avec le matériel.
- Ce test recherche un problème de compatibilité.
- Déterminez la configuration minimale et optimale H / W et S / W.
- Ces tests déterminent les effets de l'ajout ou de la modification de ressources comme la mémoire, l'espace disque, le processeur, la carte réseau.
13. Test de compatibilité
- Test de compatibilité utilisé pour vérifier si votre application est capable de fonctionner sur différents H / W, OS, applications, environnements réseau ou appareils mobiles, etc.
- Similaire aux tests multi-plateformes.
- Le test de capacité est plus utile dans les applications Web où nous pouvons vérifier que l'application doit être accessible à partir de chaque navigateur.
Domaine clé
- Pendant les tests du système, le système est testé dans l'environnement de production. Avant la livraison du produit, le système doit être testé dans un environnement de production.
- L'environnement de développement et de production peut être différent selon l'entreprise.
- Il devrait principalement obtenir une erreur liée à la configuration.
Concept de test du système
Les tests du système entrent dans le cadre des tests de la Black-Box. En outre, il existe des tests tels que la sécurité, la fiabilité, les performances, l'installation, les tests fonctionnels, etc.
Nous avons également des tests en boîte blanche. Cela aussi, connu sous le nom de tests en boîte claire. Le test en boîte blanche signifie le test où la structure interne de l'application de test est connue du testeur. Mais dans cet article, nous nous concentrons sur les tests de boîte noire.
Qu'est-ce que le test Black-Box?
- Ces tests sont également appelés tests comportementaux.
- Les tests de la boîte noire se concentrent principalement sur les entrées et les sorties car le code interne est caché au testeur
Les tests système ont également des tests spécialisés comme suit:
1. Test de régression
Ce test dépend du temps. Le facteur n'est pas toujours suffisant pour ce test. Ce test se fait de deux manières:
- Test manuel :
Des tests manuels peuvent être effectués pour les petits systèmes. Le projet où les coûts sont en cause. Le test automatisé n'est pas pratique.
Les développeurs ou l'équipe d'assurance qualité testent manuellement chaque chemin du code logiciel. Et puis la comparaison a eu lieu.
Ces tests prennent beaucoup de temps et nécessitent beaucoup de ressources pour y travailler.
Ce test n'est pas efficace, donc le test d'automatisation entre en scène
- Test automatisé:
Ce test est très bon. Beaucoup d'entreprises tentent d'obtenir des outils de test automatisés.
Si nous avons beaucoup de changements de version pour une application, c'est très utile. Une classe de ces outils est appelée outils de lecture capturés.
2. Test de gestion des erreurs
- Déterminer la capacité du système à traiter correctement les transactions erronées.
- Toute erreur raisonnable est censée être détectée par le système d'application.
- Le contrôle de l'erreur lors de la correction d'erreur est indispensable.
- Les procédures garantissent principalement que les erreurs sont corrigées correctement.
- Ces tests devraient avoir lieu tout au long de SDLC.
- Les erreurs englobent toutes les conditions inattendues.
- Il vérifie la capacité du logiciel à exécuter correctement toutes les transactions.
- Par exemple: il suffit de mettre des valeurs erronées dans l'application pour vérifier si le système est suffisamment capable de trouver ces problèmes. Ce processus peut être itératif.
3. Tests inter-systèmes
- Ce test est effectué lorsqu'une application est placée dans une zone distribuée. Et toutes les intégrations placées se produisent. Ce test est principalement effectué pour vérifier le flux de données du système principal hébergé vers d'autres systèmes.
- En bref, nous pouvons dire que "Le test d'une interface entre deux ou plusieurs systèmes d'application."
- Cela décide:
- La documentation du système est complète et précise.
- Les paramètres et les données sont correctement transmis entre les deux applications.
- Il existe des morceaux d'ensembles de tests que la transaction d'un système à l'autre système et vice versa s'exécute correctement. des vérifications croisées se sont produites et si une erreur se produit, elle est corrigée à ce moment-là.
- Ces tests garantissent le flux de données entre les applications.
- Ce test est fastidieux si l'automatisation n'est pas effectuée.
- Le coût est plus élevé si les itérations sont plus importantes.
4. Test de santé mentale
- Les tests d'intégrité consistent à vérifier le comportement du système. Ce test est également appelé test de régression étroite.
- Les tests d'intégrité sont utiles pour la validation initiale de l'environnement et les futurs incréments interactifs.
- Les tests de santé mentale sont ciblés.
- Ce test est également considéré comme un sous-ensemble de tests de régression.
- Ex des tests Sanity est, nous pouvons dire que nous avons besoin de la disponibilité du système. Comment le système de temps doit-il prendre pour se lever?
- Tests d'intégrité initialement conçus pour tester les modules de base.
- Les tests d'intégrité peuvent vérifier la connectivité avec les serveurs d'applications et avec les périphériques.
5. Test de fumée
- En règle générale, le test de fumée est également appelé «test de vérification de la construction».
- Ce terme vient des tests de matériel. Dans les tests de matériel, l'appareil a réussi le test, s'il n'a pas pris feu ou a fumé la première fois qu'il a été allumé.
- Le test de fumée vérifie que la testabilité du logiciel est appelée test de fumée.
- Le test de fumée décide si le test est suffisant pour l'application. Est-il stable?
- Les tests de détection de fumée aident à déterminer où s'arrêter.
- Les tests de fumée peuvent être effectués manuellement ou par des outils automatisés.
- Les scénarios de test de fumée mettent l'accent sur la largeur plutôt que sur la profondeur.
- Le test de fumée est également appelé test de vérification / test de liaison / test fonctionnel de base.
- Il s'agit d'une approche «superficielle et large» de l'application.
- Les tests de détection de fumée aident à exposer les problèmes tôt.
- Le test de fumée aide également à trouver des tests d'intégration.
- Lors des tests de détection de fumée, tous les composants doivent être touchés et chaque caractéristique principale doit être testée brièvement.
- Si un test échoue, la version est renvoyée aux développeurs non testés.
- Le test de fumée est généralement utilisé dans les tests système, les tests d'acceptation et les tests d'intégration.
6. Tests parallèles
- Le test parallèle signifie tester simultanément plusieurs applications ou sous-systèmes.
- On peut dire qu'une comparaison entre deux systèmes différents.
- Les tests parallèles consistent à déterminer - La nouvelle version d'une application ou les nouveaux systèmes fonctionnent correctement avec la référence au système existant qui fonctionne correctement.
- Les tests parallèles peuvent être utilisés lors de l'acceptation d'un nouveau système.
- Lors des tests parallèles, les mêmes données sont utilisées sur le système.
- En parallèle, un nouveau système est utilisé avec un système existant pendant un certain temps.
- Par recoupement des o / p et comparaison avec les o / p du système existant. Des tests parallèles sont effectués pour s'assurer que le nouveau système fonctionne jusqu'à la marque comme le faisait le système précédent.
Conclusion
Chaque processus de développement logiciel comporte une partie test. Si le logiciel possède tous les tests et satisfait à toutes les conditions, il est prêt à être remis au client. Les tests sont une partie cruciale et doivent être effectués très sérieusement.
Articles recommandés
Cela a été un guide pour les tests du système. Ici, nous avons discuté de l'introduction, des différents types de tests du système et de son domaine d'intervention clé. vous pouvez également consulter les articles suivants pour en savoir plus -
- Carrières dans les tests de logiciels
- Questions d'entretiens chez Penetration Testing
- Qu'est-ce que les réseaux de neurones?
- Cycle de vie des défauts dans les tests de logiciels
- Différents outils pour tester les performances