Evinek
20.07.2018, 13:03:29
Czy ktoś z was miał styczność może z testami mutacyjnymi? Obojętnie w jakim języku.
https://pl.wikipedia.org/wiki/Testowanie_mutacyjneBiblioteka dla PHP:
https://github.com/humbug/humbugJestem ciekaw jak to wygląda w praktyce.
Robiliście takie testy?
Jak wygląda wydajność takiego testowania?
Czy pomaga wam to przy testach jednostkowych?
Mnie osobiście temat zainteresował. Jeszcze nie próbowałem tego, ale na pewno sprawdzę i zobaczę co z tego wyjdzie.
Zapraszam do dyskusji
To wygląda mi na testowanie testów... W mojej opinii jedyne gdzie mogłoby to się przydać, to przy testowaniu integracyjnym, gdzie jest spora szansa, że nie wyłapie się jakiegoś scenariusza.
markuz
20.07.2018, 13:44:23
Ja nie robiłem, ale ogólnie chodzi o sprawdzenie jakości testów, jeżeli po mutacjach testy dalej przechodzą to coś może być nie tak

Gdybym dostał jakiś projekt IT z zewnętrznej firmy gdzie są testy to na szybko własnie testami mutacyjnymi mógłbym sprawdzić ich jakość.
Wątpię, by kiedykolwiek była sytuacja, aby w żywym organizmie unit testy po prostu przeszły przy zmianie kodu testowanego - wtedy nie testowały by nic. Ale w zasadzie - trochę się czepiam. Imo lepiej przy przejmowanym projekcie samemu ogarnąć co się w testach dzieje, chociażby po to by ogarnąć w projekcie co się dzieje.
Druga sprawa, unit testy powinny być krótkie, więc na prawdę trzeba byłoby nie umieć pisać zupełnie testów, żeby coś tam pominąć. Co innego integracyjne.
Pyton_000
21.07.2018, 22:39:15
Testy mutacyjne przydają się gdy chcemy sprawdzić czy edge case'y są pokryte.
Testy mutacyjne działają na zasadzie podmiany warunków w żywym kodzie i puszczane na nich testy. Jeśli testy przechodzą to znaczy że jest ok. To jest o tyle fajna sprawa że nie zawsze może się udać przewidzieć każdy przypadek a testy to wychwycą. Fakt że czasami mutacja może być bez sensu ale to już samemu trzeba ocenić.