2008-09-12 15 views
21

Ci z was, którzy używali Pex, jakie są wasze wady i zalety Pex jako narzędzia?Użytkownicy Pex: jakie są Twoje wrażenia z Pex i zautomatyzowane testy eksploracyjne w ogóle?

Co sądzisz, jakie są zalety i wady "automatycznego eksploracyjnego testowania" w ogóle, jako uzupełnienie do TDD/testowania jednostek?

+0

Co to jest testowanie eksploracyjne w rozumieniu QA? Wygląda na to, że nie jest to tak blisko testowania eksploracyjnego w odniesieniu do ISTQB/ISEB/IEEE/ISO. Czy to nie narzędzie analizuje Twój kod i generuje Przypadki Testowe na podstawie reguł, które zaimplementował w nim? Brzmi bardziej jak system ekspercki niż testowanie eksploracyjne - http://pl.wikipedia.org/wiki/Wyszukiwarka eksploracyjna. – yoosiba

+0

@yoosiba "Zautomatyzowane badania eksploracyjne" to frazeologia prosto z MS (http://channel9.msdn.com/posts/briankel/Pex-Automated-Exploratory-Testing-for-NET/).Wygląda na to, że od tego czasu wycofali się z tej terminologii. –

Odpowiedz

12

Myślę, że Pex jako narzędzie do testowania eksploracyjnego jest naprawdę intrygujące. W tym względzie widzę to jako coś, co chciałbym przekazać QA do użycia.

Jako narzędzie TDD, potrzebuje trochę pracy, ponieważ TDD jest działaniem projektowym. Jednak podoba mi się kierunek, w którym zmierza Peli. Jest coś do powiedzenia na temat projektowania wspomaganego automatycznie. Na przykład, tylko dlatego, że TDD jest narzędziem do projektowania, nie ma powodu, dla którego nie mógłbym mieć automatycznego narzędzia wskazującego potencjalne przypadki brzegowe podczas projektowania, prawda? Buduj jakość od samego początku.

Zobacz ten wpis, w którym Peli używa Pex w przepływie pracy w stylu TDD. http://blog.dotnetwiki.org/TDDingABinaryHeapWithPexPart1.aspx

+0

to tdd * naprawdę * działalność projektowa? Nie sądzę, że widziałem, jak ktoś pozwalał TDD podejmować decyzje projektowe. Projektują niezależnie i używają TDD do tworzenia kodu. –

+0

Próbuję poprawić swoje TDD i odkryć, że TDD naprawdę jest działaniem projektowym, prowadząc projekt bardziej niż sam właściwy kod. – Calanus

14

Pex pozwala na sparametryzowanie testów jednostkowych sparametryzowanych. W tym sensie całkowicie pasuje do przepływu testów TDD/jednostek: zapisz test, Pex "zbadaj" go, znajdź jakieś testy, napraw kod i tak dalej.

Dużą zaletą jest to, że możesz wyrazić swoje testy dla klas wejść, a nie tylko parę zakodowanych wartości. Daje to większą wyrazistość w pisaniu testów, a także zmusza do myślenia o niezmienności/oczekiwaniu, że Twój kod wypełni się (tj. Trudniej jest pisać asercje).

+0

Edytował opis, aby wskazać możliwe nakładanie się, chciałem uzyskać informację zwrotną na temat tego, ile ich testy jednostkowe TDDer przy użyciu Pex były w stanie sparametryzować. Chciałbym również poznać wady i zalety. –

5

Jestem naprawdę napompowany Pex. Zapewni testy dla przypadków edenckich, których nigdy nie wymarzysz, zwłaszcza jeśli Twój zespół jest mały, a osoba pisząca metody jest taka sama jak osoba pisząca testy.

Zobowiązuje się również do zobowiązań umownych, zgodnie z którymi stosowane będą metody.

6

Jeśli szukasz literatury na temat pisania teorii (google David Saff) - które są bardziej ogólnym sposobem pisania testów jednostkowych i używasz Pex jako odkrywcy teorii Z mojego doświadczenia wynika, że ​​od czasu mojego doświadczenia doszło do skokowej zmiany wydajności . Właśnie napisałem post na blogu opisujący moje doświadczenia z Pex w TDD, tutaj: http://taumuon-jabuka.blogspot.com/2009/01/theory-driven-development-using_11.html

i jak powiedziałem - widzę to jako TDD na sterydach! W żaden sposób nie zastępuje TDD, ale wzmacnia działanie.

+0

to jest sposób, w jaki w tej chwili się z tym czuję, ale próbuję zrozumieć, dlaczego Pex nie wydaje się być masywny – roundcrisis

3

Opracowanie po raz pierwszy sprawia, że ​​struktura kodu staje się testowalna. Pod tym względem Pex znajduje sprytne i niezręczne ścieżki za pomocą kodu, pomagając poza prostymi wskaźnikami zasięgu.

Major forte of Pex with Moles umożliwia śledzenie efektów ubocznych podczas tworzenia Brownfield: uruchom Pex raz i zapisz wyniki, następnie zastosuj zmiany w kodzie i ponownie uruchom Pex, aby zobaczyć, co zostało zepsute.

Powiązane problemy