вот вы зря, на мой взгляд, говорите, что разработка вас не интересует.Кто сталкивался с Разработкой через тестирование? Собственно сам процесс разработки меня не интересует, а интересует как потом это тестировать. Т.е. нужно ли Integration и System тестирование в такой же мере как и при любой другой модели разработки? Я читала, что рекоммендуют Exploratory testing, а как это вообще планировать?
В общем, если у вас был опыт, делитесь
попробую сейчас объяснить почему.
TDD может использоваться в методологих Agile. суть любой методологии Agile (их несколько) сводится к разработке ПО интерациями. Выглядит это примерно так (например): проект разбит на итерации. скажем, каждые 2 недели. в конце каждой второй недели заказчик должен получить ощутимый результат - продукт, с неработающими фичами, как правило, на начальных итерациях.
в понедельник все собрались, поняли что будет в сделано в новой итерации. и тут же все сели работать. разработчики- код писать (некоторые составляют decision table matrix), тестеры - писать скрипты (даже если они явно провалятся вначале) и т.д.
к концу итерации тестеры пытаются оттестировать то, что готово. подкорректировать скрипты, которые были созданы для предыдущих итераций.
в каждой итерации идет component testing (unit testing), integration (который тестирование взаимодейтсвие компонентов - функций, процедур и тд) testing.
если UI тестируем, то можно проводить Exploratory testing. однако как правило в коротких итерациях не хватает времени для него и его откладывают до той итерации, когда Ui нормализуется. а на начальних занимаются boundary analysis например. тестируют функционал формальными методами.
и тут же с самого начала тестеры проводят volume testing, stress testing и другие виды нефунк. тестирования, посколько это позволяет быстро отловить проблемы в коде, связанные с этим. иначе в конце рефакторинг кода приводит к новым ошибкам