Обеспечение качества программного обеспечения – сложный процесс, который включает в себя определение параметров качества, разработку стратегии тестирования, проведение различных проверок ПО, обнаружение и описание дефектов, измерение полученных результатов, оптимизацию процессов и внесение необходимых изменений.
Один из вопросов, который важно решить до начала работы над проектом: выполнять проверки вручную или внедрять автоматизированное тестирование ПО?
Ручное и автоматизированное тестирование ПО обладают преимуществами и своими сложностями, которые нужно знать для принятия взвешенного решения и получения ожидаемого результата.
Ручное тестировании - это тест-кейсы, запускающиеся вручную без использования программных средств. Собственно, это понятно из названия. Соответственно, автоматизированное тестирование - это запуск тест-кейсов, осуществляющийся при помощи специально разработанных скриптов.
На любом проекте важны три фактора: время, стоимость и качество. Для успешного выполнения проекта важно сократить стоимость и время с сохранением качества. Когда речь заходит о тестировании, один подход с этой задачей может помочь справиться лучше, чем второй.
Ручное и автоматизированное тестирование: за и против
Тестирование ПО может выполняться различными методами: методом черного или белого ящика, проводиться по заранее подготовленным сценариям или интуитивно.
Тестирование может быть различных уровней: модульное, системное, интеграции. А также может быть направлено на проверку различных аспектов качества: производительности, безопасности и т.д.
Как же решить, когда стоит инвестировать в автоматизацию, а когда выгоднее проводить проверки вручную?
Ниже в таблице приводим краткое сравнение обоих подходов:
А теперь перейдем непосредственно к видам тестирования.
Ручное тестирование по: когда применять?
Обобщенно говоря, ручные проверки рекомендуются при следующих видах тестирования:
- Исследовательское тестирование. Сценарии для тестирования выбираются исходя из опыта инженера, его опыте, основываются на логических умозаключениях и интуиции. При этом у тестировщика отсутствует качественная документация, а тестирование должно быть завершено в сжатые сроки. Данный вид тестирования помогает за короткое время обнаружить наиболее критичные дефекты.
- Тестирование юзабилити (тестирование удобства использования). При проведении данного вида тестирования тестировщику важно определить, насколько удобным будет продукт для конечного пользователя. Естественно, тесты должны проводиться и анализироваться человеком.
- Интуитивное тестирование (ad-hoc testing). Данный вид тестирования выполняется без заранее разработанного сценария и определенных результатов. Выполняя проверки, тестировщик импровизирует и полагается на здравый смысл, свой опыт и знание продукта.
Какие виды автоматизированного тестирования программного обеспечения рекомендуются?
- Регрессионное тестирование. Данный вид тестирования – первый кандидат на автоматизацию из-за регулярного запуска тестов. На долгосрочных проектах автоматизация позволяет значительно сократить затраты на обеспечение качества продукта.
- Нагрузочное тестирование. Автоматизация нагрузочного тестирования позволяет быстрее получать результаты, экономить на мощностях и стоимости инструментов.
- Тестирование локализации. Если продукт будет выводиться на мировой рынок, его необходимо адаптировать к культурным аспектам разным странам. Локализация включает в себя перевод всех элементов интерфейса, служебных элементов, адаптацию режима отображения даты, времени, единиц измерения, валюты.
При этом если продукт регулярно обновляется, добавляется новая функциональность, то тестирование локализации выгоднее проводить в автоматическом режиме.
Стоит отметить, что нередко наиболее выигрышным сценарием является сочетание двух подходов. При этом доля автоматических и ручных тестов будет варьироваться в зависимости от требований проекта, бюджета, сроков, в которые должно уложиться тестирование, экспертизы команды.
Заключение
Автоматизированные скрипты позволяют получать более точные результаты, они доступны для повторного использования. Вручную можно протестировать практически любое приложение, иногда даже без предварительной подготовки. Грамотная комбинация подходов позволит вам оптимизировать бюджет на тестирование и получить продукт высокого качества.
Как быстро подобрать оптимальный вариант для вашего ПО?
Закажите бесплатную консультацию специалистов «Точки качества», и мы предложим вам стратегию и подберем необходимые виды тестирования, исходя из особенностей именно вашего продукта.