Pot 02Lekcija 3 / 6

Teste uporabljajte kot dokazila

Izberite preverjanja, ki zaznajo napačno delovanje. Ustvarjene teste preglejte enako skrbno kot ustvarjeno izvedbo.

Praktična raven11 minPregledano

Izdajatelj Kako pišemo

Preverite razumevanjeUstvarjen test nadomesti funkcijo avtorizacije s testnim nadomestkom, ki vedno dovoli dostop. Kaj dokazuje uspešen rezultat?Opravite vajo
Ustvarjen test nadomesti funkcijo avtorizacije s testnim nadomestkom, ki vedno dovoli dostop. Kaj dokazuje uspešen rezultat?

Kaj se boste naučili

  • Vsako pomembno zahtevo povežite s smiselnim preverjanjem.
  • Ločite dokazila testov enot, integracijskih testov in testov od začetka do konca.
  • Prepoznajte test, ki ponavlja isto napačno predpostavko kot izvedba.

Začnite z zahtevo

Testi so dokazila za določene trditve. Uspešen zagon testov ne dokazuje vseh lastnosti programske opreme. Pred zahtevo za teste določite pomembno delovanje in napako, ki jo mora posamezno preverjanje zaznati.

Pri izmišljenem izvozu podatkov organizacije je glavna zahteva izolacija podatkov. Uporabnik organizacije A ne sme prejeti zapisov organizacije B. Test, ki preveri samo uspešen prenos, te zahteve ne dokazuje.

Agent naj pojasni povezavo med zahtevo in preverbo v testu. Tako lažje zaznate manjkajoče primere, preden nabor testov postane velik.

Izberite ustrezen obseg testa

Test enote lahko hitro preveri majhno pretvorbo. Integracijski test lahko preveri skupno delovanje komponent. Test od začetka do konca lahko preveri pomembno zaporedje uporabniških dejanj v nameščeni ali reprezentativni aplikaciji.

Uporabite najožji obseg, ki zagotavlja zahtevana dokazila. Oblikovalnik ne potrebuje celotnega testa v brskalniku za vsak vhod. Meja avtorizacije lahko potrebuje dejansko pot zahteve in dostopa do podatkov. Ključna interakcija v brskalniku potrebuje dokazila o izrisanem vmesniku.

TrditevPrimer dokazila
Narekovaj v izhodu CSV je pravilno zapisan z ubežnim zaporedjemTest enote z narekovajem v polju
Druga organizacija ne more prebrati izvozaIntegracijski test skozi dejansko avtorizacijo
Uporabnik tipkovnice lahko začne izvozTest v brskalniku in ročni pregled s tipkovnico
Neuspel izvoz poda uporabno napakoPreverjanje poti ob napaki na ustreznem vmesniku

Noben določen odstotek vrst testov ne ustreza vsem sistemom. Izberite jih glede na napako, ki jo morate zaznati, in strošek vzdrževanja preverjanja.

Izognite se skupni napačni predpostavki

Agent lahko napiše izvedbo in teste iz istega napačnega razumevanja. Oboje se lahko ujema, zahteva pa ostane neizpolnjena.

Recimo, da izvedba filtrira zapise po ID-ju organizacije iz zahteve. Test uporabi isti ID za prijavljenega uporabnika in zahtevo. Uspe. Manjka primer uporabnika, ki zahteva ID druge organizacije.

Ta primer dodajte skozi dejansko pot zaupanja vredne identitete in avtorizacije. Testni nadomestek, ki vedno vrne »dovoljeno«, ne more dokazati izolacije med najemniki. Dokazuje samo delovanje po uspešni avtorizaciji.

Preverite, ali test lahko zazna napako

Pri znani napaki izvedite nov regresijski test na napačni različici v ločeni veji. Potrdite, da ne uspe zaradi predvidenega razloga. Nato uporabite popravek in test ponovite.

Test, ki ne uspe, ker ne more naložiti testnih podatkov, še ni dokazilo o poslovnem delovanju. Preglejte razlog neuspeha in ne samo izhodne kode.

Pri širših spremembah lahko mutacijsko testiranje pomaga oceniti, ali izbrane spremembe kode povzročijo neuspeh testov. Ima svoj strošek in ne nadomesti pregleda zahtev. Uporabite ga, kadar dodatna dokazila podpirajo pomembno odločitev.

Dokazila ohranite povezana s spremembo

Ustrezna preverjanja izvedite na končni reviziji. Zabeležite preskočena preverjanja in razloge zanje. Rezultat starejšega commita po popravku ob pregledu morda ne velja več.

Testi naj bodo razumljivi. Prednost dajte izrecni pripravi in preverbi namesto velikemu pomožnemu delu kode, ki skrije pomembni pogoj. Odstranite odvečna preverjanja, če povečajo strošek vzdrževanja, ne da bi zaznala drugačno napako.

Pregledovalec naj zna povedati, kaj testi dokazujejo in kaj ostaja negotovo. To pojasnilo je uporabnejše od velikega števila testov.

Opravite vajo

Izberite en ustvarjen test. Navedite zahtevo, ki jo preverja. V ločeni veji začasno vnesite relevantno napako. Potrdite, da test ne uspe zaradi predvidenega razloga, nato povrnite kodo. Zabeležite, česa test še vedno ne pokriva.

Prenesi delovni list (Markdown)
Preverite razumevanje ↑

Nadaljujte učenje

Viri in nadaljnje branje

Povezano gradivo podjetja Taiga

← Prejšnja lekcija: Agentu dajte uporaben kontekst repozitorija