tестирование dot com
Шрифт:
няем формы и т.д.
АВТОМАТИЗИРОВАННОЕ ТЕСТИРОВАНИЕ
Это отдельная дисциплина искусства тестирования. Значительная
часть эффективности работы отдела тестирования зависит от
того, какие задачи отданы для автоматизации и как эта автома-
тизация была осуществлена. Автоматизация может как принести
огромное облегчение всем тестировщикам, так и завалить работу
всего отдела и отложить релиз, премию, отпуск и другие сладкие
вещи.
Классификация видов тестирования
167
Оговорка
Термин "тул" (tool (англ.) —
компьютерной программы, как правило, вспомогательного свойства.
Автоматизировать можно сотни вещей. Вот наиболее часто
встречающиеся виды автоматизации:
а. Тулы для помощи в черноящичном и сероящичном тес-
тировании.
Например,
• тул, который автоматически создает для нас эккаунт поль-
зователя;
• тул, совершающий запросы к базе данных и генерирующий
файлы формата, утвержденного системой VISA, используя
извлеченные данные;
• тул, генерирующий транзакции покупки в нашем магазине,
и т.д. и т.п.
Вариантам нет конца и края. Такие тулы пишутся программиста-
ми компании или самими тестировщиками.
Пример тула, создающего эккаунты пользователя
Если набрать в браузере www.main.testshop.rs/tools/register.py (это
все, естественно, гипотетически, так как такого сайта в природе не су-
ществует), то мы увидим не 10 обязательных полей, которые нужно за-
полнить, а одно текстовое поле и кнопку "создать тест-эккаунт". Вы
просто вводите уникальный е-мейл нового пользователя, например
rsavin-testuser1000@testshop.rs, и нажимаете на кнопку. Тул делает за
вас все остальное. Пароль для всех эккаунтов будет, например "898989".
Хорошая идея:
используется автоматизация для создания новых эккаунтов или
нет, очень удобно, когда в компании существует конвенция для
одного пароля при создании тест-эккаунтов, например "898989".
Дело в том, что иногда нет времени/возможности создать эккаунт
с определенными транзакциями, настройками и т.д., и если такой
эккаунт уже существует, то, зная пароль, вы сможете им воспользо-
ваться.
При этом помните о деловой этике, и если этот эккаунт создан не вами,
то по возможности вежливо спросите у "хозяина" эккаунта разрешение.
б. Программы для регрессивного тестирования
Это специальное ПО, созданное для буквального воспроизведе-
ния действий тестировщика.
168
Тестирование Дот Ком. Часть 2
Пример
Согласно тест-кейсу вы должны
• войти в систему,
• выбрать товар,
• положить его в корзину,
• заплатить и
• удостовериться, что баланс на кредитной карте уменьшился на
сумму покупки.
Чтобы исполнить этот тест-кейс, вы должны запустить браузер, ввести
имя пользователя и пароль, нажать на кнопку "Вход"... и, в конце кон-
цов, сравнить фактический и ожидаемый результаты.
Теперь представьте себе, что некая программа делает те же самые
действия, что и вы, т.е. сама запускает браузер, печатает, где положе-
но, имя пользователя и пароль, нажимает на кнопку "Вход"... и, в конце
концов, сравнивает ожидаемый и фактический результат и сообщает
вам о нем (через сообщение на экране, запись в файле, е-мейл и т.д.).
Такое ПО, как правило, поддерживает режим "Запись / Воспроиз-
ведение", т.е. когда мы нажимаем на кнопку "Запись" и начинаем
кликать мышками и клацать клавишами клавиатуры, ПО записы-
вает наши действия и, когда мы закончили, генерирует код. Этот
код мы можем запустить с этим же ПО, и оно воспроизведет все
наши клики и клацы, т.е. буквально будет водить курсором мыш-
ки, набирать текст и т.д.
Такое ПО, как правило, имеет собственный язык программиро-
вания, т.е. можно не записывать свои действия, а непосредст-
венно написать код, что и делается теми, кто профессионально
работает с таким ПО.
Наиболее популярная и мощная программа для автоматизации
регрессивного тестирования веб-проектов — это Silk Test, выпус-
каемый компанией Segue.
У нас будет отдельная беседа о хороших и плохих вещах, связан-
ных с автоматизацией регрессивного тестирования.
в. Программы для тестирования скорости и надежности
О таком ПО мы уже говорили. И так как stress/load/performance