Разделы портала

Онлайн-тренинги

.
Записная книжка тест-дизайнера, часть 8: Выполнение тестов
14.05.2020 00:00

Автор: Рикард Эдгрен (Rikard Edgren)
Оригинал
Перевод: Ольга Алифанова

Часть тест-дизайна лучше отложить на этап выполнения тестов. Имея под рукой продукт, вы можете лучше принимать решения о деталях, а также поймете, какие вариации и отклонения будут быстрыми и полезными. Вы найдете часть нужной вам информации, а также информацию, о необходимости которой вы и не подозревали. Вы узнаете, какие области подвержены ошибкам, что можно быстро протестировать, о чем стоит узнать больше, что на самом деле можно делать с ПО, как все взаимосвязано, и, возможно, самое важное: что можно улучшить.

Используйте эту информацию в тест-дизайне, пересоздайте и перегруппируйте ваши тесты, вернитесь к источникам информации, которые оказались более важными, чем вы думали изначально.


Вам также понадобится множество детализированных вариаций для выявления возможных проблем, и проектирование и выполнение дополнительных тестов для создания хорошего отчета об ошибке.

Степень свободы

Это покрывается современным определением исследовательского тестирования:

”Исследовательское тестирование – это стиль тестирования, который ставит во главу угла личную свободу и ответственность конкретного тестировщика за постоянную оптимизацию ценности своей работы путем восприятия относящегося к тестированию обучения, тест-дизайна, выполнения тестов и интерпретации результатов тестов как взаимоподдерживающих видов деятельности, выполняющихся параллельно в ходе всего проекта".

Если тестирование – это бесконечная проблема выборки, не стоит себя ничем ограничивать. Разнообразие требует свободы и способности мгновенно ухватиться за хорошую возможность.

При высокой степени свободы вы можете менять тест-окружение по необходимости, и максимизировать необходимое вам разнообразие путем вариаций и отклонений. Вы можете пользоваться неконтролируемыми окружениями и тестировщиками, потому что они дадут вам информацию, о нужности которой вы и не подозревали.

Эвристики выполнения тестов

Существует множество эвристик выполнения тестов. Тут я привожу те, которую считаю связанными с тест-дизайном.

  1. Все эвристики анализа и дизайна могут использоваться для выполнения тестов.
  2. Базовая эвристика – если оно существует, я хочу его протестировать.
  3. Быстро разобраться с важными проблемами – старайтесь начать с поиска наиболее важных проблем.
  4. Благодатный старт – вначале проверьте, хорошо ли работают простые, крупные участки.
  5. Широкая структуризация – если А работает хорошо (или плохо), можно пропустить Б.
  6. Фоновая сложность – используйте "документацию", которая сложнее необходимого.
  7. Сделай еще кое-что – дополнительно сделайте что-нибудь склонное к ошибкам, популярное, или характерное для пользователя. Не раздумывайте чересчур сильно, просто сделайте что-нибудь и посмотрите, что будет.
  8. Эвристика мертвой пчелы – если я поменяю файл с данными, и он перестанет ронять тестируемое приложение, то следующий шаг – поменять его на предыдущий вариант и снова посмотреть на падение.
  9. Шумовая полоса – если продукт делает нечто странное, то, возможно, дело идет к катастрофе.
  10. Вприпрыжку – делайте что-нибудь намеренно сложным образом.
  11. Пользовательские ошибки – изучите ненамеренные (типичные) ошибки.
  12. Вживание в роль – станьте "настоящим" пользователем.
  13. Бисекция – если происходит что-то странное, удалите "половину", пока не найдете необходимые ингредиенты.
  14. Эвристика опрокидывания – попытайтесь извлечь пользу из непредусмотренного использования.
  15. Базовая матрица конфигураций – идентифицируйте несколько платформ, покрывающих границы.
  16. Одновременное выполнение тестов – прогоните несколько тестов одновременно для получения новых взаимодействий и идей.
  17. Эвристика дежавю – столкнувшись с сообщением об ошибке, вызовите его еще раз (если оно не точно такое же, код – ваш подозреваемый).
  18. Ищите во множестве мест – результаты тестов можно интерпретировать в разных локациях.
  19. Проблема не здесь – может ли найденная проблема существовать в других местах?
  20. Наития – "Доверяйте вашим инстинктам. Проведите тест, который кажется многообещающим".
  21. Парное тестирование – совместное выполнение тестов стимулирует мыслить иначе и быстрее.
  22. Помощник тестировщика – может ли мне прямо сейчас пригодиться инструмент?
  23. Динамика полярностей – переключайтесь между осторожным и быстрым, игривым и серьезным, объективным и субъективным, и т. п. подходами.
  24. Прямо сейчас – "какой наилучший возможный тест я могу провести прямо сейчас?"
  25. Эмоции – используйте свои чувства.
  26. Свежий взгляд найдет ошибку – смотрите на новое, давайте другим смотреть на ваше.
  27. Импровизируйте!
  28. Проблемная (не)определенность – проблемы есть всегда, но могут быть не важными.
  29. Эвристика "Я могу ошибаться" – если я нахожу множество проблем, возможно, проблема в моей модели.

Обсудить в форуме