Какие методы для модульных тестов с плохими функциональными требованиями и без спецификаций дизайна?

Насколько я понимаю, спецификации дизайна помогают сформулировать сценарии модульного тестирования, которые используют внутренние знания (методы белого ящика), в то время как, если у нас есть только функциональные требования, методы черного ящика больше подходят.

Что произойдет, если у нас нет проектных спецификаций, а требования часто расплывчаты или не имеют определенных границ? Как это повлияет на процесс модульного тестирования? И как вы это компенсируете? Используете ли вы свой опыт или конкретную практику/технику, чтобы заполнить пробелы?

Будет ли лучше подходить сначала разработка функциональности? По мере того, как вы продолжаете развиваться и узнавать больше о том, как это работает внутри, вы можете в какой-то момент использовать методы белого или черного ящика. Вы используете свой предыдущий опыт работы с подобными ситуациями для завершения функциональности, что означает, что вы могли сами написать функциональное требование. На данный момент, вы идете на белый ящик? черный ящик? Или это зависит от риска/важности нового функционала?


person user3605138    schedule 23.10.2014    source источник
comment
Хотя это могут быть интересные вопросы, они не относятся к теме SO. Они могут быть в порядке на programmers.stackexchange.com, но прочтите их помочь   -  person greg-449    schedule 23.10.2014
comment
Никакая методология не может реально помочь вам, если вы понятия не имеете, куда идете. Если вы занимаетесь исследовательским программированием, чтобы выяснить, куда вы пытаетесь попасть, это нормально; но тогда вам не нужны модульные тесты на этом этапе. Запустите модульное тестирование, если у вас есть код, предназначенный для определенной цели. Если вы не знаете цели, сначала выясните ее.   -  person deceze♦    schedule 24.10.2014


Ответы (1)


Я предполагаю, что вы говорите о TDD

Будет ли лучше подходить сначала разработка функциональности? По мере того, как вы продолжаете развиваться и узнавать больше о том, как это работает внутри, вы можете в какой-то момент использовать методы белого или черного ящика.

или будет сложно создать модульные тесты для отсутствующей функциональности. Если предположить, что их основная идея заключается в осуществлении

наименьшая тестируемая часть приложения

и в основном создаются разработчиками. Если дело

не имеют проектных спецификаций, а требования часто расплывчаты или не имеют определенных границ

чем дизайн кода и реализация, скорее всего, будут с теми же характеристиками. И юнит-тесты не помогут. ИМХО, важно знать, что строится, прежде чем тестировать, даже для TDD.

person ekostadinov    schedule 24.10.2014