state transition testing technique
Saznajte što je ispitivanje prijelaza države i kako koristiti dijagram prijelaza države:
U našem posljednjem članku vidjeli smo Graf uzroka i posljedica ’Tehnika pisanja test slučajeva. Danas prijeđimo na sljedeću dinamičku metodu pisanja testnih slučajeva - State Transition tehniku.
Ovaj dokument istražuje širenje ovog koncepta ispitivanja na veće aplikacije, koje nisu cjelovite FSM-ove, ali neke od njihovih komponenti jesu, kako bi usvojile njegovu jedinstvenu značajku 'biti statusom države' i prijelaznim pravilima, što rezultira mnogim prednostima.
Ispitivanje tranzicije države
Testiranje državne tranzicije je a Tehnika ispitivanja crne kutije , koji se može primijeniti za ispitivanje „Strojeva s konačnim stanjima“.
'Stroj s konačnim stanjima (FSM)' sustav je koji će biti u različitim diskretnim stanjima (poput 'spreman', 'nije spreman', 'otvoren', 'zatvoren', ...), ovisno o ulazima ili podražajima.
Diskretna stanja s kojima sustav završava ovisi o pravilima prijelaza sustava. Odnosno, ako sustav daje različit izlaz za isti ulaz, ovisno o svom ranijem stanju, onda je to sustav konačnih stanja.
Nadalje, ako se svaka transakcija testira u sustavu, to se naziva pokrivenost '0 prekidača'. Ako testiranje pokriva 2 para valjanih transakcija, to je pokrivenost „1 prekidač“, i tako dalje.
Što ćete naučiti:
Što je državna tranzicijska tehnika ispitivanja?
Tehnika prijelaza stanja dinamička je tehnika ispitivanja koja se koristi kada je sustav definiran u smislu konačnog broja stanja, a prijelazi između stanja uređeni su pravilima sustava.
Ili drugim riječima, ova se tehnika koristi kada su obilježja sustava predstavljena kao stanja koja se transformiraju jedno u drugo. Transformacije se određuju pravilima softvera. Slikovni prikaz može se prikazati kao:
Dakle, ovdje vidimo taj entitet prijelazi iz države 1 u državu 2 zbog nekih ulazni stanje, što dovodi do događaj i rezultira u akcijski i na kraju daje izlaz .
Da to objasnimo na primjeru:
Posjetite bankomat i podignete 1000 USD. Dobivate svoj novac. Sada vam ponestaje ravnoteže i podnosite potpuno isti zahtjev za povlačenje 1000 dolara. Ovaj put ATM odbija dati vam novac zbog nedovoljnog stanja. Dakle, ovdje tranzicija , što je uzrokovalo promjena stanja je ranije povlačenje
Definicija ispitivanja tranzicije države
Shvativši što je tranzicija države, sada možemo doći do značajnije definicije ispitivanja tranzicije države. Dakle, riječ je o svojevrsnom testiranju crne kutije u kojem ispitivač mora ispitati ponašanje AUT-a (Application Under Test) prema različitim ulaznim uvjetima danim u slijedu.
Ponašanje sustava bilježi se i za pozitivne i za negativne vrijednosti ispitivanja.
Kada koristiti ispitivanje tranzicije države?
Ispitivanje državne tranzicije može se primijeniti u sljedećim situacijama:
sql pitanja i odgovori za iskusne
- Kada je aplikacija koja se testira sustav u stvarnom vremenu s obuhvaćenim različitim stanjima i prijelazima.
- Kada aplikacija ovisi o događaju / vrijednostima / uvjetima iz prošlosti.
- Kada treba ispitati slijed događaja.
- Kada aplikaciju treba testirati na konačnom skupu ulaznih vrijednosti.
Kada ne koristiti ispitivanje tranzicije države?
Ne biste se trebali oslanjati na testiranje državne tranzicije u sljedećim situacijama:
- Kada testiranje nije potrebno za sekvencijalne kombinacije unosa.
- Kada se trebaju testirati različite funkcionalnosti aplikacije (više poput istraživačkog testiranja).
Primjer ispitivanja prijelaza države u ispitivanju softvera
U praktičnom scenariju ispitivači obično dobivaju dijagrame tranzicije stanja i mi ih moramo tumačiti.
Te dijagrame daju ili poslovni analitičari ili dionici, a mi ih koristimo za određivanje testnih slučajeva.
Razmotrimo donju situaciju:
Naziv softvera - Manage_display_changes
Specifikacije - Softver odgovara na zahtjeve za unos za promjenu načina prikaza za uređaj za prikaz vremena.
Način prikaza može se postaviti na jednu od četiri vrijednosti:
- Dvije odgovaraju prikazivanju vremena ili datuma.
- Ostala dva pri promjeni vremena ili datuma.
Različita su stanja sljedeća:
- Promjena načina rada (CM): Aktivacija ovoga rezultirat će pomicanjem načina prikaza između 'vremena prikaza (T)' i 'datuma prikaza (D)'.
- Poništi (R): Ako je način prikaza postavljen na T ili D, tada će 'resetiranje' rezultirati načinom prikaza 'mijenja vrijeme (AT)' ili 'mijenja datum (AD)'.
- Postavljanje vremena (TS): Aktivacija će dovesti do toga da se način prikaza iz AT vrati u T.
- Postavljanje datuma (DS): Aktivacija će uzrokovati povratak načina prikaza na D iz AD.
Dijagram prijelaza države
Idemo sada to protumačiti:
Ovdje:
# 1) Razne države su:
- Vrijeme prikaza (S1),
- Vrijeme promjene (S3),
- Prikaz datuma (S2) i
- Datum promjene (S4).
# 2) Razni ulazi su:
- Promjena načina rada (CM),
- Resetiraj (R),
- Postavljanje vremena (TS),
- Postavljanje datuma (DS).
# 3) Razni izlazi su:
- Izmijenjeno vrijeme (AT),
- Vrijeme prikaza (T),
- Datum prikaza (D),
- Promijeni datum (AD).
# 4) Promijenjene države su:
- Vrijeme prikaza (S1),
- Vrijeme promjene (S3),
- Prikaz datuma (S2) i
- Datum promjene (S4).
Korak 1: Napišite sva početna stanja. Za to uzmite jednu po jednu državu i pogledajte koliko strelica iz nje izlazi.
- Za državu S1 iz nje izlaze dvije strelice. Jedna strelica će navoditi S3, a druga strelica S2.
- Za državu S2 - postoje 2 strelice. Jedan ide u državu S1, a drugi u S4
- Za državu S3 - iz nje izlazi samo 1 strelica koja ide u stanje S1
- Za državu S4 - iz nje izlazi samo 1 strelica koja ide u stanje S2
Stavimo ovo na naš stol:
Budući da za države S1 i S2 izlaze dvije strelice, to smo napisali dva puta.
Korak 2: Za svaku državu zapišite njihova konačna prijelazna stanja.
- Za stanje S1 - Konačna stanja su S2 i S3
- Za državu S2 - konačna stanja su S1 i S4
- Za državu S3 - konačno stanje je S1
- Za državu S4 - konačno stanje je S2
Stavite ovo na stol kao izlazno / rezultantno stanje.
Korak 3: Za svako početno stanje i njegovo odgovarajuće završno stanje zapišite ulazne i izlazne uvjete
- Da bi stanje S1 prešlo u stanje S2, ulaz je Promjena načina (CM), a izlaz je Prikaz datuma (D) prikazan dolje:
Na sličan način zapišite uvjete unosa i njegov izlaz za sva stanja kako slijedi:
Korak 4:
Sada dodajte ID testnog uzorka za svaki test prikazan u nastavku:
Sada ga pretvorimo u formalne test slučajeve:
Na taj se način mogu izvesti svi preostali testovi. Pretpostavljam drugo atributi test slučajeva poput preduvjeta, ozbiljnost, prioritet, okruženje, gradnja itd. također su uključeni u test slučaj.
Još jednom sažimanje koraka:
- Prepoznajte početna stanja i njihovo konačno stanje na temelju linija / strelica koje izlaze iz početnog stanja.
- Za svako početno stanje saznajte ulazni uvjet i izlazni rezultat
- Označite svaki set kao zaseban testni slučaj.
Još primjera državne tranzicijske tehnike
Evo još jednog primjera tehnike ispitivanja državne tranzicije u većim softverskim aplikacijama.
kôd za razvrstavanje mjehurića c ++
Opis:
' Državno funkcionalno ispitivanje ’ Pristup se može koristiti za testiranje određenih dijelova ili komponenata aplikacije, s karakteristikama stroja s konačnim stanjima (FSM).
Koraci u provedbi:
# 1) Prvi korak u provedbi „Državnog funkcionalnog testiranja“ jest identificiranje različitih komponenata / dijelova aplikacije koji se mogu kategorizirati kao FSM-ovi. Ulazi, stanja i izlazi pažljivo se prate za svaki od ovih FSM-a.
#dva) Sljedeći bi korak bio razviti test slučajeve za ove FSM-ove na temelju prijelaznih pravila, ulaza, izlaza i prijelaznih stanja.
# 3) Treći korak bio bi integriranje testiranja ovih komponenata s ostalim komponentama za povezivanje radi provjere valjanosti aplikacije od kraja do kraja.
To se može objasniti primjerom aplikacije nazvane „Projekt kuće“, koja prati izgradnju kuće, s raznim komponentama aplikacije kao što su odobrenje arhitekture kuće, registracija parcele i kuće, odabir izvođača radova , odobravanje stambenog kredita itd.
Na primjer,
Razmotrit ćemo testiranje jedne komponente FSM-a u aplikaciji „Projekt kuća“: Odobrenje stambenog zajma.
Zahtjev za odobrenje stambenog zajma (HLA)
Zahtjev za HLA vodit će neovisni korisnik obrade zajma koji obrađuje zahtjev za zajam. U nastavku su detaljno opisani različiti koraci u obradi zahtjeva:
1.1.1 Korak 1: Zbirka dokumenata
Prvi korak je prikupljanje relevantnih dokumenata za podnošenje zahtjeva za kredit kako je spomenuto u donjoj tablici. Oni su ‘uvjeti’ za uspješnu prijavu. Podnositelj zahtjeva prikuplja potrebne dokumente i primjenjuje ih na stambeni zajam.
Korisnik obrade zajma potvrđuje primanje dokumenata i prebacuje stanje Zahtjeva za zajam (odnosno stanje komponente HLA prijave) u stanje „Primijenjeno“.
Tablica 1: Popis dokumenata
1.1.2 Korak 2: Procjena zajma
U ovoj fazi, zajmodavac procjenjuje zahtjev za zajam kako bi utvrdio ispunjava li njegove kreditne uvjete. Potporni dokumenti su trenutno ovjereni.
Tablica 2: Kritičnost dokumenata
Provjeravaju se dokumenti potrebni za ocjenu, odnosno „uvjeti“ koji se trebaju potvrditi u ovoj fazi. Svako stanje ima kritičnost (spomenuto kao 'Y' u gornjoj tablici). Jednom kada su zadovoljeni svi potrebni kritični uvjeti, aplikacija se premješta u stanje 'Potvrđeno' - to jest, komponenta aplikacije HLA nalazi se u stanju 'Potvrđeno'.
Bilješka:
# 1) Ovo načelo unosi strukturu i objektivnost u uvjete ispitivanja i definicije sustava .
Također, nisu svi 'uvjeti' za provjeru valjanosti sustava kritični da bi dostigao ovo 'Potvrđeno' stanje. U gornjoj tablici 4 uvjeta označena su kao 'Nekritična' da bi aplikacija dosegla stanje 'Potvrđeno'.
#dva) Broj provjera valjanosti može se optimalno smanjiti, ovisno o riziku ili kritičnosti pravila potrebnih za svaku državu. To će značajno smanjiti vrijeme potrebno za izvođenje testa, a istovremeno neće ugroziti kvalitetu ispitivanja.
# 3) To nije korisno samo za testiranje pojedinih komponenata, već i za testiranje sustava od kraja do kraja.
# 4) Također, vrlo korisno prilikom stvaranja apartmana za regresijski test.
Dakle, u ovoj fazi to je tip testiranja s 0 prekidača. No, kasnije faze odobrenja mogu biti vrste provjere s jednim ili dva prekidača za tu fazu.
Na primjer, 'Izvod iz matične knjige vjenčanih' možda nije previše relevantan u ovoj fazi, ali u kasnijim fazama odobrenja kad se razmatra rizik podnositelja zahtjeva da plati EMI, vjenčani list može postati relevantan - to jest, ako je i supružnik zaposlen , smanjuje rizik, a ako nije zaposlen, povećava rizik.
# 5) Gornji princip može se koristiti za proširivanje uvjeta ispitivanja, ovisno o zahtjevu komponente u toj fazi.
1.1.3 Korak 3: Uvjetno odobrenje
Trenutno stanje aplikacije je 'Potvrđeno'. Zajmodavac će dati 'uvjetno odobrenje' za pomicanje postupka zajma. Potrebne su daljnje validacije za premještanje HLA aplikacije u stanje 'Odobreno'.
1.1.4 Korak 4: Odobrenje
U ovoj se fazi provode kritičke provjere valjanosti:
- Procjena hipotekarnog osiguranja zajmodavaca (LMI): to bi uključivalo dvije provjere ili više provjera izvornosti nekretnine.
- Zajmodavac može zahtijevati podatke koji nisu dani tijekom faze 'Potvrde'.
Nakon što se zadovolje gore navedeni uvjeti, aplikacija prelazi u stanje 'Odobreno'. Konačno tijelo postupka odobravanja može unakrsno provjeriti vjerodostojnost podnositelja zahtjeva za zajam tražeći više detalja ili ne mora tražiti jesu li drugi dokumenti podnositelja zahtjeva konačni. Odnosno, za dokazivanje valjanosti bilo bi potrebno više podataka iz različitih komponenata glavne aplikacije .
# 6) Drugim riječima, može se zatražiti (ili smanjiti) više provjera valjanosti za prijelaz u drugo stanje, ovisno o ulaznim uvjetima komponente iz drugih komponenata aplikacije.
Dijagram u nastavku prikazuje postupak odobrenja.
Slika 1: Postupak odobravanja zajma
Rizici i izazovi
- Za velike je programe neophodno duboko poznavanje aplikacija za razbijanje aplikacije u različite logičke komponente kako bi se omogućila kategorizacija kao FSM-ovi i redovite komponente. To bi moglo zahtijevati skupo vrijeme od MSP-a.
- Ne bi sve aplikacije imale izvedivost ove vrste kategorizacije FSM-a.
- Budući da FSM komponente komuniciraju s uobičajenim komponentama u aplikaciji, ulazi u FSM iz različitih komponenata zahtijevaju pažljivo planiranje i izvršavanje.
Prednosti ispitivanja tranzicije države
- U okviru ove tehnike, pomoću slikovnog ili tabelarnog prikaza ponašanja sustava, ispitivač se upoznaje s dizajnom aplikacije i osjeća se lako učinkovito i učinkovito pokriti i dizajnirati testove.
- Neplanirana ili nevaljana stanja sustava također se pokrivaju korištenjem ove tehnike.
- Pomoću dijagrama prijelaza države lako je provjeriti jesu li ispunjeni svi uvjeti.
Mane ispitivanja tranzicije države
- Ova se tehnika ne može koristiti za sustave s neograničenim stanjima.
- Definiranje svih mogućih stanja za velike i složene sustave prilično je težak zadatak.
Zaključak
Testiranje prijelaza države koristan je pristup kada se za testiranje različitih prijelaza sustava moraju koristiti sustavi s konačnim stanjima.
Testiranje aplikacije s konceptom „Državno funkcionalno testiranje“ može organizacijama za testiranje pružiti jedinstveni pristup testiranju za testiranje složenih aplikacija, koji bi povećao produktivnost izvršenja testa bez ugrožavanja pokrivenosti testova.
Testiranje državnog prijelaza jedinstveni je testni pristup za testiranje složenih aplikacija, koji bi povećao produktivnost izvršenja testa bez ugrožavanja pokrivenosti testa.
Ograničenje ove tehnike je da se ne može koristiti dok i ako sustav koji se testira nema samo konačna stanja.
Preporučena literatura
- Što je tehnika ispitivanja na temelju nedostataka?
- Što je tehnika ispitivanja ortogonalnih nizova (OATS)?
- Funkcionalno ispitivanje vs nefunkcionalno testiranje
- Što je usporedno testiranje (naučite na primjerima)
- Što je ispitivanje mutacija: Vodič s primjerima
- Što je ispitivanje izdržljivosti u testiranju softvera (primjeri)
- Što je ispitivanje od kraja do kraja: Okvir za testiranje E2E s primjerima
- Najbolji alati za testiranje softvera 2021. (Alati za automatizaciju ispitivanja kvalitete)