Готово!
Скоро материал придет на указанную электронную почту. Также подписывайте на нас в Facebook
Ok
Проект выходит на новый уровень? Тестирование необходимо
- хотфиксы выходят чаще, чем релизы;
- или служба поддержки завалена запросами и непрерывно разбирает критичные дефекты;
- или значимые когорты пользователей не могут получить ключевые функции сервиса. И, даже выявив проблемы на этом этапе, не всегда возможно понять, как отрегулировать процесс целиком, ведь зачастую каждый элемент цепи в отдельности выполняет свою работу хорошо, а конечный результат не радует. Подумайте, возможно, пришло время нанять тестировщиков?
Тестирование, выполняемое самостоятельной профессиональной группой, называется независимым. Чем меньше команда влияет на проводимые тестировщиками процедуры и выводы, тем более оно независимое.
Необходимость в профессиональном независимом тестировании возникает при следующих условиях:
1. Стремительный рост
Успех продукта в конкурентной борьбе — отличное событие, а также неожиданная нагрузка на производство. Новые пользователи, новые требования, масштабные изменения вынуждают команду выполнять больше задач в меньшие сроки. В итоге у команды не остаётся времени на тестирование либо интуитивное тестирование (Ad-hoc testing) пропускает критичные дефекты.Тестирование развивается параллельно с другими областями знаний производства ПО.
Подходы и методологии не так изменчивы, последнее новшество в области тест-дизайна было опубликовано в 2009 году, Джеймсом А. Уиттакером в книге «Exploratory Software Testing». Тем временем новые инструменты для проведения тестирования разрабатывают непрерывно, среди них:
Инструменты для быстрой проверки верстки на разных браузерах и девайсах, сверки с макетами, проверки орфографии, времени отклика страницы и т. д.;
Инструменты для выполнения, перенаправления, изменения, декодирования, отслеживания API-запросов;
Инструменты для подготовки тестовых данных и условий в web, desktop, mobile, api приложениях.
Профессиональные тестировщики улучшают и ускоряют тестирование с помощью актуальных техник и инструментов, уделяют особое внимание поиску эффективных решений, позволяя при этом команде сосредоточиться на модернизации бизнес-процессов.
2. Энтропия
Программный продукт-долгожитель говорит о стабильности бизнеса. С другой стороны, в течение нескольких лет продукт адаптировался под рынок, заказчиков, пользователей, накапливал разнообразный функционал, в том числе логически противоречивый. Статистика HR-портала показывает, естественный уровень текучести персонала в IT — 8-10% в год, значит за 5 лет команда разработки может обновиться почти на половину. За время жизни продукта в команде может поменяться архитектор и ключевые разработчики, люди, знавшие изначальную архитектуру и логику ее масштабирования.
По мнению Ф. Брукса в работе «Мифический человеко-месяц», любая система стремится к разрушению структуры и увеличению энтропии с каждым новым исправлением. Со временем продукт обрастает так называемым legacy-кодом, унаследованным от несовместимого функционала, быстрого багфикса, неопытного разработчика. Вместе с тем под давлением сроков команда не всегда успевает покрывать код юнит-тестами. В таких условиях невозможно предсказать, на какие участки кода повлияет то или иное исправление и какой дефект породит.
Профессиональные тестировщики проверяют не только новые функции, но и регресс всей системы. Содержание и способ проведения регрессионного тестирования — предмет отдельного фокуса.
Продолжение статьи читайте на Хабр.
