tестирование dot com
Шрифт:
ТЕСТИРОВАНИЯ
цикл
ТЕСТИРОВАНИЯ ПО
• ИЗУЧЕНИЕ И АНАЛИЗ ПРЕДМЕТА ТЕСТИРОВАНИЯ
• ПЛАНИРОВАНИЕ ТЕСТИРОВАНИЯ
• ИСПОЛНЕНИЕ ТЕСТИРОВАНИЯ
ока мы еще не остыли от цикла разработки, предлагаю не-
медленно рассмотреть цикл тестирования.
П
Поехали.
Отвлечемся от компьютеров и представим ситуацию, когда
нужно проверить, ну, например, свежекупленный
жимный пылесос. После того как агрегат вытащен из коробки,
берем "Инструкцию по использованию" и мытарим чудо техники,
пока все десять режимов не докажут свою лояльность и пре-
данность.
Если посмотреть на процесс более абстрактно, можно увидеть
три вещи, которые явились моделью пылесосного тестирования:
1. Прочитали, например, пункт 2п инструкции, чтобы понять,
как работает режим влажной уборки.
2. Мгновенно в уме составили план проверки влажной уборки:
а. Налить горячую воду в верхний бачок пылесоса.
б. Нажать на кнопку Power.
в. Нажать на кнопку Pressure.
г. И т.д. и т.п.
3. Осуществили проверку согласно плану.
131
132
Тестирование Дот Ком. Часть 2
Перейдем от тестирования пылесосов к тестированию ПО.
Цикл тестирования ПО состоит из трех этапов:
1. Изучение и анализ предмета тестирования.
2. Планирование тестирования.
3. Исполнение тестирования.
На любом из этапов может быть найден баг (как в ПО, так и в
документации), баг должен быть отремонтирован ответственным
товарищем (например, программистом или продюсером), и
качество ремонта должно быть сертифицировано тестиров-
щиком.
Свяжем цикл тестирования с циклом разработки:
1. Изучение и анализ предмета тестирования
начинаются перед утверждением спека (в завершение стадии
"Разработка дизайна продукта и создание документации") и про-
должаются на стадии "Кодирование".
2. Планирование тестирования
происходит на стадии "Кодирование".
3. Исполнение тестирования
происходит на стадии "Исполнение тестирования и ремонт багов".
Важный момент:
показанная связь между циклом разработки ПО и циклом тести-
рования — это всего лишь типичная модель взаимодействия
процессов, в то время как на практике, и особенно в стартапах,
встречается множество ситуаций, когда, например, нет спеков,
код уже написан и его срочно нужно протестировать навскидку,
нет времени на создание тест-документации и пр. Поэтому пред-
лагаю, чтобы мы, изучая цикл тестирования, абстрагирова-
лись от цикла разработки.
Что нам это даст? Гибкость,
так как,зная цикл тестирования как независимый процесс, мы сможем
легко связать его с любым циклом разработки ПО в любой ин-
тернет-компании.
Цикл тестирования ПО
133
Итак, независимый процесс, называемый циклом тестирования
ПО, состоит из трех стадий:
1. Изучение и анализ предмета тестирования.
2. Планирование тестирования.
3. Исполнение тестирования.
1. Изучение и анализ предмета тестирования
Вопрос: что можно протестировать в интернет-проекте?
Легитимные варианты ответа:
• интерфейс пользователя (например, что определенная кноп-
ка называется "Купить", а не "Кипуть");
• скорость работы веб-сайта (например, то, что при одно-
временной работе с сайтом 200 пользователей скорость за-
грузки веб-страницы составляет не более 5 секунд);
• документацию (например, что спек не содержит противо-
речий и неточностей).
Все это правильно, но есть нечто более важное.
Вопрос: для чего пользователи приходят на наш веб-сайт? Ответ:
для удовлетворения своих потребностей — покупка книг, чтение
анекдотов, проверка баланса кредитной карты и т.д. и т.п.
Вопрос: как можно удовлетворить потребности пользователя?
Ответ: нужно
• придумать (продюсер),
• написать (программист),
• протестировать (тестировщик) и
• передать пользователям (релиз-инженер)
средства, которые эти потребности удовлетворят. Этими средст-
вами являются ФУНКЦИОНАЛЬНОСТИ интернет-проекта.
Вот формальное определение:
функциональность (functionality, feature) — это средство для
решения некой задачи.
Примеры из реальной жизни
Функциональность компьютерных колонок "Volume" решает задачу
"Как изменить громкость звука".
Функциональность "Казино" решает задачу "Как незаметно для себя
потратить все отпускные деньги".
Функциональность "Принтер" решает задачу "Как распечатать документ".