Često primetim da su na početku novih projekata, raznih aktivnosti ili recimo edukacija, ljudi fokusirani samo na cilj, a ono što uglavnom ostaje po strani je proces. Način na koji ćemo doći do cilja. Svaki posao koji radimo ima svoje procese, pa tako i testiranje softverskih aplikacija.
Ne postoji magični, univerzalni test proces, koji možemo da primenimo na sve projekte, ali postoje grupe aktivnosti kojima moramo da posvetimo adekvatnu pažnju, kako bi testranje softvera bilo uspešno.

Test proces može da se podeli u nekoliko grupa aktivnosti:
- Planiranje, merenje i kontrola
- Analiza
- Dizajn
- Implementacija
- Izvršavanje
- Izveštavanje
- Finalizacija
Često zanemarivanje aktivnosti planiranja utiče na uspešnost obavljanja ostalih aktivnosti test procesa. Svi detalji koje ne osmislimo ili o kojima ne razmišljamo u toku planiranja višestruko nam se, obično negativno, vraćaju u ostalim koracima test procesa. O toj temi smo već pisali u nekim od prethodnih objava i gde možete pročitati koliko je važno planirati test aktivnosti (Planiranje test aktivnosti - zašto to (ne) radimo).
U toku analize proučavamo osnovu za testiranje, tražimo odgovor na pitanje šta je potrebno testirati i definišemo skup različitih uslova pod kojima ćemo izvršavati test slučajeve. Na analizu se nadovezuje dizajniranje test slučajeva, i potraga za odgovorom kako ćemo testirati. Odabir adekvatnog skupa tzv. uspešnih test slučajeva, onih koji sa velikom verovatnoćom otkrivaju defekte je od presudnog značaja za uspeh testiranja. Analiza i dizajn su vođeni test strategijama koje smo odabrali u toku planiranja.
Implementacija se sastoji od pripremnih radnji koje nam olakšavaju samo izvršavanje test slučajeva. Priprema test okruženja, test procedura ili test skripti, test podataka i sl. su zadaci koje obavljamo u toku implementacije.
Ukoliko smo sve prethodne aktivnosti dobro odradili, samo izvršavanje treba da bude lako, i da pruži prostor testeru da proučava stvarno ponašanje aplikacije, primećuje i beleži anomalije.
Pravljenje izveštaja je veoma bitan detalj test procesa, jer je potrebno preneti prikupljene informacije o kvalitetu proizvoda koji testiramo različitim zainteresovanim stranama, sa različitim nivoima detalja. Ukoliko izveštaj potvrdi da smo zadovoljili izlazne kriterijume, osmišljene u toku planiranja, možemo da pređemo na poslednji korak test procesa.
Finalizacija, kao krajnji skup aktivnosti u test procesu, bavi se konačnom proverom urađenog posla, arhiviranjem ili primopredajom test artefakata i retrospektivom. Veoma važan korak svakog procesa, koji se u praksi obično zanemaruje.
Verujem da je suvišno naglašavati koliko su ovakve aktivnosti bitne kod testiranja softvera. Bilo da se događaju paralelno ili sekvencijalno, zajedno osiguravaju izvođenje optimalnog test procesa i blagovremeno umanjenje različitih projektnih i proizvodnih rizika. Osim toga, jasno i bez zabune definišu na koji način se evaluira softver, ko izvodi pojedine zadatke (nema dupliranja posla), poštuju se rokovi i budžeti. Dobro osmišljen i sproveden test proces može preduprediti probijanje rokova, probleme u organizaciji, a samim tim i frustracije i neslaganja unutar tima, što je od velikog značaja i za uspešnost svakog narednog projekta.