Пользователи Pex: каковы ваши впечатления от Pex и автоматизированного исследовательского тестирования в целом? - PullRequest
21 голосов
/ 12 сентября 2008

Те из вас, кто использовал Pex , как вы думаете, в чем его преимущества и недостатки Pex как инструмента?

Кроме того, каковы, по вашему мнению, преимущества и недостатки "Автоматизированного поискового тестирования" в целом, в качестве дополнения к TDD / Unit Testing?

Ответы [ 5 ]

14 голосов
/ 17 сентября 2008

Pex позволяет писать параметризованные модульные тесты. В этом смысле он полностью вписывается в процесс тестирования TDD / unit: напишите тест, попросите Pex «исследовать» его, найдите несколько неудачных тестов, исправьте код и т. Д.

Большим преимуществом является то, что вы можете выражать свои тесты для классов входных данных, а не просто для пары жестко заданных значений. Это дает больше выразительности при написании тестов, а также заставляет задуматься об инварианте / ожидании того, что ваш код должен полностью заполниться (т. Е. Сложнее писать утверждения).

12 голосов
/ 12 сентября 2008

Я думаю, что Pex как инструмент для исследовательского тестирования действительно интригует. В связи с этим, я вижу это как то, что я хотел бы передать QA для использования.

Как инструмент TDD, он требует некоторой работы, поскольку TDD - это проектная деятельность. Тем не менее, мне нравится направление, в котором движется Пели. Есть что-то, что можно сказать об автоматизированном проектировании. Например, просто потому, что TDD - это инструмент проектирования, нет причины, по которой я не могу позволить автоматизированному инструменту указывать потенциальные крайние случаи во время разработки, верно? Качество сборки с самого начала.

Проверьте этот пост, в котором Peli использует Pex в рабочем процессе в стиле TDD. http://blog.dotnetwiki.org/TDDingABinaryHeapWithPexPart1.aspx

6 голосов
/ 12 января 2009

Если вы ищете литературу по написанию теорий (google David Saff), которая является более общим способом написания модульных тестов, и используете Pex в качестве исследователя теорий, я обнаружил, что шаг в производительности по сравнению с моим опытом пока не найден. Я только что написал сообщение в блоге, подробно описывающее мой опыт работы с Pex в TDD, здесь: http://taumuon -jabuka.blogspot.com / 2009/01 / теория-управляемой-разработки-using_11.html

и как я уже сказал - я вижу это как TDD на стероидах! Он никоим образом не заменяет TDD, но повышает активность.

5 голосов
/ 07 ноября 2008

Мне действительно нравится Пекс. Он предоставит тесты для тех случаев, когда вы даже не придумаете, особенно если ваша команда небольшая и человек, пишущий методы, такой же, как и человек, пишущий тесты.

Он также предусматривает договорные обязательства, которым будут следовать ваши методы.

3 голосов
/ 23 июля 2010

Разработка в тестовом режиме позволяет структурировать ваш код для тестирования. В этом отношении Pex находит умные и неуклюжие пути через ваш код, помогая не только в простых показателях покрытия.

Основная сильная сторона Pex с Moles - это возможность отслеживать побочные эффекты при разработке Brownfield: запустите Pex один раз и сохраните выходные данные, затем примените изменения кода и снова запустите Pex, чтобы увидеть, что сломалось.

...