Testy z telefónu, vrátane kritérií pokrytia
Šesť úrovní testov, kritériá pokrytia od príkazov po MC/DC a prečo je výsledky mať v telefóne výhoda.
Záložka Projekt → Testy nie je len výpis toho, čo padá. Je to miesto, kde testy zadávate, čítate ich históriu a preklikáte sa od padajúceho prípadu k tomu, čo vlastne overuje — a to všetko z telefónu, bez jediného riadka promptu.
Úrovne
Testy sú rozdelené do šiestich úrovní: unit, integračné, systémové, E2E, výkon UI a výkon backendu. Prepínajú sa nahore a každá si drží vlastnú históriu Behov.
To delenie nie je kozmetické. Padajúci unit test znamená niečo iné než padajúci E2E — a keď vidíte oboje v jednom zozname, stratíte práve tú informáciu, kvôli ktorej sa testy delia.
Kritériá pokrytia — a prečo vôbec
Keď si necháte testy napísať vetou „napíš testy“, dostanete testy. Otázka je, čo overujú — a na to nemá nikto odpoveď, kým niečo nepadne v produkcii.
Kritérium pokrytia je pravidlo, ktoré hovorí, kedy je testov dosť. Nie je to percento; je to veta, ktorá sa dá skontrolovať:
- Pokrytie príkazov
- Každý príkaz sa aspoň raz vykoná. Najlacnejšie a najslabšie — kód sa spustil, ale o jeho vetvách to nehovorí nič.
- Pokrytie vetiev
- Každá podmienka vyjde raz pravdivo a raz nepravdivo. Tu začínajú testy nachádzať chyby.
- MC/DC
- Pri každej čiastkovej podmienke sa ukáže, že sama o sebe mení výsledok. Drahé, ale pri zložených podmienkach je to jediný spôsob, ako zistiť, že jedna z nich je tam navyše.
- Pair-wise
- Každá dvojica hodnôt z rôznych charakteristík sa zíde aspoň v jednom teste. Zlomok kombinácií, väčšina chýb.
V aplikácii si kritérium vyberiete pri zadávaní testov a vidíte pri ňom, aké je náročné — skôr, než Agent začne pracovať. To je ten rozdiel oproti „napíš testy“: viete, čo dostanete, a Agent vie, kedy má prestať.
Prehľad kritérií pre váš projekt si nechajte zostaviť Agentom. Doplní pri nich, aké sú náročné práve tu — iné sú pri parseri a iné pri formulári.
Prečo je to výhoda mať v telefóne
- Výsledky sa čítajú aj bez spojenia. Behy sú stiahnuté, takže sa v nich prehrabujete aj v lietadle.
- Od padajúceho prípadu vedie preklik na jeho opis v dokumentácii a na snímku obrazovky z okamihu spadnutia. Nie na sto riadkov logu.
- História naprieč Behmi ukáže nestabilný test — ten, čo raz prejde a druhý raz nie. V terminále si ho pamätáte, tu je vidieť.
- Namerané hodnoty pri výkonnostných testoch majú priebeh naprieč Behmi. Jedno číslo o meraní nehovorí nič, smer áno.
- Zadanie ďalších testov je pár kliknutí, nie písanie promptu. Vyberie sa úroveň a kritérium, zvyšok urobí Agent.
Odkiaľ sa výsledky berú
Aplikácia číta JUnit XML, teda formát, ktorý vie vypľuť takmer každý testovací nástroj. Agent ho zapíše do projektu a telefón si ho stiahne so zrkadlom — žiadna služba medzi tým, žiadne nahrávanie nikam.
Tvar, v ktorom sa výsledky zapisujú, určuje aplikačný skill. Skilly sa do projektu vkladajú zo záložky Projekt, sekcia Aplikačné skilly; bez nich uvidíte len to, čo už v projekte je.
Zaseklo sa to inde, než čo je tu? Napíšte na support@coden-app.com.