Гибкое тестирование

Что такое гибкое тестирование?

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

Преимущества гибкого тестирования

  • Гибкое тестирование экономит время и деньги

  • Меньше документации

  • Регулярная обратная связь от конечного пользователя

  • Ежедневные встречи могут помочь заранее определить проблемы

Принципы гибкого тестирования

  • Testing is NOT a Phase: Непрерывное командное тестирование Agile и непрерывное тестирование - единственный способ обеспечить непрерывный прогресс.

  • Testing Moves the project Forward: При использовании традиционных методов тестирование считается воротами качества, но гибкое тестирование обеспечивает постоянную обратную связь, и продукт соответствует требованиям бизнеса.

  • Everyone Tests: В обычном SDLC тестирует приложение только команда тестировщиков, в то время как в Agile, включая разработчиков и BA, тестируют приложение.

  • Shortening Feedback Response Time: В обычном SDLC только во время приемочного тестирования бизнес-группа узнает о разработке продукта, в то время как в Agile для каждой итерации они участвуют, а постоянная обратная связь сокращает время отклика обратной связи, а также меньше затрат, связанных с исправлением.

  • Clean Code: Возникшие дефекты исправляются в рамках той же итерации, тем самым сохраняя чистоту кода.

  • Reduce Test Documentation: Вместо очень длинной документации гибкие тестировщики используют многоразовый контрольный список, сосредотачиваясь на сути теста, а не на случайных деталях.

  • Test Driven: В традиционных методах тестирование выполняется после реализации, в то время как в гибком тестировании тестирование выполняется во время реализации.

Лучшие практики гибкого тестирования

1. Automated Unit Tests
2. Test Driven Development
3. Automated Regression Tests
4. Exploratory Testing