Področje 12 · Razvoj in splet

Testiranje in zagotavljanje kakovosti

Napaka v programski opremi je najdražja takrat, ko jo prva opazi stranka. Takrat je že izgubljeno naročilo, slaba ocena v trgovini z aplikacijami ali mesečni obračun, ki se ne ujema z bančnim izpiskom. Ista napaka, najdena nekaj tednov prej v testnem okolju, je le vrstica v seznamu za razvijalce. Zakaj iskanje »Žužemberk« ne vrne nobenega rezultata, »Zuzemberk« pa deluje? Zakaj se pri obročnem plačilu pojavi razlika enega centa? Zakaj ima račun v PDF drugo stopnjo DDV kot izdelek v košarici? S takšnimi vprašanji pristopimo k vaši spletni trgovini, portalu za partnerje, mobilni aplikaciji ali sistemu, ki vam ga je zunanji izvajalec ravnokar predal. Pet vrst testov, en način poročanja, delo pa poteka v vašem testnem okolju prek varnega oddaljenega dostopa, brez obiskov pri vas.

5
vrst testiranja z enotnim poročanjem
0
obiskov na lokaciji, vse testiramo na daljavo
50 €
na uro + DDV, po oceni, ki jo potrdite vnaprej
Ponovni test
za vsak popravek, preden se prijava zapre

Kateri test za katero skrb

Vsak test odgovarja na drugo vprašanje. Ali aplikacija računa prav? Ali zdrži navalu obiska? Ali lahko ročne preglede pred izdajo prevzame stroj? Ali ljudje znajo izpolniti obrazec? Ali lahko kdo pride do podatkov, ki niso njegovi? Če ne veste, kam spada vaša težava, nam opišite simptom.

Opišite svojo aplikacijo

Funkcionalno testiranje

Ali aplikacija res dela to, kar piše v specifikaciji ali ponudbi. Šumniki v imenih in iskanju, štirimestne poštne številke, DDV 22 % in 9,5 % na pravih postavkah, plačilo s 3-D Secure, dobropis ob vračilu. Po koncu vam ostane seznam scenarijev, ki ga ponovite ob vsaki novi različici.

Obremenitveno in stresno testiranje

Na kopijo sistema hkrati pošljemo tisoče navideznih obiskovalcev: večer črnega petka, minuto, ko se začne prodaja vstopnic za koncert, jutro, ko hotel na obali odpre zgodnje rezervacije za poletje. Poročilo pokaže, ali se zatakne v podatkovni bazi, pri plačilu ali na strežniku s slikami.

Avtomatizacija testiranja

Ekipa, ki izdaja vsak teden, z ročnim preverjanjem prej ali slej ne dohaja več. Ponavljajoče se scenarije napišemo v Playwright, Cypress ali Appium in jih povežemo z vašim cevovodom CI/CD. Vnaprej izračunamo, po koliko izdajah se avtomatizacija povrne, in je ne predlagamo, če se ne bi.

Testiranje uporabnosti in UX

Trgovec oddaja naročilo, pacient izbira termin, kupec sproži vračilo: nekaj vaših pravih uporabnikov naloge opravi na svojem računalniku ali telefonu, mi pa prek videoklica beležimo, kje se ustavijo. Del dela je tudi pregled dostopnosti po merilih WCAG 2.1 AA.

Penetracijski testi

Pot, ki bi jo ubral napadalec, preizkusimo s pisnim dovoljenjem lastnika sistema in v dogovorjenih mejah. Poudarek je na ranljivostih, značilnih za vašo aplikacijo: partner, ki vidi cene drugega partnerja, prevzem seje, vrivanje kode prek polj v obrazcu.

Kdaj se test najbolj izplača

V nekaterih trenutkih se cena napake pomnoži. Nekaj dni neodvisnega preverjanja tik pred takim trenutkom prihrani tedne popravkov, opravičil in dodatnih ur pri izvajalcu.

Ob prevzemu od izvajalca

Agencija ali razvojna hiša pravi, da je delo končano. Pomanjkljivosti, najdene pred podpisom prevzemnega zapisnika, izvajalec praviloma odpravi v okviru pogodbe. Po podpisu se iste pomanjkljivosti lahko znajdejo na novi ponudbi kot dodatno delo.

Ob menjavi ozadja

Nov plačilni ponudnik, nova različica PHP, selitev na drug strežnik ali novo računovodsko okolje. Na zunaj se ne spremeni nič, v ozadju pa se lahko neopazno premaknejo poštnina, provizija ali številčenje računov.

Pred večjim oglaševanjem

Televizijski oglas, sodelovanje z vplivnico, črni petek ali božična sezona. Plačan obisk, ki pristane na nedelujoči strani, pomeni, da ste oglaševalski proračun zapravili dvakrat.

Preden mobilna aplikacija gre v trgovino

Pregled v App Store in Google Play, starejše različice Androida, majhni zasloni. Zavrnjena oddaja premakne datum zagona, prva različica, ki se sesuva, pa pusti oceno, ki se je težko znebite.

Ko pride varnostni vprašalnik

