0% ont trouvé ce document utile (0 vote)
5 vues41 pages

Principes Fondamentaux des Tests Logiciels

Transféré par

joseph Ewondjo
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues41 pages

Principes Fondamentaux des Tests Logiciels

Transféré par

joseph Ewondjo
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Machine Translated by Google

INFO304 : Tests de logiciels


Introduction

Dr KIMBI [Link]
Maître de Conférences, Université de Yaoundé I
Machine Translated by Google

Objectifs du cours
Comprendre les principes fondamentaux des tests logiciels

Obtenez une compréhension complète de ce qu'est le


test logiciel, de son importance dans le cycle de vie du
développement logiciel et de son rôle dans la garantie
de la qualité des logiciels.

1
Machine Translated by Google

Aperçu du cours

Introduction

Processus de test de logiciels

Qu'est­ce que le test de logiciels

Pourquoi devrions­nous tester ?

Terminologie de baseEn rapport avec


Tests de logiciels

Résumé

2
Machine Translated by Google

Introduction

3
Machine Translated by Google

L'importance des tests de logiciels

Phase de test

Les tests logiciels sont une partie cruciale du processus de développement logiciel. Il s'agit du
processus d'évaluation d'un système logiciel ou d'une application pour détecter des défauts, des erreurs
ou des bogues et de vérifier qu'il répond correctement aux exigences et aux fonctions prévues.
4
Machine Translated by Google

L'importance des tests de logiciels


Les tests logiciels sont essentiels car ils
garantissent que le logiciel fonctionne comme
prévu, répond aux besoins des utilisateurs et est fiable
et efficace.

Les tests ne sont pas un événement ponctuel, mais plutôt un processus continu qui commence dès les
premières étapes du développement et se poursuit tout au long du cycle de vie du logiciel.

5
Machine Translated by Google

Rappel des concepts importants

6
Machine Translated by Google

Rappel des concepts importants


Exigences fonctionnelles et non fonctionnelles

En informatique, les exigences logicielles sont les descriptions de ce que


le système doit faire et/ou ne pas faire, ainsi que les contraintes sur
son fonctionnement. Il existe deux types

Fonctionnel
Exigences
Non fonctionnel
Exigences

7
Machine Translated by Google

Rappel des concepts importants


Exigences fonctionnelles

Pour concevoir un logiciel, vous devez connaître les


objectifs qu’il doit atteindre.

sont les exigences que l'utilisateur final exige spécifiquement


en tant que fonctionnalités de base que le système devrait
offrir.

Exemples
Authentifiez l'utilisateur lorsqu'il se connecte au système.
Enregistrement de l'utilisateur par e­mail.

8
Machine Translated by Google

Rappel des concepts importants


Attributs de qualité (exigences non fonctionnelles)

sont des exigences qui ne concernent pas spécifiquement la


fonctionnalité d’un système. Ils imposent des restrictions sur le produit
en cours de développement et sur le processus de développement, et
précisent les contraintes externes auxquelles le produit doit répondre.

Les performances concernent la rapidité avec laquelle quelque chose se déroule, généralement en termes de temps de réponse ou de latence.
PERFORMANCE

L'évolutivité concerne essentiellement la capacité de votre logiciel à traiter davantage d'utilisateurs, de requêtes, de données, de messages, etc.
L'évolutivité concerne intrinsèquement la concurrence, et donc la gestion de plus de choses dans le même laps de temps (par exemple, requêtes
ÉVOLUTION
par seconde).

La disponibilité concerne le degré selon lequel votre logiciel est opérationnel et, par exemple, disponible pour les demandes de service.
DISPONIBILITÉ

9
Machine Translated by Google

Rappel des concepts importants


Fonctionnel vs non fonctionnel
Fonctionnel Non fonctionnel

Description de ce que le système doit Description du fonctionnement du


faire système

Définit un système ou son Définit l'attribut de qualité du logiciel.


composant.

Vous aide à vérifier la Vous aide à vérifier les


fonctionnalité du logiciel. performances du logiciel.

Spécifié par l'utilisateur ou le client. Spécifié par le développeur


du logiciel.
dix
Machine Translated by Google

Rappel des concepts importants


Fonctionnel vs non fonctionnel
Fonctionnel Non fonctionnel

Description de ce que le système doit Description du fonctionnement du


faire système

Définit un système ou son Définit l'attribut de qualité du logiciel.


composant.

Vous aide à vérifier la Vous aide à vérifier les


fonctionnalité du logiciel. performances du logiciel.

Spécifié par l'utilisateur ou le client. Spécifié par le développeur


du logiciel.
11
Machine Translated by Google

Document d'analyse

12
Machine Translated by Google

Rappel des concepts importants


Document d'analyse

Un document d'analyse logicielle (SAD) est un


document formel qui fournit une analyse détaillée du
logiciel en cours de développement. il inclut

Exigences fonctionnelles et non fonctionnelles


Interfaces utilisateur et système
Méthodes et technologies utilisées
Cas d'utilisation et scénarios
Procédures d’assurance qualité et de tests

13
Machine Translated by Google

Document de conception

14
Machine Translated by Google

Rappel des concepts importants


Document de conception

Un document de conception logicielle (SDD) est un


document formel qui décrit les détails techniques et
l'architecture d'un produit logiciel en cours
de développement.

Les documents de conception sont similaires à SAD, mais


sont davantage axés sur les détails techniques de la façon dont
le logiciel sera conçu et mis en œuvre.

15
Machine Translated by Google

Débogage

16
Machine Translated by Google

Débogage

17
Machine Translated by Google

Débogage

18
Machine Translated by Google

Débogage

19
Machine Translated by Google

Débogage

3
Machine Translated by Google

Débogage

3
Machine Translated by Google

