U ovoj lekciji će biti obrađeni elementi planiranog procesa testiranja softvera kroz:

  • Planiranje testa
  • Sadržaj plana
  • Utvrđivanje ciljeva testiranja

 

Planiranje testa

Testiranje komponenti i njihovo integrisanje u sistem nije jednostavno. Pažljivo planiranje testa pomaže da projektujemo i organizujemo proces testiranja tako da budemo sigurni da je ono obavljeno potpuno i na odgovarajući način.

Svaki korak u procesu testiranja mora da se planira. U stvari, proces testiranja ima vlastiti životni ciklus u sklopu razvoja i može da teče paralelno sa drugim aktivnostima. Posebno je važno da se planiraju sledeći koraci u procesu testiranja:

  1. utvrđivanje ciljeva testiranja
  2. sadržaj plana testa
  3. dizajn slučajeva
  4. pisanje slučajeva
  5. testiranje slučajeva
  6. izvršavanje testova
  7. ocenjivanje rezultata testiranja

Cilj testiranja nas upućuje na vrste slučajeva za testiranje koje treba da izgradimo. Dizajn slučajeva je od ključnog značaja za uspeh testiranja. Ako slučajevi nisu reprezentativni i ne izvršavaju u potpunosti funkcije koje dokazuju ispravnost i validnost sistema, ostalo testiranje postaje beskorisno.

Prema tome, test počinje pregledom slučajeva u cilju provere njihove ispravnosti, izvodljivosti, postizanja željenog stepena „pokrivanja" i demonstracije željene funkcionalnosti. Kada se te provere obave, može se preći na samo izvršavanje testova.

Plan testiranja se koristi za organizovanje aktivnosti testiranja. Plan testiranja uzima u obzir ciljeve testa i sadrži raspored diktiran strategijom testa ili rokovima isporuke projekta. Životni ciklus razvoja sistema zahteva nekoliko nivoa testiranja, počevši od jediničnih i integracionih testova, pa sve do dokazivanja pune funkcionalnosti sistema.

Plan testiranja opisuje način na koji ćemo kupcima pokazati da softver ispravno radi (tj. da softver ne sadrži greške i da obavlja zahtevane funkcije). Na taj način, plan testiranja ne sadrži samo jedinično i integraciono testiranje, već i testiranje sistema. Plan testiranja je putokaz za celokupnu aktivnost testiranja. On objašnjava ko će obaviti testiranje, zašto se vrše testovi, kako se testovi vode i kakav im je raspored.

Da bismo napravili plan testiranja, moramo da poznajemo zahteve, specifikacije funkcija i hijerarhiju modula u dizajnu sistema i koda. Kada razvijamo svaki od ovih elemenata sistema, možemo da upotrebimo svoje znanje pri izboru ciljeva testiranja, definisanju strategije testiranja i izradi slučajeva. Na taj način se plan testiranja razvija paralelno sa samim sistemom.

Sadržaj plana

Na početku plana testiranja navode se ciljevi, sa opisom svake vrste testiranja, od jediničnog, preko funkcionalnog i testa prihvatanja, sve do instalacionog testa. Na taj način je plan testiranja sistema u stvari skup planova testiranja, po jedan za svaku vrstu. Plan opisuje kako će se testovi izvršavati i koji kriterijumi će se primeniti za utvrđivanje da li je testiranje potpuno. Nije uvek lako odrediti da je test završen. Biranjem podskupa mogućih podataka svesno povećavamo verovatnoću da izostavimo testiranje na neke vrste grešaka. To balansiranje između potpunosti i realnosti troškova i vremena dovodi do kompromisa u ciljevima.

Kada je tim za testiranje u stanju da utvrdi da li je zadovoljen svaki od ciljeva testiranja, kažemo da su ciljevi dobro definisani. Tada se odlučuje kako će se integrisati komponente u operativni sistem. Na nivou komponente se razmatra stepen pokrivenosti iskaza, grananja i putanja, a na nivou integracije razmatramo strategije odozgo nadole, odozdo nagore i ostale. Dobijeni plan združivanja komponenti se ponekad naziva plan integrisanja sistema.

Za svaku fazu testiranja, plan testiranja detaljno opisuje metode za svaki test. Na primer, za jedinično testiranje mogu da se upotrebe nezvanični letimičan pregled ili zvanične inspekcije, nakon kojih sledi analiza strukture koda, a tek onda analiza same performanse koda. U planu se napominje svaka automatizovana podrška, uključujući uslove potrebne za upotrebu alata. Te informacije služe timu za testiranje prilikom planiranja aktivnosti i raspoređivanja testova.

Uz svaki metod ili tehniku testiranja, daje se detaljan spisak slučajeva. Plan takođe objašnjava kako se generišu podaci za testiranje i evidentiraju izlazni podaci ili informacije o stanjima. Ako se za praćenje testova, podataka i rezultata koristi baza podataka, treba opisati i bazu podataka i njeno korišćenje.

Tako ćemo, čitajući plan testiranja, imati potpunu sliku o tome kako i zašto se testiranje vrši. Ako pišemo plan testiranja paralelno sa dizajnom sistema, primorani smo da shvatimo sveukupne ciljeve sistema. U stvari, ponekad iz perspektive testiranja možemo da dovedemo u pitanje prirodu problema i celishodnost rešenja.

