Техники тест дизайна Flashcards
Тестирование классов эквивалентности
Класс эквивалентности - входные данные, которые обрабатываются приложением одинаково.
Например есть компания, в которую ищется сотрудник и есть критерии
0-13 лет - не принимаются
14-17 лет - парт тайм
18-55 лет - фулл тайм
55-99 лет - не принимаются
То есть тут есть 4 класса, они все позитивные. Есть негативные, это например от минус бесконечности до нуля, или от 100 и выше. Сюда же можно отнести ввод букв
Правила данного тестирования:
Определить классы
Провести хотя бы 1 тест для каждого класса. Советуют брать значение из середины класса
Анализ граничных значений
Тот же пример, есть компания, в которую ищется сотрудник и есть критерии 0-13 лет - не принимаются 14-17 лет - парт тайм 18-55 лет - фулл тайм 56-99 лет - не принимаются Правила данного тестирования: Определить классы Определить границы диапазонов Проведение 3 тестов для границ, на самой границе, значение +1 и значение -1
То есть, например для диапазона 14-17 тут нужно тестировать такие значение как 13, 14, 15, 16, 17, 18
State and Transition testing
Может использоваться диаграма
State & Transition Diagram (сокращенно S&T) — схема состояний и переходов. Техника для визуализации ТЗ. Она наглядно показывает, как некий объект переходит из одного состояния в другое.
Вот объект находился в состоянии А, потом произошло какое-то действие, и он попал в состояние В. Потом он попадет в состояние С и другие… Принцип не меняется, было одно состояние, стало другое.
В такой схеме может быть гораздо больше элементов. Сначала рисуются состояния, потом придумываются действия, которые приводят к этим состояниям. На каждом состоянии нужно продумать позитивные и негативные состояния. Тестируются действия, которые переводят систему из одного состояния в другое
Pair-wise testing (Попарное тестирование)
техника тест-дизайна методом черного ящика, при которой тест-кейсы создаются таким образом, чтобы выполнить все возможные отдельные комбинации каждой пары входных параметров
Результат работы приложения зависит от многих факторов, например, входных параметров, переменных состояний и конфигураций среды. Для определения возможных значений могут быть полезны такие техники, как анализ граничных значений и использование классов эквивалентности. Однако тестировать все возможные комбинации значений для всех факторов — непрактично. Поэтому, чтобы удовлетворить все факторы, генерируется подмножество комбинаций.
Техника попарного тестирования очень помогает при разработке тестов для приложений, включающих множество параметров. Тесты разрабатываются таким образом, что для каждой пары входных параметров существуют все возможные комбинации этих параметров.
Тестирование предугадыванием ошибок
техника тестирования, в которой тесты разрабатываются на основе опыта тестировщика и его знаний о том, какие дефекты типичны для тех или иных компонентов или областей функциональности приложения.
Эвристическая оценка, 10 принципов дизайна
- Отображение статуса интерфейса
Продукт даёт моментальный ответ пользователю о том, что происходит в данный момент. Это относится к индикаторам загрузки, обработке платежей, загрузке фотографий и т.д. - Схожесть с реальным миром.
Интерфейс отражает тот опыт пользователя, который для него привычен. Таким образом, кнопка в интерфейсе выглядит как кнопка на пульте. Новостной сайт похож на печатное издание, а книга в телефоне при пролистывании страниц ведёт себя также, как бумажный прародитель. - Единообразие и последовательность
Продукт использует повторяющиеся элементы платформы. Например, создавая приложение под IOS и Android, не рекомендуется создавать одну версию дизайна. В каждой платформе свои правила и гайдлайны.Единообразие должно присутствовать и в привычных элементах. Если в опыте пользователя закрепилась связь между кликом на логотип и переходом на главную страницу, то эта связь нарушаться не должна. - Контроль и свобода пользователя. Принцип подчёркивает свободу пользователя на совершение ошибки. Интерфейс предоставляет возможность экстренно предотвратить ошибку, а также путь вернуться туда, где хотел быть. Важно дать понять пользователю, что ошибка не настолько критична, он может её исправить и продолжить использование продукта.
- Предотвращение ошибок. Если дизайн не реагирует на ошибки пользователя — это плохой дизайн. Хороший дизайн предотвращает ошибки ещё до того, как они дойдут до пользователя.
- Распознавание, а не вспоминание. Принцип связан с работой нашей памяти. В одних моментах, наша память распознает что-то, а в других вспоминает. Распознавание нагружает мозг гораздо легче, чем вспоминание. Чтобы распознать определённую вещь, необходимо чтобы эта вещь попадалась на глаза как можно чаще. Чтобы минимизировать нагрузку на память пользователя, элементы, действия и опции интерфейса должны быть распознаваемыми. Такая опция, как подсказки при первом знакомстве с интерфейсом, разгрузит память пользователя при дальнейшем использовании продукта. Ему не придётся долго вспоминать и разбирать значение элемента интерфейса, потому что недавно уже видел его предназначение. В интерфейсе не должны присутствовать скрытые элементов, которые заставят пользователя думать и вспоминать.
- Гибкость и эффективность использования
Продукт должен иметь ускорители рабочего процесса, которые невидимы для рядовых пользователей, но полезны для экспертов.
Использование продукта должно удовлетворять все типы пользователей. Эксперты при взаимодействии с цифровыми продуктами чаще пользуются клавиатурой. Это ускоряет и автоматизирует рабочий процесс. Новички же, напротив, совершают действия вручную с помощью мыши. Чтобы продукт угождал как новичкам, так и экспертам, необходимо, чтобы присутствовали ускорители: горячие клавиши; персонализация под тип пользователя; гибкая настройка, которая позволит изменять внешний вид интерфейса, менять расположение местами и т.д. - Эстетика и минимализм. Количество элементов интерфейса пропорционально целям продукта
- Помощь пользователю в распознавании, диагностике и восстановлении после ошибок. Сообщения об ошибке должны быть написаны на одном языке с пользователем. Пользователь должен понимать, что вызвало ошибку
- Помощь и документация. У продукта должен быть раздел с помощью и документацией. Это относится к Условиям Использования, Правилам Конфиденциальности, FAQ и т.д. Род информации, который может помочь пользователю должен присутствовать в соответствующем разделе
Мутационное тестирование
техника тестирования, в которой сравнивается поведение нескольких версий одного и того же компонента, причём часть таких версий может быть специ-ально разработана с добавлением ошибок (что позволяет оценить эф-фективность тест-кейсов — качественные тесты обнаружат эти специ-ально добавленные ошибки)
Тестирование добавлением ошибок
техника те-стирования, в которой в приложение специально добавляются заранее известные, специально продуманные ошибки с целью мониторинга их обнаружения и устранения и, таким образом, формирования более точной оценки показателей процесса тестирования. Может комбинироваться с предыдущим в этом списке видом тестирования (мутационным тестированием)
Доменное тестирование
методика разработки тестов, относящаяся к методу черного ящика, использующаяся для определения действенных и эффективных тестовых сценариев в случаях, когда множественные параметры могут или должны быть протестированы одновременно
Для понимания возьмем простой пример. Скажем, что у нас есть поле Логин и Пароль. В идеале, нам необходимо каждое поле протестировать по отдельности. Однако доменное тестирование позволяет сделать так, чтобы в одном тесте мы смогли проверить оба поля одновременно и без потери в качестве тестирования.
Суть доменного тестирования заключается в разбиении домена (набора значений) на поддомены (эквивалентные классы) и выборе представителей каждого поддомена для тестов
Эквивалентные классы - о подобии
Выбор представителей домена - о рисках
Идея этого метода состоит в том, чтобы разделить набор условий тестирования на, которые можно считать одинаковыми (т. е. система должна обрабатывать их одинаково), таким образом, признаками эквивалентности можно считать (несколько тестов эквивалентны, если):
Тестирование по таблице принятия решений
техника тестирования (по методу чёрного ящика), в которой тест-кейсы разрабатываются на основе т.н. таблицы принятия решений, в которой отражены входные данные (и их комбинации) и воздействия на приложение, а также соответствующие им выходные данные и реакции приложения
Как составлять таблицу
По горизонтали — выписываем условия, которые влияют на результат. А чуть ниже — сам результат, в оригинале Action — действие, которое нужно выполнить.
По вертикали — правила: конкретная комбинация входных условий.
То есть мы указываем значения условий и результата