Существует два подхода к тестированию программного обеспечения: ручное тестирование, где все проверки выполняют люди, и автоматизированное, при котором инженеры заранее пишут код и затем тесты осуществляются компьютерами. За последнее десятилетие второй подход стал очень популярным. Многие операции, которые ранее выполнялись вручную, сегодня полностью автоматизированы. Автотесты лучше подходят для часто повторяющихся задач, они экономят время и деньги при работе над крупными проектами и обеспечивают более полное тестовое покрытие.
Согласно опросу, проведённому компанией PractiTest, только 11% компаний не используют автоматизацию в процессе обеспечения качества. 75% респондентов подтвердили, что используют автоматизированные тесты в функциональном и регрессионном тестировании, а 49% отметили, что также используют инструменты автоматизации в нагрузочном и стресс-тестировании.
Учитывая все эти тенденции, многие люди начинают задаваться вопросами: «А так ли необходимо ручное тестирование?», «Нужны ли компаниям ручные тестировщики?», «Как скоро автоматизированное тестирование заменит ручное?» На самом же деле, ручное тестирование никуда не исчезнет. Вот десять причин, почему в разработке программного обеспечения без него не обойтись.
- Ручное тестирование необходимо для оценки удобства пользования приложением.
Проверка юзабилити — это первое, что приходит в голову, когда мы говорим о важности ручного тестирования. Только человек способен проверить, какое первое впечатление производит приложение, удобно ли им пользоваться, а также адекватно оценить эстетический вид интерфейса. И эта часть QA процесса не может быть автоматизирована.
- Для небольших проектов ручное тестирование более рентабельно.
Инструменты автоматизации стоят дорого. Их настройка и обслуживание также требуют значительных затрат. Но когда компания работает над сложным долгосрочным проектом, такие инвестиции со временем окупаются. А вот с небольшими приложениями дела обстоят иначе. Их проще проверять вручную, так как затраты на автоматизацию себя не оправдывают.
- Небольшие изменения удобнее тестировать вручную.
Один из самых частых доводов сторонников автоматизации — это то, что автотесты экономят время. Однако не стоит забывать о дополнительных часах, необходимых для подготовки тестовой среды или написания сценариев. При этом тестовые сценарии приходится корректировать после каждого внесённого в приложение изменения. Вот почему на этапе, когда изменения в приложении делаются часто, ручное тестирование эффективнее. Оно дешевле и позволяет давать обратную связь разработчиками максимально оперативно.
- Специалистам по ручному тестированию проще воспроизвести ошибки, обнаруженные пользователями.
Каждая компания стремится найти и устранить все баги ещё до вывода продукта на рынок. Но иногда случается, что какие-то ошибки обнаруживают уже сами пользователи. Чтобы их быстро устранить, опять же прибегают к ручному тестированию. Используя полученную от пользователей информацию, тестировщики могут быстро воспроизвести проблему и подробно описать её, чтобы разработчики нашли оптимальное решение как можно скорее.
- Некоторые функции проще тестировать вручную.
Какими бы совершенными ни были современные инструменты автоматизации, они не могут достаточно точно имитировать движения человека. И никакая компьютерная программа не справиться с задачей оценить, как приложение реагирует на управление жестами, так же хорошо и быстро как специалист по ручному тестированию.
- Автотесты не могут найти все ошибки.
Автоматизированные тесты могут найти только те ошибки, на поиск которых они были запрограммированы. В отличие от человека, они никогда не отклоняться от заранее заданного сценария, потому что им стало интересно: «А что будет, если пользователь сделает это?». Поэтому только дополнительная ручная проверка при исследовательском тестировании (exploratory testing) может гарантировать, что всё действительно работает как задумано. В этом виде тестирования QA специалисты не ограничены строго прописанными тест-кейсами и иногда обнаруживают такие ошибки, существование которых никто не мог предложить.
- Тестовые сценарии могут содержать ошибки.
Еще один момент, о котором сторонники автоматизации порой забывают, — это то, что автотесты не гарантируют 100% точности. Как и у любой другой программы, в их коде могут быть ошибки. И иногда эти ошибки серьезно искажают результаты тестирования. Например, правильно работающие функции могут быть приняты за работающие неправильно и наоборот. То есть, каким бы эффективным не казалось автоматизированное тестирование, наиболее важные функции стоит перепроверять вручную.
- Ручное тестирование можно проводить на всех видах устройств.
Существует множество устройств, функциональность которых сложно оценить с помощью автотестов: фитнес-трекеры, биосенсоры, трекеры местоположения, датчики движения или умная одежда. Создание программы для их тестирования было бы либо совершенно невозможным, либо неоправданно дорогим. На помощь опять же приходит ручное тестирование. Например, чтобы проверить правильно ли фитнес-трекер считывает пульс, специалисту достаточно на некоторое время надеть на себя устройство и оценить результаты.
- Компаниям проще найти специалистов по ручному тестированию.
Каким бы совершенным ни был инструмент автоматизации тестирования, для его настройки и обслуживания нужен человек. Квалифицированные инженеры по автоматизации очень востребованы, а их зарплаты довольно высокие. Ручное тестирование, в свою очередь, не требует навыков кодирования и ему относительно легко обучиться. И многие люди выбирают должность ручного тестировщика в качестве отправной точки для карьеры в сфере технологий. Для компаний это означает, что нанять ручных тестировщиков проще и дешевле.
- В тестировании нужна креативность.
Успешное тестирование включает в себя два компонента: повторения и вариации. С повторениями как раз лучше всего справляются автотесты. С их помощью можно выполнить огромное количество проверок за короткое время. Но инструментам автоматизации чужд творческий подход, у них нет интуиции и любопытства. Поэтому позаботиться о достаточном количестве вариаций в тест-кейсах должны как раз специалисты по ручному тестированию.
Заключение
Автоматизированное тестирование никогда не сможет полностью заменить ручное. Оно лишь дополняет его, снимает с тестировщиков повторяющиеся рутинные задачи и позволяет им сосредоточиться на более важной работе. И только оптимальное сочетание ручного тестирования и автотестов способно обеспечить максимально эффективный процесс по обеспечению качества.
Ссылки