5

Niedawno obejrzałem Integration Tests are a Scam autorstwa J. B. Rainsbergera i teraz szukam więcej materiałów na ten temat. Muszę powiedzieć, że jestem zszokowany tym, jak bardzo robimy coś złego (tj. Testowanie integracyjne, kiedy powinniśmy przeprowadzić test jednostkowy), zaintrygowani koncepcjami opisanymi przez Rainsbergera, ale także mylić się, jak je zastosować. Chciałbym mieć więcej opisanych testów współpracy i testów kontraktowych , ale nie wiem od czego zacząć.Usuwanie "oszustwa związanego z testami integracyjnymi" - Zrozumienie testów współpracy i kontraktów

Jedyne rzeczy, które utknęło w mojej głowie są 4 pytania testy trzeba zapytać:

Side A:

Do I ask the right question? 
Can I deal with the answer? 

Side B:

Can I answer a question? 
Do I answer correctly? 

Ale jak mogę zastosować to do jakiejś przypadkowej metody w moim stosie aplikacji?

Czy istnieje książka lub samouczek lub przykład, który bierze przykład z prawdziwego świata i stosuje te pomysły z izolowanymi mikro testami? Idealnie przykład wykorzystuje język Java, C# lub C++.

Dowolna literatura, która ogólnie zajmuje się tymi pojęciami i pomoże mi lepiej je zrozumieć, byłaby doceniona.

Również jeśli istnieją fora tam, gdzie mogę zadać bardziej szczegółowe pytania dotyczące prawidłowego testowania jednostek, a może nawet refaktoryzacji istniejącego kodu i postów byłoby miło.

Dzięki!

+2

To wygląda jak piekło wiele kwestii w jednym zamachem. Możesz go zawęzić. I może (choć inni będą mogli to lepiej osądzić), może to lepiej pasować do Programmers SE? – Bart

+0

Tak, masz rację.Ogranicziłem to do pytania o zasoby informacyjne i opublikowałem szczegóły w dziale programisty. – Pete

+0

Programiści SE w rzeczywistości –

Odpowiedz

3

Polecam xUnitTestPatterns - Refactoring Test Code by Gerald Meszaros, który zapewnia pewien wgląd w twoje pytania i wiele szczegółów na temat dobrych i złych różnych praktyk podczas testowania na poziomie poszczególnych metod.

Jeśli przeczytałeś Refactoring autorstwa Fowlera, zobaczysz, że odpowiedź na twoje pytania niekoniecznie jest czarno-biała, ale oparta na heurystyce z twojego i innych doświadczeń.

+0

Dzięki za cynk. Dostałem to samo w programistach SE, więc mam dobre wyczucie, że mogę to zamówić. Fowler to nazwa, którą ostatnio słyszałem (przeczytanie "Growing Object Oriented Software sterowane testami"). Może ja też będę musiał to zdobyć. – Pete

1

Rainsberger zbyt wyolbrzymia jak nieefektywne testowanie integracja jest, aby udowodnić swój punkt w osiągnięciu ostatecznego jakość 100% (podstawowy poprawności) w kodzie

DBC koncentruje się na sformalizowanie obowiązki i korzyści poza obu stron A i B. Jest jak rozszerzenie interfejsu. Więc głównym celem staje się sama umowa, warstwa pośrodku, która mówi obu stronom, czy mogą ze sobą współdziałać.

Rainsberger wyraźnie mówi, że jak dotąd nie ma wyraźnej pomocy bibliotecznej lub językowej i nie udało się uzyskać zarówno mobów, jak i danych wejściowych B, aby zadać to samo, dając do zrozumienia, że ​​może to być praca doktorska dla kogoś.

Jednak Jim Weirich ma ładny przykład, w którym umowa jest OO-wzorzec do testowania i dla obu stron, że zgadzasz się używać je https://www.youtube.com/watch?v=7Yw744FMqTY

Powiązane problemy