Автор: Рикард Эдгрен (Rikard Edgren) Оригинал Перевод: Ольга Алифанова Часть тест-дизайна лучше отложить на этап выполнения тестов. Имея под рукой продукт, вы можете лучше принимать решения о деталях, а также поймете, какие вариации и отклонения будут быстрыми и полезными. Вы найдете часть нужной вам информации, а также информацию, о необходимости которой вы и не подозревали. Вы узнаете, какие области подвержены ошибкам, что можно быстро протестировать, о чем стоит узнать больше, что на самом деле можно делать с ПО, как все взаимосвязано, и, возможно, самое важное: что можно улучшить.
Используйте эту информацию в тест-дизайне, пересоздайте и перегруппируйте ваши тесты, вернитесь к источникам информации, которые оказались более важными, чем вы думали изначально.
Вам также понадобится множество детализированных вариаций для выявления возможных проблем, и проектирование и выполнение дополнительных тестов для создания хорошего отчета об ошибке.
Степень свободы
Это покрывается современным определением исследовательского тестирования:
”Исследовательское тестирование – это стиль тестирования, который ставит во главу угла личную свободу и ответственность конкретного тестировщика за постоянную оптимизацию ценности своей работы путем восприятия относящегося к тестированию обучения, тест-дизайна, выполнения тестов и интерпретации результатов тестов как взаимоподдерживающих видов деятельности, выполняющихся параллельно в ходе всего проекта".
Если тестирование – это бесконечная проблема выборки, не стоит себя ничем ограничивать. Разнообразие требует свободы и способности мгновенно ухватиться за хорошую возможность.
При высокой степени свободы вы можете менять тест-окружение по необходимости, и максимизировать необходимое вам разнообразие путем вариаций и отклонений. Вы можете пользоваться неконтролируемыми окружениями и тестировщиками, потому что они дадут вам информацию, о нужности которой вы и не подозревали.
Эвристики выполнения тестов
Существует множество эвристик выполнения тестов. Тут я привожу те, которую считаю связанными с тест-дизайном.
- Все эвристики анализа и дизайна могут использоваться для выполнения тестов.
- Базовая эвристика – если оно существует, я хочу его протестировать.
- Быстро разобраться с важными проблемами – старайтесь начать с поиска наиболее важных проблем.
- Благодатный старт – вначале проверьте, хорошо ли работают простые, крупные участки.
- Широкая структуризация – если А работает хорошо (или плохо), можно пропустить Б.
- Фоновая сложность – используйте "документацию", которая сложнее необходимого.
- Сделай еще кое-что – дополнительно сделайте что-нибудь склонное к ошибкам, популярное, или характерное для пользователя. Не раздумывайте чересчур сильно, просто сделайте что-нибудь и посмотрите, что будет.
- Эвристика мертвой пчелы – если я поменяю файл с данными, и он перестанет ронять тестируемое приложение, то следующий шаг – поменять его на предыдущий вариант и снова посмотреть на падение.
- Шумовая полоса – если продукт делает нечто странное, то, возможно, дело идет к катастрофе.
- Вприпрыжку – делайте что-нибудь намеренно сложным образом.
- Пользовательские ошибки – изучите ненамеренные (типичные) ошибки.
- Вживание в роль – станьте "настоящим" пользователем.
- Бисекция – если происходит что-то странное, удалите "половину", пока не найдете необходимые ингредиенты.
- Эвристика опрокидывания – попытайтесь извлечь пользу из непредусмотренного использования.
- Базовая матрица конфигураций – идентифицируйте несколько платформ, покрывающих границы.
- Одновременное выполнение тестов – прогоните несколько тестов одновременно для получения новых взаимодействий и идей.
- Эвристика дежавю – столкнувшись с сообщением об ошибке, вызовите его еще раз (если оно не точно такое же, код – ваш подозреваемый).
- Ищите во множестве мест – результаты тестов можно интерпретировать в разных локациях.
- Проблема не здесь – может ли найденная проблема существовать в других местах?
- Наития – "Доверяйте вашим инстинктам. Проведите тест, который кажется многообещающим".
- Парное тестирование – совместное выполнение тестов стимулирует мыслить иначе и быстрее.
- Помощник тестировщика – может ли мне прямо сейчас пригодиться инструмент?
- Динамика полярностей – переключайтесь между осторожным и быстрым, игривым и серьезным, объективным и субъективным, и т. п. подходами.
- Прямо сейчас – "какой наилучший возможный тест я могу провести прямо сейчас?"
- Эмоции – используйте свои чувства.
- Свежий взгляд найдет ошибку – смотрите на новое, давайте другим смотреть на ваше.
- Импровизируйте!
- Проблемная (не)определенность – проблемы есть всегда, но могут быть не важными.
- Эвристика "Я могу ошибаться" – если я нахожу множество проблем, возможно, проблема в моей модели.
Обсудить в форуме |