Доверяйте автоматизации |
19.05.2017 16:26 |
Автор: Баз Дийкстра (Bas Dijkstra) Оригинал статьи: http://www.ontestautomation.com/trust-automation/ Перевод: Ольга Алифанова Сейчас большинство людей уже в курсе, что цель автоматизации – это НЕ "поиск багов". Конечно, неплохо, когда ваши автотесты ловят баг-другой, которые иначе просочились бы в продакшн. Но пока искуственный интеллект автоматизации не достиг больших высот (я имею в виду, действительно БОЛЬШИХ), тестировщики куда более искусны в поиске багов, чем самые умные, развитые автоматизированные решения для тестирования. Нет, добавочная ценность автоматизации совсем в другом – в уверенности. Из оксфордского словаря: "Уверенность: твердое убеждение в надежности, правдивости, или способности чего-либо или кого-либо." Набор хороших автотестов вселит в ваших заинтересованных лицах (включая, но не ограничиваясь тестировщиками) уверенность, что тестируемая система дает результат или выполняет определенные функции так, как предварительно было определено (правильно ли было определено – тема для другой дискуссии). Даже после кучи изменений, фиксов, патчей, рефакторингов и других обновлений. Эта уверенность появляется благодаря доверию: "Доверие: чувство или уверенность, что чему-то или кому-то можно верить/полагаться на него." До недавних пор я не знал о мелких различиях между уверенностью и доверием. То, что оба слова одинаково переводятся на датский ("vertrouwen"), слабо помогло. Затем я увидел это объяснение от Михалиса Павлидиса: "Обе концепции относятся к ожиданиям, которые могут привести к разочарованию. Однако доверие – это способ, благодаря которому достигается уверенность. Доверие – основа уверенности. Другой способ достичь уверенности – это контроль. Если вы уверены в том, что ваш друг вас не предаст – вы или доверяете ему, или контролируете его." Возвращаясь к разработке ПО, и, в частности, к автоматизации тестирования: уверенность в качестве компонента ПО достигается через контроль над его качеством или через доверие к нему. Так как мы говорим про автоматизацию, а конкретнее про автоматизированное выполнение предопределенных заранее проверок, я думаю, можно сказать, что мы можем отбросить идею, что автоматизация способна активно контролировать качество конечного продукта. Это оставляет вариант с доверием (и уверенностью как результатом) к тестируемой системе как первичной цели автоматизации тестирования. В целом идея сделать автоматические проверки единственно ответственными за создание и поддержку этого доверия достаточно плохая, но если все сделано правильно, они очень помогают. Однако для того, чтобы ваши проверки поддержали это доверие, вы должны, в свою очередь, доверять им. Проще говоря: я не уверен в качестве системы, если это качество было (даже частично) оценено при помощи автотестов, которым я не доверяю. К счастью, есть ряд способов повысить доверие к автотестам. Вот три из них.
Автоматизация тестирования – это отличная штука, но она практически бесполезна, если ей нельзя доверять. Убедитесь, что вы доверяете своей автоматизации, прежде чем добиваться уверенности в качестве вашей системы. |