tестирование dot com
Шрифт:
ной, давит на спеца по автоматизации, и даже если последний добро-
совестно создает инфраструктуру для автоматизации, то он это дело
бросает и абы как автоматизирует максимальное количество тест-
комплектов, для того чтобы менеджмент мог отчитаться перед выше-
стоящим менеджментом: "За первый квартач 2005 года было авто-
матизировано 12 тест-комплектов, содержащих 174 тест-кейса".
Конечно,
без трудоемкой поддержки, но кого это волнует? Начальство до-
вольно, и, значит, все "Хоккей".
Но допустим, что менеджмент все понимает и дает карт-бланш
на создание Инфраструктуры с большой буквы "Ай".
ПО — это живое существо. Оно постоянно меняется, и авто-
матизация, связанная с ПО, должна соответственно меняться
одновременно с ним. Таким образом, только поддержание (main-
tenance) существующих автоскриптов — задача, требующая боль-
ших профессиональных усилий, не говоря уже о написании но-
вых автоскриптов.
280
Тестирование Дот Ком. Часть 3
Я предлагаю очень простой подход к определению эффективно-
сти автоматизированного регрессивного тестирования. Посмот-
рите, сколько багов было найдено при автоматизированном тес-
тировании за все время использования автоскриптов, разделите
общие затраты на автоматизацию на количество багов — резуль-
татом будет стоимость нахождения одного бага. Сделайте то же
вычисление для того же отрезка времени, но для ручного тести-
рования и сравните. В 90% случаев стоимость бага, найденного
автоскриптом, будет в несколько раз превышать стоимость бага,
найденного вручную. И очень большой шанс, что вы подумаете:
а зачем вообще нужна ТАКАЯ автоматизация?..
Кстати,
так всегда получается, что в процессе автоматизирования находят
больше багов, чем при исполнении автоматизации.
Советую также сравнить время, потраченное на автоматизацию
(и ее поддержку) для некого тест-комплекта, с временем на исполне-
ние этого же тест-комплекта вручную. Гарантирую, что результаты
удивят, в смысле неприятно удивят, и не в пользу автоматизации.
Таким образом, наиважнейшее значение приобретает профессио-
нализм специалиста по автоматизации.
Профессионализм такого спеца заключается не только в его про-
граммистских навыках, но и в том, как четко он представляет:
• ЧТО автоматизировать и
• КАК автоматизировать.
ЧТО:
Лучший кандидат для автоматизации — это тест-кейс для тести-
рования старой, устоявшейся фича. Автоматизируя его, мы, по
крайней мере, можем быть уверены, что автоскрипт не нужно
будет переписывать из-за изменения фича и соответственно из-
менения тест-кейса к ней.
Нет более бессмысленной идеи, чем автоматизировать регрес-
сивное тестирование для фича, которые только что были выпу-
щены на машину для пользователей.
Один мой друг сравнивает фича с человеком: если это ребенок, то
он постоянно меняется; если же он взрослый, то изменений в нем
намного меньше и сами изменения менее радикальны — сравните
Исполнение тестирования. Стадия 2: регрессивное тестирование
281
того же ребенка, когда ему 6 и 12 лет; и теперь взрослого, когда
ему 42 и 48 лет. Идея, я думаю, понятна.
Чем меньше будет изменений в фича, тестирование которой ав-
томатизировано, тем меньше времени будет затрачено на под-
держку. Поддержка же порой превращается в кошмар
• с чередой красноглазых бессонных ночей перед монитором,
• с горьким пониманием того, что все было сделано непра-
вильно, и
• со сладостным искушением все бросить и поехать с Лелей
в Ялту.
КАК:
Это создание инфраструктуры, позволяющей с легкостью и про-
стотой
• поддерживать существующие автоскрипты;
• создавать новые автоскрипты.
Инфраструктура автоматизации регрессивного тестирования должна
• с одной стороны, быть образцом программистского мас-
терства;
• с другой — воплощать наиболее эффективные подходы
к автоматизации, возможные при данном ПО для автома-
тизации (например, силк-тесте);
• с третьей — учитывать нюансы технологий именно этой
интернет-компании.
В заключение нашего краткого разговора об автоматизации рег-
рессивного тестирования я хочу открыть вам одну истину:
Суровая правда жизни заключается в том, что 100%-я авто-
матизация регрессивного тестирования сколько-нибудь серь-