Вот мои ответы на вопросы:
1. На какой стадии разработки ПО пишутся пользовательские сценарии
Во-время, уточнения требований и создания основной тестовой документации ?
Предполагается, что требования известны, одновременно ведется разработка функционала и тестовой документации в рамках текущей итерации. С позиции зрелости приложения, смысл в BUS появляется, когда весь необходимый функционал разработан. Имеется в виду итерационный процесс разработки, когда функционал наращивается постепенно. По моему опыту это после 10-11 месяца из 24.
2. Какова их эффективность в сравнении с тестовыми случаями?
Вопрос кажется некорректным. BUS это логически, сценарно связанная последовательность Test Cases.
Судя по всему, мелкие дефекты так и останутся на ПМЖ в конечном продукте, однако предполагается выиграш во времени, потраченном на тестирование. Оправдано ли это?
Собственно, разработка и переход к BUS вызваны недостатком времени и попытка минимизировать этот риск (ограничение).
3. Предполагает ли использование юзер кейсов полного отказа от привычной тестовой документации (тест плана, чек листа, тестовых примеров)?
Тестовая документация (у нас) основывается на спецификации функциональных требований, содержащей use cases. Также BUS и пр. пишутся на основе знаний и опыта, здравого смысла, понимания предметной области, специфики использования софта.
Тест план, чек лист, тест примеры, BUS - все это используется по ситуации, догмы нет. Что от вас требуют, то и пишите. Если ничего не требуют, вааще лафа.
4. Оптимальная структура и где/как хранить? (uml диаграммы, MS Excel, mind maps)?
Тест менеджер, в идеале полностью интегрированный с функц. требованиями, SVN и тд. ;-)
Это бесплатный Testlink или дорогой SilkCentral.
Структура стандартная, стандарты разные, начиная от action/expected result и заканчивая неформальным описанием последовательности действий.
5. Кто должен проходить пользовательские сценарии?
Непосредственно ответственный qa специалист или возможно приглашать другого qa, который с "незамыленным взглядом" сможет увидеть то, что человеку знающему ПО в деталях уже неподвластно?
Если есть ресурсы, то зашибись. Но вообще-то лучше это делать опытному участнику тестировочной команды. Тестеры должны шарить свои доки, а тест-менеджер должен их тасовать, так как в идеале каждый тестер должен уметь прогонять полный набор смок тестов, ориентироваться в софте на 100% и грамотно осуществлять тест анализ функц требований, которые могут быть локальными, неполными, не учитывающими все взаимосвязи, зависимости в сложном софте. Это постоянный риск на определенном этапе разработки. Это как минимум.
6.На каком этапе должны выполняться? (регрессионное тестирование или тестирование новой функциональности)
На обоих ;-)
7. Каково пересечение exploratory testing(о котором говорил Майкл Болтон) и use cases?
Я бы сказал, что пересечения нет. Exploratory testing дополняет, обеспечивает более полное покрытие критических функций в случае локальных или неполных требований. В моей практике Use Cases всегда локальны.
Сообщение отредактировал CVD1: 05 декабря 2010 - 18:46