Mnogi kupci definišu sadržaj plana testiranja već u dokumentaciji zahteva. Na primer, kada se gradi sistem, Ministarstvo odbrane SAD daje izvršiocu automatizovanu standardnu dokumentaciju. U standardima stoji da je plan testiranja:

„Sredstvo kojim se usmerava testiranje i sadrži raspored redosleda događaja i spisak materijala potrebnih za obavljanje sveobuhvatnog testa kompleta [automatizovanog sistema podataka]. Delovi dokumenta namenjeni osoblju biće dati jezikom koji nije tehnički, a u delovima dokumenta namenjenim operativnom osoblju biće upotrebljena odgovarajuća terminologija." (Ministarstvo odbrane 1977).

Plan testiranja opisuje sam sistem i plan za izvršavanje svih funkcija i karakteristika. Specifikacija i ocena testova opisuje svaki test i definiše kriterijume za ocenu svakog svojstva koje se testira. Zatim, opis testova predstavlja podatke koji se testiraju i procedure pojedinačnih testova. Konačno, izveštaj o analizi testova opisuje rezultate svih testova. Na slici 1. opisane su veze između dokumenata i procesa testiranja.


Slika 1.  Dokumenta proizvedena tokom testiranja softvera

Planovi testiranja

Već smo opisali ulogu plana testiranja u postavljanju šeme za sve aktivnosti u testiranju. Sada ćemo pogledati kako se plan testiranja može upotrebiti za usmeravanje testiranja sistema.

Na slici 2 prikazane su komponente plana testiranja. Plan počinje od navođenja ciljeva koji bi trebalo:

  • da usmere testiranje
  • da usmere tehnički deo rada neophodan tokom testiranja
  • da utvrde plan i raspored testiranja i definišu potrebnu opremu, organizaciju metode testiranja, očekivane rezultate i orijentaciju korisnika
  • da opišu prirodu i obim svakog testa
  • da objasne kako će testovi u potpunosti da procene funkcionisanje i performansu sistema
  • da dokumentuju ulazne podatke, specifične procedure testiranja i očekivane rezultate.

 

Zatim, plan navodi ostale važne dokumente proizvedene tokom razvoja. Konkretno, plan objašnjava veze između dokumenata sa zahtevima, dizajnerske dokumentacije, dokumentacije u vezi sa i kodom komponenti sa jedne strane, i procedura testiranja sa druge. Na primer, može da se napravi šema imenovanja ili numeracija koja povezuje sve dokumente tako da se, recimo, zahtev 4.9 obrađuje u komponentama dizajna 5.3, 5.6 i 5.8, a testira se u proceduri 12.3.

Nakon ovih uvodnih reči sledi kratak pregled sistema. Pošto oni koji čitaju plan testiranja možda nisu bili uključeni u prethodne faze razvoja, kratak pregled sistema postavlja kontekst za raspored i događaje testiranja. Kratak pregled ne mora da bude detaljan; to može da bude crtež koji prikazuje glavne ulaze u sistem i izlaze iz njega, sa opisom glavnih transformacija.

 


Slika 2. Delovi plana testiranja

Pošto je testiranje smešteno u kontekst sistema, plan opisuje glavne testove i pristupe testiranju koji će se koristiti. Na primer, u planu testiranja se razlikuju funkcionalni testovi, testovi performanse, testovi prihvatanja i instalacioni testovi. Ako se funkcionalni testovi mogu dalje podeliti po nekom kriterijumu (kao što su podsistemi), plan testiranja postavlja sveukupnu organizaciju testiranja.

Pošto se objasni testiranje komponenti, plan prelazi na raspored događaja. U rasporedu se navode mesto testiranja i vremenski raspored. Raspored testiranja koji se često opisuje kao šema kontrolnih tačaka ili graf aktivnost, trebalo bi da sadrži:

  1. Ukupno trajanje testiranja.
  2. Glavne podele testiranja i njihova vremena početka i završetka.
  3. Eventualne preduslove testiranja (na primer, upoznavanje sa sistemom, obuka korisnika, proizvodnja podataka za testiranje) i vreme potrebno za svaki od njih.
  4. Vreme potrebno za pripremu i pregled izveštaja o testiranju.

Ako testiranje treba da se vrši na nekoliko lokacija, plan će imati posebne rasporede za svaku lokaciju. Dijagram prikazuje hardver, softver i osoblje potrebno za obavljanje testova na svakoj lokaciji, kao i vremenski interval u kojem će svaki od resursa biti potreban. Navode se takođe i posebne potrebe za obukom ili održavanjem.

Plan navodi i materijal za testiranje koji se sastoji od materijala koji treba doneti (na primer, korisničke ili operatorske priručnike, listinge, trake) i materijala na lokaciji (na primer, posebni aparati za testiranje, tabele baze podataka, memorijski medijumi). Primera radi, ako u testiranju treba da se koristi sistem za upravljanje bazom podataka da bi se napravila baza podataka sa primerima, za test se može zahtevati da korisnici na lokaciji definišu elemente podataka pre nego što stigne testerski tim. Slično tome, ako su timu potrebne određene mere bezbednosti ili tajnosti, osoblje na lokaciji testiranja možda treba pre testiranja da pripremi lozinke ili da uspostavi posebne pristupe.

Dodaj komentar Sviđa mi se - (0) Ne sviđa mi se - (1)    

  • Planiranje procesa testiranja softvera 1
  • Planiranje procesa testiranja softvera 2
  • Planiranje procesa testiranja softvera 3