Processus de test de logiciels

16
Machine Translated by Google

Processus de test de logiciels

Les tests sont différents du débogage. La suppression des erreurs de


vos programmes est connue sous le nom de débogage. Le buttesting vise
à localiser les erreurs encore non découvertes.

Nous testons nos programmes avec des entrées valides et


invalides, puis comparons nos résultats attendus ainsi que les résultats
observés (après exécution du logiciel).

Remarque

Veuillez noter que les tests commencent uniquement à partir de la phase d'analyse
des besoins et se poursuivent jusqu'à la dernière phase de maintenance.

4
Machine Translated by Google

Qu’est­ce que le test logiciel ?

19
Machine Translated by Google

Tests de logiciels
Il existe différentes définitions des tests données ci­dessous :

« Les tests sont le processus d'exercice ou d'évaluation d'un système ou


d'un composant du système par des moyens manuels ou automatisés pour vérifier
qu'il répond aux exigences spécifiées. »
[IEEE 83a]

« Les tests logiciels sont le processus »d'exécution d'un programme ou d'un


système dans le but de détecter les erreurs.
[Myers]

Cela implique toute activité visant à évaluer un attribut ou une capacité


d'un programme ou d'un système et à déterminer qu'il répond aux résultats requis.
[Hetzel]

17
Machine Translated by Google

Tests de logiciels
Les tests ne sont pas :

Le processus consistant à démontrer qu’il n’y a pas d’erreurs.

Processus consistant à montrer qu'un programme exécute correctement


les fonctions prévues.

Processus consistant à établir la certitude qu'un programme fait ce


qu'il est censé faire.

18
Machine Translated by Google

Pourquoi devrions­nous tester ?

3
Machine Translated by Google

Pourquoi devrions­nous tester ?


Des tests sont nécessaires. pourquoi:
Le cas technique :

1 Les développeurs compétents ne sont pas infaillibles.

2 Les implications des exigences ne sont pas toujours prévisibles.

3 Le comportement d'un système n'est pas nécessairement prévisible à partir de ses


composants.

4 Les langages, les bases de données, les interfaces utilisateur et les systèmes d'exploitation

présentent des bogues qui peuvent provoquer des pannes d'applications.

4
Machine Translated by Google

Pourquoi devrions­nous tester ?


Des tests sont nécessaires. pourquoi:

L'analyse de rentabilisation :

1 Si vous ne trouvez pas de bogues, vos clients ou utilisateurs le feront.

2 Le débogage post­version est la forme de développement la plus coûteuse.

3 Les logiciels Buggy nuisent aux opérations, aux ventes et à la réputation.

4
Machine Translated by Google

Pourquoi devrions­nous tester ?


Des tests sont nécessaires. pourquoi:

Le cas professionnel :

1 La conception de cas de test est une tâche difficile et enrichissante.

2 De bons tests permettent d'avoir confiance dans votre travail.

3 Des tests systématiques vous permettent d'être plus efficace.

4 Votre crédibilité est accrue et vous êtes fier de vos efforts

4
Machine Translated by Google

Pourquoi devrions­nous tester ?

Quelques chiffres clés :

Environ 70 % du temps de développement a été consacré à la phase de test,

30 à 50 % du budget total du projet a été consacré uniquement à la phase de


test.

Les tests logiciels représentent environ 40 % de l’effort global.

4
Machine Translated by Google

Pannes logicielles récentes

4
Machine Translated by Google

Pannes logicielles récentes

4
Machine Translated by Google

Terminologie de base liée aux tests de logiciels

3
Machine Translated by Google

Terminologie : Erreur (ou erreur ou bugs) :

Erreur (ou erreur ou bugs) : les gens font des erreurs. Lorsque les
gens font des erreurs lors du codage, nous appelons ces erreurs des
bugs. Les erreurs ont tendance à se propager. Une erreur d’exigence
peut être amplifiée lors de la conception et encore amplifiée lors du codage.
Ainsi, une erreur est une erreur lors du SDLC.

3
Machine Translated by Google

Terminologie : Défaut (ou défaut) :

Faute (ou défaut) : Une instruction manquante ou incorrecte dans un programme résultant d'une
erreur est une faute. Ainsi, une faute est la représentation d’une erreur. La représentation désigne
ici le mode d'expression, tel qu'un texte narratif, des diagrammes de flux de données, des
diagrammes hiérarchiques, etc. Le défaut est un bon synonyme de faute. Les défauts peuvent être
insaisissables. Ils nécessitent des correctifs.

3
Machine Translated by Google

Terminologie

Échec : un échec se produit lorsqu'une erreur s'exécute. Le manifesté

L'incapacité d'un système ou d'un composant à exécuter une fonction requise dans des limites

spécifiées est connue sous le nom de panne. Un échec est mis en évidence par une sortie

incorrecte, une terminaison anormale ou des contraintes de temps et d'espace non

satisfaites. C'est un processus dynamique

3
Machine Translated by Google

Terminologie

Incident : lorsqu'une panne survient, elle peut ou non être facilement apparente
à l'utilisateur. Un incident est le symptôme associé à une panne qui alerte l'utilisateur de
la survenance d'une panne. C'est un

événement inattendu qui nécessite une enquête plus approfondie. Il n’est peut­être
pas nécessaire de le réparer.

3
Machine Translated by Google

Terminologie

Cas de test : Un cas de test a une identité et est associé au comportement du


programme. Un scénario de test comporte également un ensemble d’entrées et une
liste de sorties attendues. L’essence du test logiciel est de déterminer un ensemble
de cas de test pour l’élément à tester. Le modèle de cas de test est présenté ci­
dessous.

3
Machine Translated by Google

SUIVANT : SDLC et STLC

Vous aimerez peut-être aussi