Õpitee 02Õppetund 3 / 6

Kasuta teste tõenditena

Vali kontrollid, mis suudavad vale käitumise tuvastada. Vaata genereeritud testid üle sama hoolikalt kui genereeritud teostus.

Praktik11 minÜle vaadatud

Avaldaja Kuidas me kirjutame

Mida õpid

  • Seo iga oluline nõue sisulise kontrolliga.
  • Erista ühik-, integratsiooni- ja läbivate testide tõendeid.
  • Tuvasta test, mis kordab teostusega sama valet eeldust.

Alusta nõudest

Testid on tõendid konkreetsete väidete kohta. Edukas testikäivitus ei tõenda tarkvara kõiki omadusi. Enne testide küsimist määra oluline käitumine ja viga, mille iga kontroll peab tuvastama.

Väljamõeldud organisatsiooni andmeekspordi põhinõue on andmete eraldatus. Organisatsiooni A kasutaja ei tohi saada organisatsiooni B kirjeid. Test, mis kontrollib ainult edukat allalaadimist, ei tõenda selle nõude täitmist.

Palu agendil selgitada nõude ja testi kontrolltingimuse seost. Nii on puuduvaid juhtumeid lihtsam märgata enne, kui testikomplekt suureks kasvab.

Vali sobiva ulatusega test

Ühiktest saab väikest teisendust kiiresti kontrollida. Integratsioonitest saab kontrollida komponentide koostööd. Läbiv test saab kontrollida olulist kasutustegevuste jada juurutatud või esinduslikus rakenduses.

Kasuta kõige kitsamat ulatust, mis annab vajaliku tõendi. Vormindaja ei vaja iga sisendi jaoks täielikku brauseritesti. Autoriseerimispiir võib vajada päris marsruuti ja andmetele juurdepääsu teed. Kriitiline brauseritoiming vajab tõendeid kuvatud kasutajaliidese kohta.

VäideTõendi näide
CSV-väljund paokoodib jutumärgi õigestiÜhiktest väljaga, mis sisaldab jutumärki
Teine organisatsioon ei saa eksporditud andmeid lugedaIntegratsioonitest tegeliku autoriseerimise kaudu
Klaviatuuri kasutaja saab ekspordi käivitadaBrauseritest ja käsitsi tehtud klaviatuurikasutuse ülevaatus
Ebaõnnestunud eksport annab kasuliku veateateVeatee kontroll asjakohases liideses

Ükski kindel testitüüpide protsentuaalne jaotus ei sobi igale süsteemile. Vali tuvastatava tõrke ja kontrolli hoolduskulu järgi.

Väldi ühist valet eeldust

Agent võib kirjutada teostuse ja testid sama vääritimõistmise põhjal. Need võivad omavahel sobida, kuigi nõue jääb täitmata.

Oletame, et teostus filtreerib kirjeid päringus antud organisatsiooni ID järgi. Test kasutab sisseloginud kasutaja ja päringu jaoks sama ID-d. Test õnnestub. Puuduv juhtum on kasutaja, kes küsib teise organisatsiooni ID-d.

Lisa see juhtum tegeliku usaldatud identiteedi ja autoriseerimise tee kaudu. Testiasendus, mis tagastab alati „lubatud“, ei saa tõendada tenant’ide eraldatust. See tõendab ainult autoriseerimise õnnestumisele järgnevat käitumist.

Kontrolli, et test saab ebaõnnestuda

Teadaoleva vea korral käivita uus regressioonitest eraldatud harus vigase versiooni vastu. Veendu, et see ebaõnnestub ettenähtud põhjusel. Seejärel rakenda parandus ja käivita test uuesti.

Test, mis ebaõnnestub testandmete laadimisvea tõttu, ei ole veel tõend ärilise käitumise kohta. Uuri tõrget, mitte ainult väljumiskoodi.

Laiemate muudatuste korral võib mutatsioonitestimine aidata hinnata, kas valitud koodimuudatused põhjustavad testide ebaõnnestumise. Sellega kaasneb kulu ja see ei asenda nõuete ülevaatust. Kasuta seda seal, kus lisatõendid toetavad oluliste tagajärgedega otsust.

Hoia tõendid muudatusega seotuna

Käivita asjakohased kontrollid lõpliku revisjoni peal. Pane kirja vahele jäetud kontrollid ja nende põhjused. Varasema commit’i tulemus ei pruugi pärast ülevaatusel tehtud parandust enam kehtida.

Hoia testid arusaadavad. Eelista selget ettevalmistust ja kontrolltingimust suurele abifunktsioonile, mis olulise tingimuse varjab. Eemalda korduvad kontrollid, kui need lisavad hoolduskulu ilma teistsugust tõrget tuvastamata.

Ülevaataja peab suutma öelda, mida testid tõendavad ja mis jääb ebaselgeks. See selgitus on kasulikum kui suur testide arv.

Tee harjutus

Vali üks genereeritud test. Sõnasta nõue, mida see kontrollib. Lisa vastav viga ajutiselt eraldatud harus. Veendu, et test ebaõnnestub ettenähtud põhjusel, ja taasta seejärel kood. Pane kirja, mida test endiselt ei kata.

Laadi tööleht alla (Markdown)

Kontrolli oma arusaamist

Genereeritud test asendab autoriseerimisfunktsiooni testiasendusega, mis lubab alati juurdepääsu. Mida tõendab edukas tulemus?

Allikad ja lisalugemine

Seotud lugemine Taigalt