Пользователи Pex: каковы ваши впечатления от Pex и автоматизированного исследовательского тестирования в целом?

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

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

Что означает исследовательское тестирование в QA? Похоже, что это совсем не похоже на исследовательское тестирование в отношении ISTQB / ISEB / IEEE / ISO. Разве это не инструмент, который анализирует ваш код и генерирует тестовые наборы на основе правил, которые он в нем реализовал? Похоже больше на экспертную систему, чем на исследовательское тестирование - en.wikipedia.org/wiki/Exploratory_testing.

yoosiba 25.07.2010 01:13

@yoosiba "Автоматизированное исследовательское тестирование" было фразеологией прямо из MS (channel9.msdn.com/posts/briankel/…). Похоже, с тех пор они отказались от этой терминологии.

Troy DeMonbreun 28.07.2010 00:59
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
21
2
1 579
5

Ответы 5

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

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

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

tdd В самом деле - это проектная деятельность? Не думаю, что я видел, чтобы кто-то позволял TDD принимать за них какие-либо дизайнерские решения. Они проектируют независимо и используют TDD для разработки кода.

John Nicholas 23.12.2010 18:33

Я пытаюсь улучшить свой TDD и обнаруживаю, что TDD действительно является дизайнерской деятельностью, ведущей дизайн больше, чем сам код.

Calanus 17.03.2011 15:26

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

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

Отредактировал описание, чтобы указать на возможное совпадение, я хотел получить обратную связь о том, какую часть их модульных тестов TDDer, использующие Pex, смогли параметризовать. Кроме того, хотелось бы узнать как о недостатках, так и о достоинствах.

Troy DeMonbreun 18.09.2008 19:06

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

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

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

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

именно так я сейчас к этому отношусь, но пытаюсь понять, почему Pex не кажется массивным

roundcrisis 02.07.2010 16:10

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

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

Другие вопросы по теме