среда, 7 января 2009 г.

Рабочий процесс(workflow) с QA

Всем привет.Захотелось написать о рабочем процессе разработки ПО и самое главное где впихнуть в уже имеющийся процесс свой QA отдел.В принципе эту тему я как то затронул в другом своем посте, но он честно говоря был уже написан давно и так рекламировать Trac я уже не стану. Теперь конкретно по теме:
1. Рабочий процесс разработки ПО практически всегда начинается со сбора требований. Так вот уже здесь лучше всего привлечь QA специалиста. Почему? Потому что первостепенной задачей для любого QA всегда должна быть проверка правильности выполненной бизнес логики. И узнать эту логику лучше всего еще до начала реализации. Опять же если у вас отличная документация к проекту или хорошо налаженная коммуникация с командой программистов, то этот шаг может быть будет и не нужен.
2. После сбора требований обычно пишут ТЗ. Здесь я бы советовал паралельным ходом уже начать писать тестплан для ПО(версии, релиза или продукта суть не важна, все зависит от вашей процедуры внедрения). Кроме сценариев, если это нужно, помочь в описании заказчику сценариев приемочного тестирования. Надеется на то, чтобы описать тестплан позже, лучше не надеется и описать его сразу же, а в дальнейшем по тихоньку его дополнять и улучшать.
3. Если ТЗ подписали, то начинается непосредственный этап реализации. Здесь очень важно, что для водопадной модели и любой ajile модели процесса, построить процесс так, чтобы после окончания любой задачи, она попадала на тестирование. Это поможет сократить сроки выполнения проекта и позволит быстрее получать ошибки от QA отделу программистов.
4. Непосредственно после реализации всего проекта должен быть выделен отдельный этап полного тестирования проекта. К этому времени у QA просто должен быть полный тест план и рабочие автоматизированные GUI тесты по нему. Здесь исправляются все имеющиеся ошибки и билд становится стабильным.
5. Следующий этап - отправка дистрибутивов. Почему это отдельный этап? Просто хотелось бы подчеркнуть, что именно QA лучше всего отправлять дистрибутивы на сторону заказчиков. Поскольку именно QA должны знать какой из дистрибутивов является стабильным, а какой нет.
6. Этап внедрения. Здесь важно понимать, что ошибки или дополнения так или иначе будут в 80% случаев. Исключить ошибки на данном этапе возможно лишь одной из методик XP - "customer on-site". Это мало когда бывает, но это возможно. Стоит подчеркнуть, что все найденные на стороне заказчика ошибки или дополнения сперва должны попадать в руки QA на воспроизведение. Этим выставляется некий фильтр на большой поток запросов от заказчика :)
7. Конец проекта(релиза, версии) и много, много пива :). Этот пост можно считать первой частью разговора об issue tracker и его роли.
Продолжение будет в следующем посте :) Всех с прошедшим Новым Годом!!!

Комментариев нет:

Отправить комментарий