Uża t-testijiet bħala evidenza
LestAgħżel kontrolli li jistgħu jirrifjutaw imġiba żbaljata. Irrevedi t-testijiet iġġenerati bl-istess attenzjoni bħall-implimentazzjoni ġġenerata.
Ippubblikat minn TaigaKif niktbu
Iċċekkja kemm fhimtTest iġġenerat jissostitwixxi l-funzjoni tal-awtorizzazzjoni b'mock li dejjem jippermetti l-aċċess. X'jistabbilixxi riżultat li jgħaddi?Agħmel l-eżerċizzju
X'se titgħallem
- Orbot kull rekwiżit importanti ma' kontroll sinifikanti.
- Iddistingwi evidenza minn testijiet unitarji, tal-integrazzjoni u minn tarf sa tarf.
- Identifika test li jirrepeti l-istess suppożizzjoni żbaljata bħall-implimentazzjoni.
Ibda bir-rekwiżit
It-testijiet huma evidenza għal stqarrijiet speċifiċi. Eżekuzzjoni tat-testijiet li tirnexxi ma tistabbilixxix kull proprjetà tas-software. Qabel titlob testijiet, identifika l-imġiba importanti u d-difett li kull kontroll għandu jsib.
Għal esportazzjoni fittizja ta’ organizzazzjoni, ir-rekwiżit ewlieni huwa l-iżolament tad-data. Utent fl-organizzazzjoni A ma għandux jirċievi rekords mill-organizzazzjoni B. Test li jiċċekkja biss tniżżil li jirnexxi ma jistabbilixxix dan ir-rekwiżit.
Itlob lill-aġent jispjega r-relazzjoni bejn ir-rekwiżit u l-kundizzjoni ċċekkjata fit-test. Dan jagħmel il-każijiet neqsin aktar faċli biex jinstabu qabel is-sett tat-testijiet isir kbir.
Agħżel l-ambitu xieraq tat-test
Test unitarju jista’ jiċċekkja trasformazzjoni żgħira malajr. Test tal-integrazzjoni jista’ jiċċekkja kif il-komponenti jaħdmu flimkien. Test minn tarf sa tarf jista’ jiċċekkja sekwenza importanti ta’ azzjonijiet ta’ utent fl-applikazzjoni skjerata jew f’verżjoni rappreżentattiva tagħha.
Uża l-iżgħar ambitu li jipprovdi l-evidenza meħtieġa. Għodda tal-ifformattjar ma teħtieġx test sħiħ fil-browser għal kull input. Limitu tal-awtorizzazzjoni jista’ jeħtieġ route reali u rotta reali għall-aċċess tad-data. Interazzjoni kritika fil-browser teħtieġ evidenza dwar l-interface muri.
| Stqarrija | Eżempju ta’ evidenza |
|---|---|
| L-output CSV juża escaping korrett għal virgoletta | Test unitarju b’virgoletta f’field |
| Organizzazzjoni oħra ma tistax taqra l-esportazzjoni | Test tal-integrazzjoni permezz tal-awtorizzazzjoni reali |
| Utent bit-tastiera jista’ jibda l-esportazzjoni | Test fil-browser u reviżjoni manwali bit-tastiera |
| Esportazzjoni li tfalli tagħti żball utli | Kontroll tar-rotta tal-ħsara fl-interface rilevanti |
Ebda perċentwal fiss tat-tipi ta’ testijiet ma jaqbel għal kull sistema. Agħżel skont il-ħsara li trid tiskopri u l-ispiża biex iżżomm il-kontroll.
Evita suppożizzjoni żbaljata komuni
Aġent jista’ jikteb l-implimentazzjoni u t-testijiet mill-istess fehim żbaljat. It-tnejn jistgħu jaqblu filwaqt li r-rekwiżit jibqa’ mhux sodisfatt.
Supponi li l-implimentazzjoni tiffiltra r-rekords bl-ID tal-organizzazzjoni pprovduta fit-talba. It-test juża l-istess ID għall-utent li daħal fis-sistema u għat-talba. Jgħaddi. Il-każ nieqes huwa utent li jitlob l-ID ta’ organizzazzjoni differenti.
Żid dak il-każ permezz tar-rotta reali tal-identità affidabbli u tal-awtorizzazzjoni. Mock li dejjem jirritorna ‘permess’ ma jistax jistabbilixxi iżolament bejn tenants. Jistabbilixxi biss l-imġiba wara li l-awtorizzazzjoni tirnexxi.
Ivverifika li t-test jista’ jfalli
Għal difett magħruf, ħaddem it-test ġdid ta’ rigressjoni fuq il-verżjoni difettuża f’branch iżolat. Ikkonferma li jfalli għar-raġuni intenzjonata. Imbagħad applika l-korrezzjoni u erġa’ ħaddmu.
Test li jfalli għax fixture ma jistax jitgħabba għadu mhuwiex evidenza dwar l-imġiba tan-negozju. Spezzjona l-ħsara, mhux biss il-kodiċi tal-ħruġ.
Għal bidliet usa’, mutation testing jista’ jgħin biex jiġi evalwat jekk ċerti bidliet fil-kodiċi jikkawżawx fallimenti fit-testijiet. Għandu spiża u ma jissostitwixxix ir-reviżjoni tar-rekwiżiti. Użah fejn l-evidenza addizzjonali ssostni deċiżjoni b’konsegwenzi importanti.
Żomm l-evidenza marbuta mal-bidla
Ħaddem il-kontrolli rilevanti fuq ir-reviżjoni finali. Irreġistra l-kontrolli maqbuża u r-raġunijiet għalihom. Riżultat minn commit preċedenti jista’ ma jibqax japplika wara korrezzjoni mir-reviżjoni.
Żomm it-testijiet faċli biex jinftiehmu. Ippreferi tħejjija u kundizzjoni ċara tat-test minn helper kbir li jaħbi l-kundizzjoni importanti. Neħħi kontrolli żejda meta jżidu l-ispiża tal-manutenzjoni mingħajr ma jsibu ħsara differenti.
Il-persuna li tirrevedi x-xogħol għandha tkun tista’ tgħid x’jistabbilixxu t-testijiet u x’jibqa’ inċert. Dik l-ispjegazzjoni hija aktar utli minn għadd kbir ta’ testijiet.
Agħmel l-eżerċizzju
Agħżel test iġġenerat wieħed. Għid liema rekwiżit jiċċekkja. Daħħal temporanjament id-difett rilevanti f'branch iżolat. Ikkonferma li t-test ifalli għar-raġuni intenzjonata, imbagħad irrestawra l-kodiċi. Irreġistra dak li t-test għadu ma jkoprix.
Niżżel il-folja tax-xogħol (Markdown)Jekk tneħħi din l-għażla, tħassar il-progress kollu ssejvjat f'dan il-browser.
Il-progress jibqa' f'dan il-browser. Ebda kont, ebda traċċar.
Sorsi u qari ieħor
- Google Engineering Practices: Review tests for useful assertions ↗
- Google Testing Blog: Test scope and feedback ↗