„Dlaczego po prostu uważasz, że Twoje testy są dobre, kiedy możesz mieć pewność? Czasami Jester mówi mi, że moje testy są hermetyczne, ale czasem zmiany, które stwierdza, są niespodziewane. Gorąco polecam. ”- Kent Beck
Ale widzę, że w stosie przepływu nie ma nawet tagu „ Jester ”. Więc jaki jest współczesny zamiennik Jester , jeśli w ogóle? Skąd można mieć pewność, że napisane testy jednostkowe są solidne, inne niż wyszukiwanie statystyk z pokrycia kodu z narzędzi takich jak Cobertura i Clover ?
java
unit-testing
code-quality
tdd
Maniak
źródło
źródło
Odpowiedzi:
O ile mi wiadomo testowanie mutacji pozostaje najlepszym zautomatyzowanym procesem pomiaru jakości zestawu testów. Są dwa dobre, nowoczesne zamienniki błazna
http://pitest.org (jestem autorem)
https://github.com/david-schuler/javalanche/
Szczegółowe porównanie między nimi, błaznem i kilkoma innymi systemami jest dostępne tutaj
http://pitest.org/java_mutation_testing_systems/
Myślę, że głównym powodem, dla którego błazen nigdy nie wystartował, było to, że było niewykonalnie wolne i bardzo źle skalowane.
PIT i javalanche próbują rozwiązać ten problem w podobny sposób. Zamiast ślepo uruchamiać wszystkie testy w projekcie przeciwko mutacji, najpierw zbierają zasięg linii i przeprowadzają tylko te testy, które mogą faktycznie trafić w mutację.
PIT wykonuje również różne inne optymalizacje w celu przyspieszenia i oferuje możliwość ponownego wykorzystania wyników poprzedniej analizy, aby znacznie zmniejszyć koszty obliczeniowe kolejnych przebiegów.
źródło