10 источников тест-идей |
17.07.2020 00:00 |
Автор: Роберт Сабурин (Robert Sabourin). Я нахожусь в постоянном поиске новых идей для тестирования. Некоторые из наиболее ценных идей приходят в голову непосредственно в ходе тестирования. Вот список из десяти источников тест-идей, которыми я пользуюсь при тестировании динамических тест-проектов: Возможности. Тест-идеи, основанные на возможностях, концентрируются на подтверждении, что приложение делает то, что должно делать. Требования и функциональные спецификации – источник тест-идей на основе возможностей. Модели отказа. Тест-идеи на основе моделей отказа – это вопросы вида "что, если", вытекающие из дизайна системы. Я смотрю на все объекты, компоненты и интерфейсы системы и спрашиваю себя – что будет, если они сломаются или выдадут неожиданный отказ. Модели отказа могут быть результатом жестко ограниченных системных ресурсов или принудительно навязанных условий вывода ошибки. Факторы качества. Факторы качества – это характеристики системы, которые должны присутствовать в успешном проекте. Это такие вещи, как удобство использования, надежность, доступность, масштабируемость и поддерживаемость. Тест-идеи на основе факторов качества часто включают эксперименты, нацеленные на проверку наличия этих факторов. Примеры –тестирование производительности, нагрузки, и стресс-тестирование. Сценарии использования. Тест-идеи на основе сценариев использования выясняют, может ли пользователь достичь своих целей при помощи тестируемого приложения. Перефразируя инаугурационную речь Кеннеди – мы не спрашиваем, что ПО делает для пользователя, мы спрашиваем, что пользователь делает с ПО. Тест-идеи на основе сценариев использования включают выяснение, кто пользуется системой, для чего, и в каком контексте. Креативные идеи. Креативные тест-идеи возникают из множества источников. Я часто намеренно использую техники латерального мышления (к примеру, технику "Шести шляп" Эдварда Де Боно), чтобы создавать классные эффективные тесты. Я также использую метафоры для генерации тест-идей. Мне интересно, что будет, если системой воспользуется Тасманский дьявол. Возможно, некоторые идеи появятся благодаря историям доктора Зюсса, великим фильмам или детективам. Годится практически что угодно. Состояния. Модель состояний помогает генерировать идеи в ходе тестирования. К примеру, транзакция проходит через множество состояний – создание, одобрение, оплата, доставка. Я использую модели состояний, чтобы идентифицировать такие тест-идеи, как получение состояние, выполнение переходов и проход по путям через систему. Данные. Данные – богатый источник тест-идей. Можно изучать пути потоков данных, использовать различные наборы данных, создавать данные из комбинаций различных типов данных, и проверять процедуры хранения. Тест-идеи могут быть связаны с созданием, обновлением и удалением любых постоянных данных. Окружения. Исследование, как приложение ведете себя в различных операционных окружениях – богатый источник тест-идей. Тест-идеи на основе окружений могут быть связаны с варьированием платформы, железа, ПО, ОС, приложениями третьих сторон и локалей. Белый ящик. Тест-идеи на основе белого ящика вытекают из пересмотра низкоуровневого дизайна, кода, и схем данных. Эти идеи могут включать запуск кода, решений и путей в программе. Они рассматривают рабочие продукты разработчиков с целью найти способы испытания тестируемого приложения. Таксономии. Один из моих любимых источников тест-идей – это таксономии багов. Это организованные документированные коллекции багов. Я пользуюсь таксономиями случайным образом в поиске интересных багов. Если баг может возникнуть в моем приложении, я реализую тест-идею, которая выявит его. Чаще всего я пользуюсь тремя таксономиями: • Приложение A к книге Testing Computer Software (Kaner, Falk, and Nguyen) • Boris Beizer Taxonomy (Otto Vinter) • Shopping Cart Taxonomy (Giri Vijayaraghavan) |