Grænseværdianalyse

Grænseværdianalyse


Grænseværdianalyse bygger på, at vi designer vores testcases til at teste grænseværdierne mellem ækvivalenspartitionerne.

Grænseværdianalyse eksisterer i to versioner: to værdi eller tre værdi test.

Lad os kigge på de to versioner:

 

To værdi

Givet at vi har en applikation, der kan modtage et kodeord på 6 – 10 karakterer.

Her skal vi nu teste og lige over grænseværdien. Vi tester med 10 karakterer og 11 karakterer (test af grænseværdien 10). Og så tester vi med 6 karakterer og 5 karakterer (test af grænseværdien 6).

 

Tre værdi

Giver at vi har en applikation, der kan modtage et kodeord på 6 – 10 karakterer.

Nu skal vi teste lige under, og lige over grænseværdien.

Testcasene bliver med 5, 6 og 7 karakterer, samt 9, 10 og 11 karakterer.

 

Forøgelsesenhed

Når vi arbejder med grænseværdianalyse, er det vigtigt at vi tager den mindste enhed i betragtning – også kaldet forøgelsesenhed. Hvis vi f.eks. taler om kontanter, så er forøgelsesenheden 25 øre.

 

Eksempel 1:

Netsitet UngeRejser sælger rejser til unge. For at komme ind på siden, skal du være i fra 18 år til og med 25 år.

Invalid
(minimum – 1)
Valid
(min, min + 1, max – 1, max)
Invalid
(maximum + 1)
1718, 19, 24, 2526

Det giver os 6 testcases:

  1. Inputværdi 17 = ingen adgang (invalid)
  2. Inputværdi 18 = adgang givet (valid)
  3. Inputværdi 19 = adgang givet (valid)
  4. Inputværdi 24 = adgang givet (valid)
  5. Inputværdi 25 = adgang givet (valid)
  6. Inputværdi 26 = ingen adgang (invalid)

Ækvivalenspartitionering

Ækvivalenspartitionering


Ækvivalenspartitionering er en test design teknik, der deler inputværdierne op i grupper/partitioner så et enkelt input kan repræsentere hele gruppen/partitionen. Hver inputværdi i partitionen skal udvise samme opførsel som de andre inputværdier i partitionen.

Denne teknik kan vi benytte til at finde klasser af fejl. Dermed kan vi reducere antallet af testcases vi skal danne – samtidig med at vi reducerer tiden vi skal bruge på at teste applikationen.

Vi skal vælge inputværdier fra alle partitioner – både gyldige og ikke gyldige.

 

Eksempel 1:

Vi skal teste en applikation, der tager månedsnummeret (heltal) som input. Den gyldige partition ligger i intervallet 1 – 12. De ugyldige partitioner ligger i to intervaller:  <= 0 og >= 13.

 

Tegnet ser vores partitioner således ud:

aekvivalenspartitionering

Eksemplet giver tre testcases – én for hver partition (huske både ugyldige og gyldige partitioner):

  1. Inputværdi: -3            (repræsenterer partitionen <= 0)
  2. Inputværdi: 6             (repræsenterer partitionen 1 – 12)
  3. Inputværdi: 15           (repræsenterer partitionen >= 13)

 

Eksempel 2:

Vi skal teste en applikation, hvor brugeren skal indtaste sit mobilnummer. Mobilnummeret skal indeholde 8 cifre. Den gyldige partition indeholder 8 cifre, f.eks. 12345678. De to ugyldige partioner er <=7 cifre og >= 9 cifre.

Dette eksempel giver også tre partitioner med tilhørende testcases:

  1. Inputværdi: 123456              (repræsenterer partitionen 7 cifre eller mindre)
  2. Inputværdi: 12345678          (repræsenterer partitionen 8 cifre)
  3. Inputværdi: 1234567890      (repræsenterer partitionen 9 cifre eller flere)

 

Eksempel 3:

Onlineboghandlen “BøgerMedPosten” giver rabat alt efter hvor mange bøger du køber hos dem af gangen. Hvis du køber mere end 2 bøger får du 10% rabat, og hvis du køber mere end 4 bøger får du 20% rabat, og endelig hvis du køber mere end 10 bøger, får du 50% rabat.

Det giver 4 partitioner med 4 tilhørende testcases:

  1. Inputværdi: 1 bog = ingen rabat        (repræsenterer partitionen 1-2 bøger)
  2. Inputværdi: 3 bøger = 10% rabat       (repræsenterer partitionen 3-4 bøger)
  3. Inputværdi: 7 bøger = 20% rabat       (repræsenterer partitionen 5-10 bøger)
  4. Inputværdi: 14 bøger = 50% rabat     (repræsenterer partitionen 10 bøger eller flere)