Тестирование веб-приложений на соответствие продукта требованиям заказчика и его работоспособность — базовый этап разработки. Опытные тестировщики знают, что правильный способ тестирования и хороший сценарий повысят эффективность их работы и помогут проверить имеющиеся гипотезы в самые короткие сроки.
Что такое тест-дизайн?
Тест-дизайном называют процесс разработки методов и техник тестирования.
Его цель — оптимизировать проверку большого объема функций веб-приложения. Задача — выявить максимальное количество ошибок за минимальное время. Для этого специалисты составляют подробную документацию с уникальными сценариями тестирования.
Тест-дизайн опирается на общие принципы и логику тестирования и учитывает особенности продукта. Он включает в себя:
- Оценку объема данных.
- Определение наиболее подходящих способов тестирования.
- Подбор тестовых данных.
- Описание критериев успешного прохождения тестов.
Этапы тестирования
Специалисты выделяют три основных этапа тестирования:
- Подготовка. Тестировщики работают с имеющейся в документации информацией о веб-приложении и ищут дополнительные данные. На этом этапе им важно максимально точно определить потенциально проблемные области и функции продукта. Цель этапа — понять, в каких условиях будет проводиться тестирование, и корректно оценить необходимое на проверку время.
- Тестирование. Разработка тест-дизайна начинается, только когда тестировщик получил все данные о требованиях к работе веб-решения и имеет полное представление о его работе. На первом этапе специалисты составляют тест-кейсы и чек-листы, чтобы по пунктам проверить работу продукта и выяснить, насколько корректно решение работает в разных условиях.
- Анализ результатов тестирования. Тестировщики составляют подробную сводку о количестве критичных багов. Для сбора этих метрик эксперты разбивают функциональность на логические блоки, составляют карту для выделения на ней областей с наибольшим количеством ошибок. В будущем эти карты помогут сразу сфокусировать внимание на проблемных блоках.
Какие техники тест-дизайна существуют?
Эквивалентное разделение
Метод упрощает тестирование за счет деления входных данных на эквивалентные группы с однородными данными. Важное условие: с ними можно выполнить одну и ту же операцию. Способ позволяет минимизировать количество необходимых тестов и увеличивает процент покрытия.
Пример: банк имеет следующие правила относительно выдачи кредитов:
- Не выдавать кредиты клиентам в возрасте до 18 лет.
- Выдавать кредиты клиентам с 18 до 65 лет.
- Не выдавать кредиты клиентам от 65 до 100 лет.
Тестировщики проверяют поведение программы только в таких случаях:
- Отказ в кредитовании при вводе любого значения в диапазоне от 0 до 18.
- Отказ в предоставлении кредита при вводе любого значения в диапазоне от 65 до 100.
- Одобрение кредита при вводе любого значения в диапазоне от 18 до 65.
Метод граничных значений
Способ базируется на предположении, что ошибки в программе чаще всего возникают на границах допустимых значений. Тестировщики определяют границы значений для каждого параметра и проверяют их поведение при этих значениях.
Пример: нам необходимо проверить работу поля для ввода возраста, где стоит ограничение от 18 до 56. Чтобы убедиться в корректной обработке данных, тестировщики исследуют поведение решения при вводе только следующих значений:
Неправильного значения | Минимальная величина - 1 | 17 |
---|---|---|
Неправильного значения | Максимальная величина +1 | 57 |
Правильного значения | Граничных значений | 18 и 56 |
Правильного значения | Около граничных значений | 19 и 55 |
Попарное, или комбинаторное, тестирование
Метод проверяет все возможные комбинации входных значений. Он максимально эффективен, если продукт работает со множеством параметров и проверка каждой комбинации займет много времени. Комбинаторное тестирование исследует только уникальные пары всех параметров, существенно сокращает количество необходимых тестов и гарантирует оптимальное тестовое покрытие.
Пример: нам необходимо проверить работу приложения для заказа автомобиля со следующими условиями:
- Можно покупать и продавать автомобили в Москве и Петербурге.
- В приложении должна содержаться информация о действительности или недействительности регистрационных номеров.
- Через него можно продавать BMW, Audi и Mercedes.
- Автомобиль можно забронировать онлайн или в магазине.
- Заказать автомобиль можно только в рабочие часы.
Попарное тестирование включает следующие кейсы:
Марка авто | Категория заказа | Город | Регистрационный номер | Тип заказа | Время заказа |
---|---|---|---|---|---|
BMW | Покупка | Москва | Действительный | Интернет | Рабочие часы |
BMW | Продажа | СПб | Недействительный | Магазин | Нерабочие часы |
BMW | Покупка | Москва | Действительный | Интернет | Нерабочие часы |
Audi | Покупка | СПб | Действительный | Магазин | Рабочие часы |
Audi | Продажа | Москва | Недействительный | Интернет | Нерабочие часы |
Audi | Продажа | СПб | Недействительный | Магазин | Рабочие часы |
Mercedes | Покупка | Москва | Недействительный | Магазин | Рабочие часы |
Mercedes | Продажа | СПб | Действительный | Интернет | Нерабочие часы |
Таблица принятия решений
Метод использует таблицы для исследования решений с несколькими параметрами. Таблицы наглядно совмещают разные данные и эффективно проектируют возможные варианты развития событий.
Пример:
Кейс | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
Условие | ||||||||
Пользователь зарегистрирован? | Да | Да | Да | Да | Нет | Нет | Нет | Нет |
Пользователь отправлял сообщение последние 90 секунд? | Да | Да | Нет | Нет | Да | Да | Нет | Нет |
Пользователь — администратор? | Да | Нет | Да | Нет | Да | Нет | Да | Нет |
Действие приложения | ||||||||
Открыть окно для создания новой темы | Да | Да | Да | Да | Нет | Нет | Нет | Нет |
Показать ошибку | Нет | Да | Нет | Нет | Да | Да | Да | Да |
Предугадывание ошибок
Этот способ помогает специалистам выявлять потенциальные ошибки интуитивно. Тестировщик с большим опытом работы и хорошим пониманием функциональности и ожидаемого поведения продукта может успешно предвидеть возможные баги и быстро определять области с высокой вероятностью ошибки.
Пример: в документации указано, что пользователь должен ввести код. Тестировщик предугадывает ошибку с помощью следующих вопросов:
- Что произойдет, если я введу неправильный код?
- Что будет, если я не введу код?
На курсе «Инженер по тестированию» вы максимально подробно разберете большинство техник тест-дизайна и научитесь эффективно использовать их в тестировании сайтов и веб-приложений.