Kryptis 02Pamoka 3 / 6

Naudokite testus kaip įrodymus

Rinkitės patikrinimus, kurie gali atmesti klaidingą veikimą. Sugeneruotus testus peržiūrėkite taip pat atidžiai kaip sugeneruotą įgyvendinimą.

Praktinis11 minPeržiūrėta

Leidžia Kaip rašome

Patikrinkite, ar supratoteSugeneruotas testas imituoja autorizavimo funkciją taip, kad ji visada leistų prieigą. Ką įrodo sėkmingas rezultatas?Atlikite užduotį
Sugeneruotas testas imituoja autorizavimo funkciją taip, kad ji visada leistų prieigą. Ką įrodo sėkmingas rezultatas?

Ko išmoksite

  • Kiekvieną svarbų reikalavimą susiekite su prasmingu patikrinimu.
  • Atskirkite vienetinių, integracinių ir visos eigos testų įrodymus.
  • Atpažinkite testą, kuris kartoja tą pačią klaidingą prielaidą kaip įgyvendinimas.

Pradėkite nuo reikalavimo

Testai yra konkrečių teiginių įrodymai. Sėkmingas testų vykdymas neįrodo visų programinės įrangos savybių. Prieš prašydami testų, nustatykite svarbų veikimą ir klaidą, kurią kiekvienas patikrinimas turi aptikti.

Išgalvotam organizacijos duomenų eksportui pagrindinis reikalavimas yra duomenų izoliavimas. Organizacijos A naudotojas neturi gauti organizacijos B įrašų. Testas, kuris tik patikrina sėkmingą atsisiuntimą, šio reikalavimo neįrodo.

Paprašykite agento paaiškinti reikalavimo ir tikrinimo sąlygos ryšį. Taip lengviau aptikti trūkstamus atvejus, kol testų rinkinys dar neišaugo.

Pasirinkite tinkamą testo apimtį

Vienetinis testas gali greitai patikrinti nedidelę transformaciją. Integracinis testas gali patikrinti, kaip kartu veikia komponentai. Visos eigos testas gali patikrinti svarbią naudotojo veiksmų seką įdiegtoje ar ją atitinkančioje programoje.

Naudokite siauriausią apimtį, kuri suteikia reikiamus įrodymus. Formatavimo priemonei nereikia viso naršyklės testo kiekvienai įvesčiai. Autorizavimo ribai gali reikėti tikro maršruto ir duomenų prieigos kelio. Svarbiai sąveikai naršyklėje reikia atvaizduotos sąsajos įrodymų.

TeiginysĮrodymo pavyzdys
CSV išvestis teisingai užkoduoja kabutęVienetinis testas su kabute lauke
Kita organizacija negali perskaityti eksportoIntegracinis testas per tikrą autorizavimą
Klaviatūros naudotojas gali pradėti eksportąNaršyklės testas ir rankinė peržiūra klaviatūra
Nepavykęs eksportas pateikia naudingą klaidąGedimo kelio patikrinimas atitinkamoje sąsajoje

Nėra vieno fiksuoto testų rūšių santykio, tinkančio kiekvienai sistemai. Rinkitės pagal klaidą, kurią reikia aptikti, ir patikrinimo priežiūros sąnaudas.

Venkite bendros klaidingos prielaidos

Agentas gali parašyti įgyvendinimą ir testus remdamasis tuo pačiu nesusipratimu. Abu gali sutapti, nors reikalavimas lieka neįgyvendintas.

Tarkime, įgyvendinimas filtruoja įrašus pagal užklausoje pateiktą organizacijos ID. Teste prisijungusiam naudotojui ir užklausai naudojamas tas pats ID. Testas praeina. Trūksta atvejo, kai naudotojas prašo kitos organizacijos ID.

Pridėkite tokį atvejį per tikrą patikimą tapatybę ir autorizavimo kelią. Imitacija, kuri visada grąžina „leidžiama“, negali įrodyti klientų izoliavimo. Ji įrodo tik veikimą po sėkmingo autorizavimo.

Patikrinkite, ar testas gali nepraeiti

Žinomai klaidai naują regresinį testą paleiskite su klaidinga versija izoliuotoje šakoje. Patvirtinkite, kad jis nepraeina dėl numatytos priežasties. Tada pritaikykite pataisą ir pakartokite testą.

Testas, kuris nepraeina, nes nepavyksta įkelti testinių duomenų, dar neįrodo verslo veikimo. Išnagrinėkite nesėkmę, ne tik baigimo kodą.

Platesniems pakeitimams mutacinis testavimas gali padėti įvertinti, ar pasirinkti kodo pakeitimai sukelia testų nesėkmes. Jis kainuoja ir nepakeičia reikalavimų peržiūros. Naudokite jį ten, kur papildomi įrodymai pagrindžia svarbų sprendimą.

Išlaikykite įrodymų ryšį su pakeitimu

Atlikite susijusius patikrinimus su galutine versija. Užrašykite praleistus patikrinimus ir jų priežastis. Ankstesnio commit rezultatas po peržiūros pataisos gali nebegalioti.

Testai turi būti suprantami. Rinkitės aiškų parengimą ir tikrinimo sąlygą, o ne didelę pagalbinę funkciją, kuri paslepia svarbią aplinkybę. Pašalinkite perteklinius patikrinimus, kai jie didina priežiūros sąnaudas, bet neaptinka kitos klaidos.

Peržiūrėtojas turi gebėti pasakyti, ką testai įrodo ir kas lieka neaišku. Šis paaiškinimas naudingesnis už didelį testų skaičių.

Atlikite užduotį

Pasirinkite vieną sugeneruotą testą. Nurodykite, kokį reikalavimą jis tikrina. Izoliuotoje šakoje laikinai įveskite atitinkamą klaidą. Patvirtinkite, kad testas nepraeina dėl numatytos priežasties, tada atkurkite kodą. Užrašykite, ko testas vis dar neapima.

Atsisiųsti užduoties lapą (Markdown)
Patikrinkite, ar supratote ↑

Mokykitės toliau

Šaltiniai ir papildoma literatūra

Susijęs Taiga turinys

← Ankstesnė pamoka: Suteikite agentui naudingą kodo saugyklos kontekstą