Тестинг IT

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

  Компании в отрасли используют 2 принципиальных подхода к тестированию: ручное и автоматизированное.

- При ручном тестировании требуется много времени и сил, чтобы убедиться, что код работает ровно так, как должен. Нужно не забыть также записать все свои “находки”, обнаруженные при тестировании. Также нужно проверять логи, вести базу данных с ошибками и делать многие другие увлекательные вещи. Этот процесс крайне затяжной и чаще всего является рутинным и повторяющимся, если мы говорим о тестировании каких-то рядовых простых вещей, которые просто нужно проверить, и с этим ничего не поделаешь.

- Автоматизированное тестирование, как можно заметить из названия, автоматизировано. Оно отличается от ручного тестирования, где человеческий фактор оказывает влияние на качество программного продукта. Для автоматизированного тестирования используется специальный инструмент, благодаря которому можно меньше тратить времени на отлавливание багов, но которое неизбежно придется инвестировать в написание тестовых скриптов и повышения покрытия кода. Что такое тестовый скрипт? Проще говоря, это алгоритм работы программного продукта, который будет выполняться автоматически, вылавливая все возможные баги. Что такое покрытие кода? Это уровень того, насколько полно протестирован весь код программного продукта.

  Разобравшись, что же такое автоматизированное тестирование, обратимся к современным исследованиям. Начнем с того, что даже краткое описание автоматизированного тестирования наталкивает на мысль, что это достаточно сложный и наверняка не дешевый с точки зрения организации процесс, причем этот факт многие практики принимают и считают абсолютно справедливым, но, по-прежнему считают, что оно того стоит. Ведь реализация автоматизированного тестирования — это разовая инвестиция, которая затем окупается как с точки зрения качества тестирования, так и с точки зрения занятости команды. Следует также добавить, что эффект от внедрения автоматизированного тестирования проявляется не сразу, а его реализация требует не только вложений, но и определенных технических навыков от тестировщиков. В целом специалисты очень позитивно отзываются об использовании этого подхода, акцентируя внимание на том, что он позволяет экономить время, а время, как известно, это деньги. Особенно для отрасли ИТ, где заказчик оплачивает каждый час исполнителю.

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

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

 

Статья подготовлена компанией Диалог ИТ