Opgave med blackbox, whitebox, gyldighedsområde, ækvivalensklasser, grænseværdier m.m.

Opgave 1

Delopgave 1.1 - planlæg blackbox test

Der skal laves en klasse Flyrejse med en metode Pris, som kan udregne de nødvendige parametre (jvf. beskrivelse senere) kan udregne og returnere en pris for en enkelt billet.

Udgangsprisen for rejsen er 450 dkr

Der gives følgende 2 rabatter, der ikke er afhængige af hinanden.

    1) ved flere samtidige deltagere:
        - 3% ved 2 til 3 samtidige deltagere
        - 4% ved 3 til 4 samtidige deltagere
        - 5% ved mere end 5 samtidige deltagere

    2) ved samtidig bestilling af anden rejse gives 5%  (gælder fx. også returbillet)

Ved ønske om ekstra bagage betales 50 dkr ekstra.

Beskriv interfacet til metoden, der kan beregne prisen, idet du hermed får beskrevet input til metoden.

Du skal nu forberede en datadrevet blackbox-test:
- opstil gyldighedsområde
- find ækvivalensklasser
- giv eksempler på grænseværdier.

Delopgave 1.2 - programmer unit-test (driver)  ud fra blackbox planlægning (og klasse som stub så test kan compileres uden fejl - samt afprøves)

Du skal herefter programmer klassen uden at programmere selve metoden (returnere bare fx. 0).
Udarbejde herefter en unittest, med datainput fra en database og indlæg det planlagte testdata i databasen.

Delopgave 1.3 - programmer beregningsmetode

Herefter programmeres selve udregningsmetoden, idet der unittesten anvendes til kontrol (evt. også undervejs i udviklingsforløbet).

Delopgave 1.4 - whitebox test

Du skal nu planlægge en whitebox test - og kontrollere at du med din blackbox test har opnået 100% på de 4 "TER" værdier. Hvor det ikke måtte være tilfældet skal det beskrives, hvad der ikke er dækket ind og hvilke ekstra test, der skal til for at dække 100%

Delopgave 1.5 - whitebox - metrics (optional)

Du skal nu beregne McGabes Cyclomatic Compleksity (jvf. side 204 i bogen) og Halsteads tallet for prisberegningsmetoden.

 

Opgave 2

Opgave 1 udvides med følgende:

Flyselskabet har rejser med afstande fra 150 km til 1900 km incl.

Til prisen tillægges 0,5 dkr pr. km, dog max 700 dkr.

Delopgave 2.1-2.5  gennemfør delopgaverne fra opgave 1 med de nye tilføjede specifikationer.

 

Opgave 3

Prøv at beskrive konsekvenserne for ovenstående test-beregninger, hvis udgangsprisen ikke var fast på 450 dkr, men var en objektvariabel på  Flyrejse objektet.