Lata systematiska enhetstestning

Lazy Systematic Unit Testing är en testmetod för mjukvaruenhet baserad på de två begreppen lata specifikationer , förmågan att sluta sig till en enhets utvecklande specifikation i farten genom dynamisk analys, och systematisk testning , förmågan att utforska och testa enhetens ange rymden uttömmande till avgränsade djup. En testverktygssats JWalk finns för att stödja lata systematiska enhetstester i programmeringsspråket Java .

Lata specifikation

Lata specifikationer hänvisar till ett flexibelt förhållningssätt till programvaruspecifikation , där en specifikation utvecklas snabbt parallellt med ofta modifierad kod. Specifikationen härleds av en halvautomatisk analys av en prototypprogramvaruenhet. Detta kan innefatta statisk analys (av enhetens gränssnitt) och dynamisk analys (av enhetens beteende). Den dynamiska analysen kompletteras vanligtvis med begränsad interaktion med programmeraren.

Termen Lazy specification myntades i analogi med lazy utvärdering i funktionell programmering . Den senare beskriver den försenade utvärderingen av deluttryck, som endast utvärderas på begäran. Analogin är med den sena stabiliseringen av specifikationen, som utvecklas parallellt med den ändrade koden, tills denna bedöms vara stabil.

Systematisk testning

Systematisk testning hänvisar till ett komplett överensstämmelsetestande tillvägagångssätt för mjukvarutestning , där den testade enheten visas uttömmande överensstämma med en specifikation, upp till testantagandena. Detta står i kontrast till utforskande, ofullständiga eller slumpmässiga former av testning. Målet är att ge repeterbara garantier för korrekthet efter att testningen är klar.

Exempel på systematiska testmetoder inkluderar Stream X-Machine- testmetoden och ekvivalenspartitionstestning med full gränsvärdesanalys .