Útvonal 02Lecke 3 / 6

Használja a teszteket bizonyítékként

Olyan ellenőrzéseket válasszon, amelyek kimutatják a hibás működést. A generált teszteket ugyanolyan gondosan vizsgálja át, mint a generált megvalósítást.

Gyakorlati11 minFelülvizsgálva

Kiadó Hogyan írunk

Ellenőrizze, mit értett megEgy generált teszt olyan mockkal helyettesíti a jogosultság-ellenőrző függvényt, amely mindig engedélyez. Mit bizonyít a sikeres eredmény?Végezze el a gyakorlatot
Egy generált teszt olyan mockkal helyettesíti a jogosultság-ellenőrző függvényt, amely mindig engedélyez. Mit bizonyít a sikeres eredmény?

Amit megtanulhat

  • Minden fontos követelményhez rendeljen érdemi ellenőrzést.
  • Különböztesse meg a unit, az integrációs és az end-to-end tesztek bizonyítékait.
  • Ismerje fel, ha egy teszt a megvalósítás hibás feltételezését ismétli.

Kezdje a követelménnyel

A tesztek meghatározott állítások bizonyítékai. Egy sikeres tesztfuttatás nem igazolja a szoftver minden tulajdonságát. Tesztek kérése előtt azonosítsa a fontos működést és azt a hibát, amelyet az egyes ellenőrzéseknek észlelniük kell.

Egy fiktív, szervezeti adatokat exportáló funkciónál a fő követelmény az adatelkülönítés. Az A szervezet felhasználója nem kaphatja meg a B szervezet rekordjait. A csak sikeres letöltést vizsgáló teszt nem bizonyítja ezt a követelményt.

Kérje meg az agentet, hogy magyarázza el a követelmény és az assertion kapcsolatát. Így a hiányzó esetek még a tesztkészlet megnövekedése előtt könnyebben felismerhetők.

Válassza meg a teszt megfelelő hatókörét

A unit test gyorsan ellenőrizhet kis átalakítást. Az integrációs teszt a komponensek együttműködését vizsgálhatja. Az end-to-end teszt fontos felhasználói műveletsort ellenőrizhet a telepített vagy azt megfelelően képviselő alkalmazáson.

A szükséges bizonyítékot adó legszűkebb hatókört használja. Egy formázónál nem kell minden bemenethez teljes böngészőteszt. Jogosultsági határhoz valódi route-ra és adatelérési útvonalra lehet szükség. Kritikus böngészős interakciónál a megjelenített felületről kell bizonyíték.

ÁllításPélda a bizonyítékra
A CSV-kimenet helyesen escape-eli az idézőjeletUnit test olyan mezővel, amely idézőjelet tartalmaz
Más szervezet nem olvashatja az exportotIntegrációs teszt valódi jogosultság-ellenőrzéssel
A felhasználó billentyűzetről indíthatja az exportotBöngészőteszt és kézi billentyűzetes ellenőrzés
A sikertelen export hasznos hibaüzenetet adA hibafolyamat ellenőrzése a releváns interfészen

A teszttípusoknak nincs minden rendszerhez megfelelő állandó százalékos aránya. Az észlelendő hiba és az ellenőrzés karbantartási költsége alapján válasszon.

Kerülje a közös hibás feltételezést

Az agent ugyanabból a félreértésből írhatja a megvalósítást és a teszteket. Egyezhetnek egymással úgy, hogy a követelmény továbbra sem teljesül.

Tegyük fel, hogy a megvalósítás a kérésben kapott szervezetazonosító alapján szűri a rekordokat. A teszt ugyanazt az azonosítót használja a bejelentkezett felhasználónál és a kérésben. Sikeres lesz. A hiányzó eset az, amikor a felhasználó más szervezet azonosítójával küld kérést.

Adja hozzá ezt az esetet a valódi, megbízható identitás- és jogosultság-ellenőrzési útvonalon. A mindig „engedélyezett” választ adó mock nem bizonyíthatja a tenantok elkülönítését. Csak a sikeres jogosultság-ellenőrzés utáni működést igazolja.

Ellenőrizze, hogy a teszt képes-e hibát jelezni

Ismert hibánál futtassa az új regressziós tesztet a hibás verzión, elkülönített ágon. Győződjön meg arról, hogy a várt okból sikertelen. Ezután alkalmazza a javítást, és futtassa újra.

Ha egy teszt azért sikertelen, mert nem tölthető be a tesztadata, az még nem bizonyíték az üzleti működésről. A hibát vizsgálja meg, ne csak a kilépési kódot.

Nagyobb módosításoknál a mutation testing segíthet felmérni, hogy meghatározott kódváltozások kiváltanak-e teszthibát. Ennek költsége van, és nem helyettesíti a követelmények review-ját. Ott használja, ahol a többletbizonyíték jelentős következményű döntést támogat.

A bizonyíték kapcsolódjon a módosításhoz

A releváns ellenőrzéseket a végső verzión futtassa. Rögzítse a kihagyott ellenőrzéseket és azok okát. Egy korábbi commit eredménye a review-javítás után már nem feltétlenül érvényes.

A tesztek maradjanak érthetőek. Az egyértelmű előkészítést és assertiont részesítse előnyben a fontos feltételt elrejtő nagy helperrel szemben. Távolítsa el a redundáns ellenőrzéseket, ha eltérő hiba észlelése nélkül növelik a karbantartási költséget.

A reviewernek el kell tudnia mondani, mit bizonyítanak a tesztek, és mi marad bizonytalan. Ez a magyarázat hasznosabb, mint a nagy tesztszám.

Végezze el a gyakorlatot

Válasszon egy generált tesztet. Fogalmazza meg, mely követelményt ellenőrzi. Elkülönített ágon ideiglenesen vezesse be a releváns hibát. Ellenőrizze, hogy a teszt a várt okból sikertelen, majd állítsa vissza a kódot. Jegyezze fel, mire nem terjed ki a teszt.

Munkalap letöltése (Markdown)
Ellenőrizze, mit értett meg ↑

Tanulás folytatása

Források és további olvasnivaló

Kapcsolódó Taiga-olvasmányok

Előző lecke: Adjon az agentnek hasznos repozitárkontextust