Когда в Спринте должно произойти исправление ошибки и окончательное тестирование?

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

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

Но это нереально, мы не знаем, сколько времени займет тестирование.

Когда в Спринте должно произойти исправление ошибки и окончательное тестирование?

Если тестировщики начнут планировать и писать свои автоматизированные сквозные тесты (TDD) в начале нашего спринта до / во время разработки функций, чтобы при развертывании нашего кода в тестовой среде они могли немедленно запустить свои автоматизированные тесты (используя SpecFlow и Selenium).

Какова лучшая практика на этом?

3 ответа

Когда в Спринте должно произойти исправление ошибки и окончательное тестирование?

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

Scrum просит предоставить продукт, который может быть доставлен конечному пользователю (не для команды тестирования). В настоящее время ваш процесс идет против Agile Manifesto, так как он говорит:

Индивидуумы и взаимодействия более ценны, чем процессы и инструменты

У вас нет взаимодействия между разработчиками и тестерами во время спринта. В Scrum framework кросс-функциональная команда практически необходима. Вы должны иметь тестеров как неотъемлемую часть процесса разработки программного обеспечения, то есть работать вместе с разработчиками на протяжении всего процесса. Ваш процесс должен убедиться, что:

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

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

команда Scrum делает все, чтобы взять небольшой набор функций от идеи до кодированной и проверенной функциональности. http://www.mountaingoatsoftware.com/topics/scrum

Теперь к вашей другой точке:

Но это нереально, мы не знаем, сколько времени займет тестирование.

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

Тестировщик будет отвечать за предоставление оценок о создании данных, тестовых случаях / дизайне приемочных тестов, выполнении тестов, проектировании / улучшении фреймворка, задачах сценариев, средах настройки и т. Д. Http://www.scrumalliance.org/community/articles/ 2013 / июнь / тестеры работоспособных-в-ан-проворная-команда

Этот пост также может помочь: Какова роль тестера QA в команде Scrum?

"Определение выполненного" должно включать элементы, связанные с тестированием (будь то юнит-тесты, BDD, TDD, ATDD, критерии приемки и т. Д.).

Причина проста: в конце Спринта команда разработчиков должна создать "Прирост продукта", который "Потенциально доступен". Это означает, что вся работа была проделана. Дизайн, разработка, тестирование, документация и т. Д.

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

Вот большая идея: возложить на разработчиков ответственность за тестирование собственного кода и исправление собственных ошибок. Измените роль персонала QA, чтобы быть консультантами и советниками, а не привратниками в конце спринта.

В Assembla мы нашли три огромных преимущества этого подхода:

  1. Разработчики лучше знают код, поэтому они могут быстрее и эффективнее устранять дефекты.

  2. Ответственность за исправление дефектов дает убедительный стимул для разработчиков создавать хорошие тесты и принимать лучшие решения о том, когда функция действительно "сделана".

  3. Сотрудники QA могут перейти к более стратегической роли, предоставляя советы и опыт разработчикам и отслеживая общее качество и производительность команды. Они получают больше уважения!

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

Вы можете найти более подробную информацию об этих идеях на http://www.continuousagile.com/unblock/cd_roles.html. Это страница из новой книги под названием "Разблокировать! Руководство по новой непрерывной гибкой" ( http://www.continuousagile.com/unblock/).

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