Test selháním , test to fail - vysvětlení

Test selháním , test to fail - vysvětlení
« kdy: 14. 12. 2019, 13:23:20 »
Ahoj, trošku tápu v teorii. Vím,  jak provést test selháním, ale z wiki  mi není jasné,
pokud  vložím nesmyslná vstupní data, u kterých předpokládám, že po nich aplikaci shodím-havaruje a aplikace skutečně spadne, je pak test uspěšný nebo neuspěšný? Děkuji moc za vysvětlení , nejlépe někoho z oboru testingu.


alex6bbc

  • *****
  • 1 432
    • Zobrazit profil
    • E-mail
Re:Test selháním , test to fail - vysvětlení
« Odpověď #1 kdy: 14. 12. 2019, 13:35:34 »
Ahoj, trošku tápu v teorii. Vím,  jak provést test selháním, ale z wiki  mi není jasné,
pokud  vložím nesmyslná vstupní data, u kterých předpokládám, že po nich aplikaci shodím-havaruje a aplikace skutečně spadne, je pak test uspěšný nebo neuspěšný? Děkuji moc za vysvětlení , nejlépe někoho z oboru testingu.

testing nedelam, testeri by meli byt radi, kdyz najdou programatorovi chybu ne?
kdyz tester nic nenajde tak je smutny ne?

predpokladam, ze tester ma programatorovi nahlasit jaky zadal vstup a spadlo to a programator to musi fixnout.
jestli se crashi rika uspesny nebo neuspesny test to nevim :-)

gill

  • ****
  • 270
    • Zobrazit profil
    • E-mail
Re:Test selháním , test to fail - vysvětlení
« Odpověď #2 kdy: 14. 12. 2019, 14:15:07 »
Pokud test selhání očekává, je úspěšný.

Kit

  • *****
  • 704
    • Zobrazit profil
    • E-mail
Re:Test selháním , test to fail - vysvětlení
« Odpověď #3 kdy: 14. 12. 2019, 14:37:11 »
Vstupní data záměrně vybírám tak, aby podchytila hraniční hodnoty. Pokud má například pracovat s intervalem 0..100, tak do vstupu postupně vkládám hodnoty -1, 0, 1, 99, 100, 101. Na hodnoty -1 a 101 musí jednotka selhat - test zkontroluje, zda k selhání skutečně došlo a pokud ano, zahlásí úspěch, jinak selhání.

Re:Test selháním , test to fail - vysvětlení
« Odpověď #4 kdy: 14. 12. 2019, 14:59:26 »
Skvělé, děkuji za jasnou odpověď. Pak už mě jen napadá, že na testy musí být jasně vymezený čas, pokud se nedaří aplikaci shodit  a očekává se pád aplikace-tudíž neúspěch.


Kit

  • *****
  • 704
    • Zobrazit profil
    • E-mail
Re:Test selháním , test to fail - vysvětlení
« Odpověď #5 kdy: 14. 12. 2019, 15:11:03 »
Skvělé, děkuji za jasnou odpověď. Pak už mě jen napadá, že na testy musí být jasně vymezený čas, pokud se nedaří aplikaci shodit  a očekává se pád aplikace-tudíž neúspěch.

Zpravidla stačí počkat si na výsledek, čas není třeba specifikovat.

Proč píšeš "aplikace", když se tyto testy dělají hlavně jednotkové a integrační?

tecka

  • ***
  • 138
    • Zobrazit profil
    • E-mail
Re:Test selháním , test to fail - vysvětlení
« Odpověď #6 kdy: 14. 12. 2019, 16:15:02 »
Skvělé, děkuji za jasnou odpověď. Pak už mě jen napadá, že na testy musí být jasně vymezený čas, pokud se nedaří aplikaci shodit  a očekává se pád aplikace-tudíž neúspěch.
Ona se jaksi testuje hlavně aktuální verze na žádoucí/správné chování. Nebudu se ujišťovat, že mi známá chyba aplikaci shodí, ale účinnost opravy, tedy opak.

Kit

  • *****
  • 704
    • Zobrazit profil
    • E-mail
Re:Test selháním , test to fail - vysvětlení
« Odpověď #7 kdy: 14. 12. 2019, 18:59:13 »
Skvělé, děkuji za jasnou odpověď. Pak už mě jen napadá, že na testy musí být jasně vymezený čas, pokud se nedaří aplikaci shodit  a očekává se pád aplikace-tudíž neúspěch.
Ona se jaksi testuje hlavně aktuální verze na žádoucí/správné chování. Nebudu se ujišťovat, že mi známá chyba aplikaci shodí, ale účinnost opravy, tedy opak.

Takové testy ale nemají nic společného s vývojem řízeným testy. Je spousta druhů chyb, u kterých chceš, aby aplikace spadla, protože nesmí s tou chybou pokračovat dál.

creatura

Re:Test selháním , test to fail - vysvětlení
« Odpověď #8 kdy: 14. 12. 2019, 19:14:15 »
Ahoj, trošku tápu v teorii. Vím,  jak provést test selháním, ale z wiki  mi není jasné,
pokud  vložím nesmyslná vstupní data, u kterých předpokládám, že po nich aplikaci shodím-havaruje a aplikace skutečně spadne, je pak test uspěšný nebo neuspěšný? Děkuji moc za vysvětlení , nejlépe někoho z oboru testingu.
Prakticky jakýkoliv test který doběhne do konce je úspěšný. Jestli je jeho záporný výsledek úspěch pro tebe je druhá věc.

V případě testování aplikace kdy jí předhodím špatná data a ona spadne bych to viděl na "Úspěšně provedený test na neúspešné aplikaci."


Ještě nějaký problém ze školky?

Re:Test selháním , test to fail - vysvětlení
« Odpověď #9 kdy: 14. 12. 2019, 21:29:28 »
Skvělé, děkuji za jasnou odpověď. Pak už mě jen napadá, že na testy musí být jasně vymezený čas, pokud se nedaří aplikaci shodit  a očekává se pád aplikace-tudíž neúspěch.
Ona se jaksi testuje hlavně aktuální verze na žádoucí/správné chování. Nebudu se ujišťovat, že mi známá chyba aplikaci shodí, ale účinnost opravy, tedy opak.

Takové testy ale nemají nic společného s vývojem řízeným testy. Je spousta druhů chyb, u kterých chceš, aby aplikace spadla, protože nesmí s tou chybou pokračovat dál.
Podle mě je toto naopak úplně nejblíž tomu, na co se tazatel opravdu ptá.
Tzv. "failing test" napíšu tehdy, když aplikace nedělá co má, ale daný proces není pokrytý testem. Tedy se nejdříve napíše ten test (takže to je TDD), který mi ukáže, kde je chyba (selhává), a potom se opravuje aplikace. Po správné opravě test projde.