Večji kupec, partner v tujini ali zavarovalnica za kibernetska tveganja sprašuje po penetracijskem testu. Poročilo z obsegom, datumom in zaprtimi ugotovitvami je najkrajši odgovor, posebej če ste del dobavne verige podjetja, za katero velja NIS2.

Dobra prijava napake je tista, ki jo razvijalec ponovi v prvem poskusu. Prijava »plačilo včasih ne dela« dneve kroži med ekipami. Prijava, ki pove, v katerem brskalniku, s katero kartico, po katerem koraku in s katerim sporočilom o napaki se je zgodilo, se pogosto zapre še isti dan. Vsako ugotovitev zapišemo s takšno natančnostjo, zato vaši razvijalci ne čakajo na odgovore testerja, ampak se lotijo popravka.

Kako delamo

Na koncu ne dobite opombe »v glavnem v redu«, temveč oštevilčene ugotovitve, razvrščene po resnosti. Do testnega okolja dostopamo prek varne oddaljene povezave ali z uporabniki, ki jih odprete samo za to delo. Produkcijskega sistema brez dogovora ne spreminjamo.

01

Zemljevid tveganj

Na videoklicu se pogovorimo o aplikaciji, njenih uporabnikih in sistemih, s katerimi je povezana. Na vrh seznama skupaj postavimo funkcije, katerih izpad bi vas stal denar, stranke ali bi vas spravil v težave s predpisi.

02

Načrt in ocena

Funkcije za testiranje, seznam brskalnikov in naprav, kaj ostane zunaj obsega in ocena ur, vse na eni strani. Brez vaše potrditve ne začnemo obračunavati.

03

Testni krogi

Ugotovitve s sliko zaslona in testnimi podatki pristanejo na vaši tabli v Jira, GitLab, GitHub ali Azure DevOps. Ob koncu dneva kratek povzetek: koliko kritičnih, srednjih in manjših ugotovitev.

04

Preverjanje in odločitev

Popravke preverimo enega za drugim, skupaj z okolico popravljenega mesta. Za konec poročilo in jasno priporočilo: ali lahko izdajo objavite takšno, kot je, ali je treba prej zapreti določene točke.

Pogosta vprašanja

Za večino funkcionalnih, obremenitvenih in uporabniških testov ne. Delamo s strani, ki jo vidi uporabnik, in potrebujemo le testno okolje in testne račune. Pri avtomatizaciji je najbolje, da scenariji živijo v vašem repozitoriju skupaj s kodo, zato prosimo za omejen dostop do njega. Pri penetracijskem testu je odvisno od pristopa, ki ga izberete: črna, siva ali bela škatla.

Ne. Pregled ranljivosti z avtomatskimi orodji išče znane ranljivosti, je širok, a površinski. Pri penetracijskem testu strokovnjak razume poslovno logiko vaše aplikacije in več ur ročno preizkuša, ali lahko en partner pride do naročil drugega ali ali je vračilo mogoče sprožiti dvakrat. Tega pregledovalnik ne vidi. Pogoji vašega ponudnika gostovanja lahko zahtevajo predhodno obvestilo o testu, kar uredimo pred začetkom.

Za funkcionalni test manjše aplikacije sta pogosto dovolj en do dva tedna. Obremenitvenemu testu pred večjo akcijo namenite vsaj mesec dni, saj po prvi meritvi sledijo izboljšave in nova meritev. Pri penetracijskem testu časovnico največkrat določata pridobivanje dovoljenja in dogovor s ponudnikom gostovanja.

Enkratna dela po urni postavki 50 € + DDV, na podlagi ocene ur, ki jo potrdite vnaprej. Če potrebujete redno testiranje ob vsaki izdaji, ga lahko dodamo v mesečni paket Start, Business ali Premium. Račun prejmete v PDF po e-pošti, rok plačila je 30 dni. Kako obravnavati DDV pri storitvi dobavitelja iz tretje države, preverite pri svojem računovodji.

Najbolje je, da pravih podatkov tam sploh ni, zato predlagamo izmišljene testne podatke ali anonimizirano kopijo. Če se delu s pravimi podatki ni mogoče izogniti, pred začetkom podpišemo pogodbo o obdelavi osebnih podatkov po GDPR, dostop je čim ožji, beležen in se po koncu dela zapre. Pri posebnih vrstah osebnih podatkov, na primer podatkih o zdravju, izjem ni.

Najdimo napake, preden jih najdejo vaše stranke

Napišite, kaj je treba preizkusiti in kdaj načrtujete objavo. Poslali vam bomo načrt testiranja z oceno ur.

Delovni čas
Od ponedeljka do petka, 9.00-17.00 (srednjeevropski čas), odgovor v enem delovnem dnevu
Pogovori
Videoklic prek Microsoft Teams ali Google Meet

Ta stran uporablja le nujne piškotke, ki so potrebni za njeno delovanje in za pomnjenje izbranega kraja. Oglaševalskih in sledilnih piškotkov ne uporabljamo. Podrobnosti najdete v razdelku Zasebnost in varstvo osebnih podatkov.