Vous êtes sur la page 1sur 3

Université d’Alger1

Faculté Des Sciences


Département Mathématiques – Informatique
Module : Test et qualité logiciel 3ème année Licence ISIL - 2019/2020
-----------------------------------------------------------------------------------------------------------------

TD 1 Introduction

Exercice 1 :

Une organisation a récemment acheté un logiciel de facturation. Des tests d'acceptation sont
envisagés avant de l'utiliser. Quelle est la raison principale de ces tests?

A. Pour trouver des défauts dans le logiciel.(c’est la mission des testeurs)

B. Pour s'assurer que le logiciel fonctionne correctement et répond aux besoins.

C. pour donner des explications à leurs clients en cas de problème (non plutôt on signale le
probleme aupres de fournisseur du logiciel).

D. Pour former les utilisateurs .

La relation entre les termes "erreur" et "faute" est la même que celle entre ?

A. "échec" et "bug".

B. "erreur" et "défaut".

C. "échec" et "défaut".

D. "faute" et "bug".

Parmi les activités suivantes, Quelles sont les activités de débogage et celles de test:

I. Analyser les spécifications afin de détecter les défauts.(test)

II. Analyser le code afin de détecter les défauts (débogage).

III. Analyser l'exécution du code afin d'identifier les échecs (test).

IV. Analyser le code afin d'identifier la cause première.(débogage)

//lorsque on parle d’une analyse du code c’est débogage

Considérez le scénario suivant: vous avez testé quelques logiciels et détecté 100 défauts
répartis sur six modules de même taille. Cinquante pour cent de ces défauts sont dans
l'interface utilisateur, le reste est réparti également entre les cinq autres modules. Quel
principe est identifiable ici?

A. Les tests montrent la présence de défauts.


B. Regroupement des défauts.

C Les tests dépendent du contexte.

D. Tester tôt.

Considérez le scénario suivant: vous testez une nouvelle version du logiciel qui a été
maintenu pendant quelques années. Vos tests de régression ne montrent aucun effet
secondaire et vos tests manuels n'ont identifié aucun défaut. Quel principe est identifiable ici?

A. Regroupement des défauts.

B. Paradoxe du pesticide

C. Illusion d’absence d’erreurs

D. Les tests montrent la présence de défauts.

Quelles sont les activités de planification?

A. Évaluer la testabilité des exigences.

B. Spécification des critères de sortie. (les livrables dans gestion de projet)

C. Conversion des conditions de test en cas de test.

D. Définition de la liste des cas de test à exécuter c’est juste aussi

Un composant logiciel de qualité est celui qui :

A. Répond aux besoins de l'utilisateur (Ça englobe le tout spécification fonctionnelles et non
fonctionnelles)

B. Correspond aux spécifications fonctionnelles.

C. se termine dans le cadre du temps estimé.

D. sans budget supplémentaire.

Exercice 2 :

1- Donnez un exemple de cycle : erreur -> défaillance -> échec.


Par exemple, erreur : Qte à vendre>QteS0tock dans un code,
Défaillance : Qte à vendre =5, qte stock =5
Echec : on peut pas vendre dans ce cas

2- Que conclure lorsqu’une campagne de test qui ne détecte aucune défaillance ?


La réponse dépend du contexte dans lequel cette campagne a été exécutée :
s’il s’agit d’une campagne qui vient analyser un incrément important du projet, il faut
remettre en question la pertinence des cas de test : les bugs sont là, les cas de tests
auraient du permettre d’en détecter un grand nombre
s’il s’agit d’une campagne qui est rejouée pour valider une phase de débuggage, il faut
valider cette phase : tous les bugs détectés ont été corrigés.
3- Quelle est la différence entre :
a. Plan de test et cas de test
b. Scenario de test et script de test
Le plan de test : contient la planification d’exécution des cas de test, la date de
début, le testeur qui va les réaliser, par contre cas de test ; c’est les tests qui
correspondent au cas d’utilisation.
Scenario d’un test c’est comment réaliser un cas de test, script de test c’est la
meme chose mais il est plus détaillé (action par action )

Excercice 3 :

Algo 1 :

Public void(int) Factoriel (int n)


{
int f=n;
int fac;
while(f>0) {
fac= fac *f;
f=f-1; }
return f (fac);
}

1- Trouvez tous les erreurs dans ce code


2- Proposez une amélioration.

Public int Factoriel (int n)


int fac=1;

if(n==0){return 1}

while(n>0){

fac= fac *n;

n=n-1;

return fac;

Vous aimerez peut-être aussi