Ретроспективные уроки исследовательского тестирования: тестовый оракул |
28.05.2020 00:00 |
Автор: Виктор Славчев (Viktor Slavchev) В прошлой части ретроспективных уроков исследовательского тестирования я делился знаниями об эвристиках. Сегодня мы поговорим об одной специфической эвристике – эвристике оракула тестирования. Что такое оракул тестирования? В области технологий со словом "оракул" можно столкнуться в нескольких контекстах (конечно, помимо компании с тем же названием). Если вас интересует более широкий смысл термина "оракул" в IT, вы можете ознакомиться с определением машины оракула, связанное с работами Алана Тюринга. Оно немного связано с нашей темой, потому что определяется как сущность, способная на решение проблемы. В области тестирования мы используем концепцию тест-оракула. Используется он практически так же – это сущность (тип может варьировать), дающая нам решение проблемы или валидирующая, является ли относящаяся к тестированию информация верной. Почему оракул так называется?В древние времена оракулом называли мудрого человека или старейшину, к которому шли за советом в случае необходимости принять важное решение. "Надо ли начинать войну на севере?" или "Должна ли дочь нашего правителя выйти замуж за Х для воцарения мира?", и так далее. Все эти вопросы касались критически важных проблем, и, как правило, слова оракула расценивались очень серьезно. Это важная параллель, потому что в тестировании мы называем оракулом все, что может дать нам важную информацию, связанную с принятием решения или валидацией решений. Обычно решения связаны с качеством, риском или возможными проблемами. Что может быть оракулом тестирования?Ответ на этот вопрос прост, но довольно глубок: оракулом может быть практически все содержащее важную информацию о продукте. Если вы хотите узнать больше об оракуле, рекомендую серию статей Майкла Болтона "Оракулы сверху донизу". Резюмируя информацию из статей Майкла, оракулами могут быть: Ментальная модель или ощущение (Опыт) – это может показаться слегка абстрактным, но если вы хоть раз тестировали ПО и находили в нем проблемы, то знаете, что начинается это с ощущений. Что-то говорит вам – тут что-то не так, это нужно изучить. В любом случае этого недостаточно для создания баг-репорта, поэтому мы будем исследовать вопрос подробнее. Артефакты (Справка) – любой вид знания, зафиксированного письменно, или документ, дизайн, черновик, любая форма коммуникации, которая несет знания. Все это можно использовать как оракул. Обсуждения с важными носителями знания (Конференция) – один из самых важных и иногда недооцениваемых источников знания о ПО или проекте – это задействованные в нем люди, конечные пользователи, коллеги, руководители и все участники процесса. В ситуациях ограниченной или отсутствующей документации я неоднократно прикрывал себе зад только потому, что активно добивался ясности и информации от важных участников разработки. Соответствие известным продуктам (Умозаключение) – применение знаний о сравнимых продуктах к тестируемому, и поиск:
Почему оракулы – это так важно?Оракулы – важная концепция, которую часто упускают во множестве материалов. Это плохо, потому что оракулы – краеугольный камень для понимания тестирования. Профессиональный тестировщик живет на грани неопределенности – меняющихся дедлайнов, меняющихся требований, сомнительного качества. Оракулы дают нам кусочки информации, на которые можно опираться как на истину. Более того, они дают нам не только способ валидировать сомнительное поведение продукта – они могут также научить нас конструировать эксперименты, которые помогут выявить это сомнительное поведение. К сожалению, несмотря на то, что каждый тестировщик использует оракулы, сам термин "оракул" и связанная с ним теория не особо известны среди тестировщиков, и это плохо. Где найти оракулы в живой природе?Как я говорил ранее, оракулы – концепция, которую вы используете в тестировании, нравится вам это или нет. Вы можете не знать, что вы ими пользуетесь, или не называть это оракулом. Примеры использования оракулов:
Подробно об оракулахЯ не первый, кто пишет об оракулах, и я не сообщаю ничего нового. Я просто свожу воедино все то, что, по моему мнению, срабатывает для меня, и передаю эту информацию вам. Если вас интересует концепция оракулов тестирования, то вот пара ресурсов, которые могут вам пригодиться: Вот о каких оракулах я узнал из этих статей, и применяю их ежедневно:
Оракулы – это эвристикиВ качестве заключения: нравится вам это или нет, вы используете оракулы, и верьте мне, это хорошо. Чем больше вы о них знаете, тем больше вы знаете в принципе. О чем никогда нельзя забывать: оракулы – это тоже эвристики, и страдают от тех же самых проблем – они ненадежны и редко работают как единственный источник истины. Ваша тест-документация может устареть, она может быть запутанной, недостающей, или использовать расплывчатые определения. Люди, владеющие знаниями, могут что-то забыть, направить вас по неверному пути, страдать от когнитивных искажений, ваше опорное приложение может иметь баги… К чему я это веду – относитесь к оракулам, как к эвристикам, пожалуйста, не забывайте об их ненадежности, и не цепляйтесь за единственный оракул как источник незыблемых истин. Вместо этого владейте множеством дающих информацию оракулов, и смотрите, что из этой информации даст нам уверенность в принятии решений или в приходе к выводам – конечно, обдумав эти решения при помощи своего аналитического, критически мыслящего ума. |