Šta radimo

Osiguranje kvaliteta i testiranje

Brza isporuka ne znači ništa ako se proizvod kvari. Mi temeljno testiramo kako bi vaši korisnici dobili softver koji zaista radi.

Postoji razlog zašto je "radi na mojoj mašini" vic u razvoju softvera. Razlika između koda koji prođe brzu proveru programera i koda koji pouzdano radi za stvarne korisnike u produkciji veća je nego što većina ljudi misli. Različiti pretraživači, različite veličine ekrana, različiti skupovi podataka, granični slučajevi na koje niko nije pomislio. Osiguranje kvaliteta je ono što zatvara tu razliku.

U Conimex IT-ju QA nije faza koja se dešava na kraju razvoja. To je deo načina na koji pravimo softver od prvog dana. Svaka funkcionalnost koju razvijemo prolazi kroz kombinaciju automatizovanih testova, ručnog testiranja i pregleda koda pre nego što stigne u produkciju. Ovo nije opciono i nije nešto što preskačemo kada rokovi pritisnu.

Kako se QA uklapa u naš razvojni proces

Svaki zahtev za povlačenje pokreće automatizovane testove pre nego što se kod može spojiti. Pišemo jedinične testove za poslovnu logiku, integracione testove za API krajnje tačke i funkcionalne testove koji simuliraju stvarne korisničke tokove. Na PHP strani koristimo PHPUnit i Pest. Na React klijentskoj strani koristimo Jest i React Testing Library. Ovaj automatizovani sloj brzo hvata regresije i daje nam sigurnost da novi kod ne kvari postojeću funkcionalnost.

Ali automatizovani testovi pokrivaju samo scenarije za koje se setite da napišete test. Zato i ručno istraživački testiramo svaku funkcionalnost pre isporuke. Stvarna osoba koristi funkcionalnost na način na koji bi to radio stvarni korisnik, isprobavajući granične slučajeve, neočekivane unose i neuobičajene tokove rada koje automatizovani testovi mogu propustiti. Ovo hvata probleme upotrebljivosti, vizuelne nedostatke i logičke greške koje je teško izraziti u kodu.

Takođe radimo testiranje na različitim pretraživačima i uređajima za veb aplikacije, kao i testiranje specifično za platformu za React Native mobilne aplikacije. Formular koji savršeno radi na Chrome-u može se ponašati drugačije na Safari-ju. Raspored koji izgleda ispravno na iPhone-u može se pokvariti na starijem Android uređaju. Mi hvatamo ove probleme pre vaših korisnika.

QA kao samostalna usluga

Iako je QA ugrađen u svaki projekat koji isporučujemo, takođe nudimo usluge testiranja za timove koji imaju sopstvene programere, ali im je potrebna posvećena QA podrška.

Ako vaš tim isporučuje funkcionalnosti bez odgovarajućeg testiranja, ili ako greške stalno stižu u produkciju, a nemate kapacitet za temeljno testiranje, mi možemo da se uključimo. Pregledamo vašu aplikaciju, uspostavljamo strategiju testiranja i obezbeđujemo tekuću QA pokrivenost. Ovo može uključivati pisanje automatizovanih paketa testova za postojeću bazu koda koja nema testove, izvođenje ciklusa ručnog testiranja pre svake verzije, postavljanje CI procesa koji automatski pokreću testove i regresiono testiranje nakon velikih ažuriranja.

Ovo dobro funkcioniše za kompanije koje imaju razvojni tim, ali nemaju posvećenu QA osobu. Umesto zapošljavanja i obuke nekog za puno radno vreme, dobijate iskusne testere koji mogu odmah da počnu da doprinose.

Šta testiramo

Funkcionalno testiranje je temelj. Da li funkcionalnost radi ono što bi trebalo da radi? Da li svi korisnički tokovi funkcionišu od početka do kraja? Da li granični slučajevi daju ispravne rezultate umesto grešaka?

Osim toga, testiramo performanse. Da li se stranica učitava u razumnom roku? Da li API krajnje tačke brzo odgovaraju pod opterećenjem? Da li postoje upiti nad bazom podataka koji postaju sporiji kako skup podataka raste?

Bezbednosno testiranje je takođe deo našeg procesa. Proveravamo uobičajene ranjivosti poput SQL injekcije, skriptovanja između sajtova, nesigurnih tokova autentifikacije i izloženih API krajnjih tačaka. Ne zamenjujemo potpunu bezbednosnu reviziju, ali hvatamo najčešće probleme pre nego što postanu stvarni rizici.

Testiranje pristupačnosti zaokružuje naš pristup. Potvrđujemo da aplikacija radi sa navigacijom tastaturom, da čitači ekrana mogu protumačiti sadržaj i da kontrast boja ispunjava WCAG smernice.

Cena preskakanja QA

Svaka greška koja stigne u produkciju košta više za popravku nego ona uhvaćena tokom razvoja. Programer mora da promeni kontekst, reprodukuje problem, napiše popravku, testira je i postavi. U međuvremenu su korisnici frustrirani, a vaš tim gasi požare umesto da pravi nove funkcionalnosti.

Ulaganje u QA unapred nije luksuz. To je najpraktičniji način da se dugoročno brže isporučuje, jer trošite manje vremena na popravljanje stvari koje su trebale biti uhvaćene ranije.