Hvad er domænetestning?
Domain Testing er en softwaretestningsproces, hvor applikationen testes ved at give et minimum antal input og evaluere dets passende output. Det primære mål med domænetest er at kontrollere, om softwareapplikationen accepterer input inden for det acceptable interval og leverer den krævede output.
Det er en funktionstestteknik, hvor output af et system testes med et minimalt antal indgange for at sikre, at systemet ikke accepterer ugyldige og uden for rækkevidde inputværdier. Det er en af de vigtigste testmetoder i hvid boks. Det verificerer også, at systemet ikke skal acceptere input, betingelser og indeks uden for det specificerede eller gyldige interval.
Domænetest er forskelligt for hvert specifikt domæne, så du skal have domænespecifik viden for at kunne teste et softwaresystem.
I denne vejledning lærer du-
- Enklere praksis med domænetest
- Strategi til domænetestning
- Eksempel på domænetest
- Struktur for domænetestning
Enklere praksis med domænetest
I domænetest opdeler vi et domæne i underdomæner (ækvivalensklasser) og tester derefter ved hjælp af værdier fra hvert underdomæne. For eksempel, hvis der er givet et websted (domæne) til testning, deler vi hjemmesiden i små dele (underdomæne) for at lette testningen.
Domæne kan involvere test af en hvilken som helst inputvariabel eller kombination af inputvariabler.
Praktiserende studerer ofte de enkleste tilfælde af domænetest mindre end to andre navne, "grænsetest" og "ækvivalensklasseanalyse."
Grænsetest - Grænseværdianalyse (BVA) er baseret på test ved grænserne mellem partitioner. Vi tester både de gyldige og ugyldige inputværdier i partitionen / klasserne.
Test af ækvivalensklasse - Ideen bag denne teknik er at opdele (dvs. opdele) et sæt testbetingelser i grupper eller sæt, der kan betragtes som de samme (dvs. systemet skal håndtere dem ækvivalent), derfor 'ækvivalenspartitionering'.
Den forenklede form gælder for domænetest -
- Kun til test af inputvariabler
- Kun når testet på systemniveau
- Kun når testet en ad gangen
- Kun når testet på en meget overfladisk måde
Det kan forenkles som nedenfor:
Variabel | Gyldig klasseækvivalensklasse | Ugyldig klasseækvivalensklasse | Grænser og særlige tilfælde | Bemærkninger |
---|---|---|---|---|
x | 0-100 | 0 | ||
100 | ||||
<0 | -1 | |||
> 100 | 101 |
Forklaring:
- Hvis et felt accepterer intervaller fra 0-100, bør feltet ikke acceptere -1 og 101, da de er ugyldige poster og uden for grænserne.
- Feltet skal acceptere værdier såsom 0,100 og et hvilket som helst tal imellem dem.
Bygge bord som disse (i praksis)
- For at opbygge en ækvivalensklasseanalyse over tid skal du placere oplysningerne i et regneark. Start med at angive variabler. Tilføj oplysninger om dem, når du får det.
- Tabellen skal til sidst indeholde alle variabler. Dette betyder alle inputvariabler, alle outputvariabler og alle mellemliggende variabler, som du kan observere.
- I praksis er de fleste tabeller, som jeg har set, ufuldstændige. De bedste set viser alle variabler og tilføjer detaljer for kritiske variabler.
Strategi til domænetestning
Under domænetestning skal du overveje at følge ting,
- Hvilket domæne tester vi?
- Hvordan grupperer man værdierne i klasser?
- Hvilke værdier for de klasser, der skal testes?
- Hvordan bestemmes resultatet?
Hvilket domæne tester vi?
Ethvert domæne, som vi tester, har en vis inputfunktionalitet og en outputfunktionalitet. Der vil være nogle inputvariabler, der skal indtastes, og det relevante output skal verificeres.
Eksempel på domænetest
- Overvej et enkelt input testscenarie:
C = a + b, hvor a og b er inputvariabler, og C er outputvariablen.
Her i eksemplet ovenfor er der ikke behov for klassificering eller kombination af variabler er påkrævet.
- Overvej nedenstående flere indgange og passende output-scenarie:
Overvej en spiludstilling for børn, der udlægges 6 konkurrencer, og billetter skal gives i henhold til alder og køn. Billettering er et af de moduler, der skal testes i for hele funktionaliteten af Games-udstillingen.
Ifølge scenariet fik vi seks scenarier baseret på alder og konkurrencer:
- Alder> 5 og <10, dreng skal deltage i historiefortælling.
- Alder> 5 og <10, pige skal deltage i tegnekonkurrence.
- Alder> 10 og <15, dreng skal deltage i quiz.
- Alder> 10 og <15, pige skal deltage i essayskrivning.
- Alder <5, både drenge og piger skal deltage i Rhymes Competition.
- Alder> 15, både drenge og piger skal deltage i poesikonkurrencen.
Her vil input være Alder og køn, og dermed udstedes billetten til konkurrencen. Denne sagspartition af input eller simpelthen gruppering af værdier kommer ind i billedet.
Hvordan grupperer man værdierne i klasser?
At opdele nogle værdier betyder at opdele det i ikke-overlappende undergrupper.
Som vi diskuterede tidligere er der to typer partitionering:
- Ækvivalenspartitionering - Ækvivalenspartitionering er en softwaretestteknik , der deler inddataene fra en softwareenhed i partitioner af ækvivalente data, hvorfra testcases kan udledes. I princippet er testcases designet til at dække hver partition mindst en gang.
- Grænseværdi-analyse - Grænseværdi-analyse er en softwaretestteknik , hvor test er designet til at inkludere repræsentanter for grænseværdier i et interval. Ideen kommer fra grænsen .
I ovenstående eksempel opdeler vi værdierne i en delmængde eller en delmængde. Vi opdeler alderen i nedenstående klasser:
- Klasse 1: Børn med aldersgruppe 5 til 10
- Klasse 2: Børn med en aldersgruppe under 5 år
- Klasse 3: Børn i alderen 10 til 15 år
- Klasse 4: Børn med en aldersgruppe over 15 år.
Hvilke værdier for de klasser, der skal testes?
De værdier, der opsamles til testning, skal være grænseværdier:
- Grænser er repræsentanter for ækvivalensklasser, vi prøver dem fra. De er mere tilbøjelige til at udsætte en fejl end andre klassemedlemmer, så de er bedre repræsentanter.
- Den bedste repræsentant for en ækvivalensklasse er en værdi i intervallet.
For ovenstående eksempel har vi følgende klasser, der skal testes:
For eksempel til scenariet nr. 1:
- Klasse 1: Børn med aldersgruppe 5 til 10 (Alder> 5 og <= 10)
Grænseværdier:
- Værdier skal være lig med eller mindre end 10. Derfor bør alder 10 inkluderes i denne klasse.
- Værdier bør være større end 5. Derfor skal alder 5 ikke medtages i denne klasse.
- Værdier skal være lig med eller mindre end 10. Derfor bør alder 11 ikke medtages i denne klasse.
- Værdier bør være større end 5. Derfor bør alder 6 inkluderes i denne klasse.
Ækvivalenspartition Værdier:
Ækvivalenspartition henvises, når man kun skal teste en tilstand fra hver partition. I dette antager vi, at hvis en betingelse i en partition fungerer, så skal alle betingelserne fungere. På samme måde, hvis en betingelse i denne partition ikke fungerer, antager vi, at ingen af de andre betingelser fungerer. For eksempel,
(Alder> 5 og <= 10)
Da værdierne fra 6 til 10 er gyldige, skal en af værdierne mellem 6,7,8,9 og 10 afhentes. Derfor er den valgte alder "8" en gyldig inputalder for aldersgruppen mellem (Alder> 5 og <= 10). Denne slags partition kaldes ækvivalenspartition.
Scenarie | Grænseværdier, der skal tages | Ækvivalensdelingsværdier |
---|---|---|
Dreng - Alder> 5 og <= 10 | Input-alder = 6 Input-alder = 5 Input-alder = 11 Input-alder = 10 | Inputalder = 8 |
Pige - Alder> 5 og <= 10 | Input-alder = 6 Input-alder = 5 Input-alder = 11 Input-alder = 10 | Inputalder = 8 |
Dreng - Alder> 10 og <= 15 | Input-alder = 11 Input-alder = 10 Input-alder = 15 Input-alder = 16 | Inputalder = 13 |
Pige - Alder> 10 og <= 15 | Input-alder = 11 Input-alder = 10 Input-alder = 15 Input-alder = 16 | Inputalder = 13 |
Alder <= 5 | Input alder = 4 Input alder = 5 | Inputalder = 3 |
Alder> 15 | Input alder = 15 Input alder = 16 | Inputalder = 25 |
Hvordan finder vi ud af, om programmet bestod eller ikke bestod testen?
At overføre funktionaliteten afhænger ikke kun af resultaterne af ovenstående scenarier. Det givne input og det forventede output vil give os resultaterne, og dette kræver domæne viden.
Bestemmelse af resultaterne af eksemplet:
Derfor, hvis alle testtilfælde af ovenstående består, domænet for udstedelse af billetter til konkurrencen bliver bestået. Hvis ikke, mislykkes domænet.
Struktur for domænetestning
Normalt følger testere nedenstående trin i en domænetest. Disse kan tilpasses / springes over i henhold til vores testbehov.
- Identificer de potentielt interessante variabler.
- Identificer de variabler, du kan analysere nu, og bestil dem (mindste til største og omvendt).
- Opret og identificer grænseværdier og ækvivalensklasseværdier som ovenfor.
- Identificer sekundære dimensioner og analyser hver på en klassisk måde. (I ovenstående eksempel er køn den sekundære dimension).
- Identificer og test variabler, der indeholder resultater (outputvariabler).
- Evaluer hvordan programmet bruger værdien af denne variabel.
- Identificer yderligere potentielt relaterede variabler til kombinationstest.
- Forestil dig risici, der ikke nødvendigvis kortlægges til en åbenbar dimension.
- Identificer og opregn uanalyserede variabler. Indsaml information til senere analyse.
- Opsummer din analyse med en risiko / ækvivalens tabel.
Resumé:
Domænetestning, som det er beskrevet ovenfor, kræver viden om at levere det rigtige input for at opnå det ønskede output. Det er således kun muligt at bruge det til små stykker kode.