Ретроспективные уроки исследовательского тестирования: тестовый оракул

Ретроспективные уроки исследовательского тестирования: тестовый оракул

28.05.2020 00:00

Автор: Виктор Славчев (Viktor Slavchev)
Оригинал статьи
Перевод: Ольга Алифанова

В прошлой части ретроспективных уроков исследовательского тестирования я делился знаниями об эвристиках. Сегодня мы поговорим об одной специфической эвристике – эвристике оракула тестирования.

Что такое оракул тестирования?

В области технологий со словом «оракул» можно столкнуться в нескольких контекстах (конечно, помимо компании с тем же названием).

Если вас интересует более широкий смысл термина «оракул» в IT, вы можете ознакомиться с определением машины оракула, связанное с работами Алана Тюринга. Оно немного связано с нашей темой, потому что определяется как сущность, способная на решение проблемы.

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


В древние времена оракулом называли мудрого человека или старейшину, к которому шли за советом в случае необходимости принять важное решение. «Надо ли начинать войну на севере?» или «Должна ли дочь нашего правителя выйти замуж за Х для воцарения мира?», и так далее. Все эти вопросы касались критически важных проблем, и, как правило, слова оракула расценивались очень серьезно.

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


Ответ на этот вопрос прост, но довольно глубок: оракулом может быть практически все содержащее важную информацию о продукте. Если вы хотите узнать больше об оракуле, рекомендую серию статей Майкла Болтона «Оракулы сверху донизу». Резюмируя информацию из статей Майкла, оракулами могут быть:

Ментальная модель или ощущение (Опыт) – это может показаться слегка абстрактным, но если вы хоть раз тестировали ПО и находили в нем проблемы, то знаете, что начинается это с ощущений. Что-то говорит вам – тут что-то не так, это нужно изучить. В любом случае этого недостаточно для создания баг-репорта, поэтому мы будем исследовать вопрос подробнее.

Артефакты (Справка) – любой вид знания, зафиксированного письменно, или документ, дизайн, черновик, любая форма коммуникации, которая несет знания. Все это можно использовать как оракул.

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

Соответствие известным продуктам (Умозаключение) – применение знаний о сравнимых продуктах к тестируемому, и поиск:

  • Несоответствий: общественным стандартам для приложений, которые мы тестируем. Пример: у всех мобильных калькуляторов есть определенная опция, но у нас она реализована слегка иначе.
  • Соответствий: проблемам, с которыми мы сталкивались в том же классе приложений. Пример: каждый раз при тестировании загрузки файлов я ищу проблемы с валидацией ограничения размера файлов, потому что мой предыдущий опыт (один оракул) с другими схожими приложениями (другой оракул) гласит, что там часто кроются баги.

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

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

К сожалению, несмотря на то, что каждый тестировщик использует оракулы, сам термин «оракул» и связанная с ним теория не особо известны среди тестировщиков, и это плохо.


Как я говорил ранее, оракулы – концепция, которую вы используете в тестировании, нравится вам это или нет. Вы можете не знать, что вы ими пользуетесь, или не называть это оракулом.

Примеры использования оракулов:

  • Тест-кейсы и тест-сценарии: я небольшой их фанат, но люди ими пользуются. Если вы знакомы с концепцией создания тест-кейса, то знаете, что там есть раздел «Ожидаемый результат». Это классический пример оракула, так как он сообщает всем о правильном поведении приложения. Аналогичное применимо к ожиданиям в баг-репортах и автоматизированных проверках.
  • Документация: документы и спецификации используются как оракулы. Это неплохо, но проблема в том, что они создаются и поддерживаются людьми и страдают от тех же проблем, что и код: они теряют актуальность, в них есть ошибки, они расплывчато сформулированы, чересчур техничны, чересчур поверхностны, слишком детализированны… Проблемы возникают, когда мы, как тестировщики, начинаем рассматривать документацию как единственный ценный источник знаний, в то время как в первую очередь нами должны руководить эксперименты и исследования.

Я не первый, кто пишет об оракулах, и я не сообщаю ничего нового. Я просто свожу воедино все то, что, по моему мнению, срабатывает для меня, и передаю эту информацию вам.

Если вас интересует концепция оракулов тестирования, то вот пара ресурсов, которые могут вам пригодиться:

  • FEW HICCUPS
  • The oracle problem – статья Кема Кейнера

Вот о каких оракулах я узнал из этих статей, и применяю их ежедневно:

  • FEW HICCUPPS – незаменимый оракул, если вы пользуетесь им для валидации, правильное ли поведение вы наблюдаете. Это именно то, для чего он был предназначен – для использования в качестве чек-листа. Каждый раз, сталкиваясь с неуверенностью, баг ли это, вы можете прибегнуть к FEW HICCUPPS и поразмышлять, можно ли валидировать это поведение стандартом, понимаете ли вы цель, соответствует ли она продукту, заявлениям о продукте, истории продукта, и так далее. Этот тип мышления, управляемого через вопросы – причина моей убежденности, что оракулы могут работать в обратном направлении, то есть не только как внешняя сущность для валидации истины о продукте, но и как провокация экспериментов, помогающих вскрыть несоответствия между ожиданиями и реальностью.
  • Оракул регресса – если вы рассматриваете регрессионное тестирование как возможный оракул, то, насколько я понимаю, вы освобождаетесь от большей части этой ноши – ожидания, что это неотъемлемая и всемогущая часть эффективного тестирования. Многие люди убеждены, что регрессионное тестирование означает, что нужно каждый раз прогонять набор тестов, или все ваши тесты, или все автоматические проверки. Я могу написать целую статью о всем том, что неверно в этом убеждении, но я ценю ваше время, поэтому просто поверьте мне на слово. Вместо этого попробуйте относиться к регрессу как к виду оракула. Как оракул и, соответственно, эвристика, он имеет ограниченную эффективность.
  • Ограничения как оракул – я убежден, что это самый очевидный, простой в использовании, и в то же самое время наиболее упускаемый оракул. При любом тестировании у вас есть список ограничений – максимальная длина строки, количество разрешенных спецсимволов, размер файла – и все это подсказки для вас. Как хороший тестировщик, вы в первую очередь должны думать, что будет, если вы нарушите правила? Что будет, если не вводить запрашиваемое количество символов? Что произойдет? Появится ли ошибка, будет ли исключение, предусмотрел ли разработчик подобный сценарий? Если вы один из тех, кто говорит «Без понятия, с чего начинать тестирования», то вот неплохой план действий – найдите все ограничения продукта, составьте список, постарайтесь нарушить их как минимум тремя различными способами, зафиксируйте результаты, и пусть собранная информация станет толчком для более глубокого тестирования. Это хороший старт тестирования, и он прямо у вас перед глазами.
  • Самоверифицируемые данные как оракул – я активно пользуюсь этим оракулом в автоматических проверках, в основном для имен тестов. Я также пытаюсь приучить к этому разработчиков. Здравый смысл гласит, как минимум мне, что имя автоматической проверки должно сообщать о проверяемом результате. Это также хороший способ убедиться, что ваши проверки фокусируются на одном действии и его результате, а не распыляются на разные возможности. Пример: если моя проверка называется testingValidAdminUserFlow и падает, я без понятия, где она упала и что с ней не так. Это значит, что мне придется изучать вопрос, и это увеличивает временные затраты. С другой стороны, если вы создаете небольшие, однозначные проверки, использующие самоверифицируемые данные как оракул, вы легко определите, в чем проблема. К примеру, если проверка называется loginAsAdmin200Test и падает, вы будете точно знать, что авторизация под администратором не вернула код ответа 200.

В качестве заключения: нравится вам это или нет, вы используете оракулы, и верьте мне, это хорошо. Чем больше вы о них знаете, тем больше вы знаете в принципе.

О чем никогда нельзя забывать: оракулы – это тоже эвристики, и страдают от тех же самых проблем – они ненадежны и редко работают как единственный источник истины. Ваша тест-документация может устареть, она может быть запутанной, недостающей, или использовать расплывчатые определения. Люди, владеющие знаниями, могут что-то забыть, направить вас по неверному пути, страдать от когнитивных искажений, ваше опорное приложение может иметь баги…

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

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

Использование оракулов в тестировании на реальном примере

Оригинальная публикация: http://blog.tentamen.eu/oracle-exercise-on-real-example/

Перевод: Анна Радионова

В этой статье показано, как применять эвристические оракулы для выявления проблем.

Дисклеймер: здесь не идёт речи о каком-то новомодном фреймворке для тестирования. Это статья об искусстве тестирования в чистом виде.

Вы еще здесь после прочтения дисклеймера? Отлично!

Оракулы – это принципы или механизмы, благодаря которым мы распознаем проблему.

[Ссылка http://www.developsense.com/resources/Oracles.pdf].

Пожалуйста, прочитайте приведенную выше статью – она написана доступным языком и хорошо воспринимается. Умение так писать — еще одно качество отличного специалиста по тестированию.

Чтобы понять, как использовать оракулы в тестировании ПО, нужно практиковаться. Надеюсь, следующий пример вам в этом поможет.

Как-то мне пришлось использовать Microsoft Word для написания проектной документации. Я решил вставить изображения из внешней документации, используя функцию “Вставить из URL”. В этом случае предполагается, что при изменении внешнего документа ссылка либо станет недействительной, либо автоматически будет вести на новое изображение.

Я выбрал в меню Word “Вставка” и кликнул по иконке изображения. Через несколько минут я осознал, что опции “Вставить из URL” по этому пути нет.

Поисковый запрос в Google дал мне быстрый ответ:

Нажмите “Вставка” — “Экспресс-блоки” — “Поле…”

Появляется окно с множеством опций для выбора и одна из них — вставка изображения из URL (интересно, почему они поставили эту опцию первой в списке?).

Нет, вы поняли?! Я повторю это еще раз, т.к. все это звучит как фраза из миниатюры комик-шоу “Монти Пайтон”:

Нажмите “Вставка” — “Экспресс-блоки” — “Поле…”

Хммм…, а нет ли здесь проблемы? Давайте применим оракул сравнения с похожими продуктами.

Ожидается, что поведение системы должно быть похоже на поведение других подобных систем. Например, можно посмотреть на продукты той же продуктовой линейки или выпускаемые той же компанией. Оракул регрессии предыдущих версий (“История” – прим. по классификации HICCUPPS), вероятно, является особым случаем такой обобщенной эвристики. Сравнение с конкурирующими товарами, услугами или системами может помочь распознаванию проблем. Продукты, относящиеся к разным категориям, но оперирующие аналогичными данными (например, текстовые редакторы могут использовать содержимое баз данных для автоматического составления стандартных писем), тоже можно сравнивать в рамках данного оракула. Бумажный бланк можно сопоставить с компьютерной формой ввода, разработанной чтобы его заменить. В действительности любой продукт с любым функционалом может являться основой для сопоставления, с помощью которого может быть выявлена суть проблемы или внесено предложение по улучшению продукта

[Ссылка http://www.developsense.com/resources/Oracles.pdf].

Давайте рассмотрим Google Docs.

Выберите в меню опцию “Вставка”. Первым элементом в меню является иконка изображения – кликните по ней: открывается окно с доступной опцией “Вставить URL”. У меня ушло четыре секунды на ее поиск.

Таким образом, эта опция Word не похожа на аналогичную опцию в Google Docs, в последнем гораздо проще воспользоваться функцией вставки изображения. Этот факт доказывает, что Google Docs превосходит Microsoft Word в части UX.

И вы можете указать на эту особенность своему продакт-менеджеру.

Однажды я сделал презентацию об эвристических оракулах для тестировщиков ПО. Фидбек сводился к следующей фразе: “О, звучит круто, но у нас НЕТ НА ЭТО ВРЕМЕНИ!”

Тогда я задал встречный вопрос: “А сколько времени вы тратите на процесс определения того – а баг ли это?”

Много.

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

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

Обзор тестирования Oracle

Повысьте эффективность тестирования Oracle с помощью ведущей платформы SaaS для управления тестированием Oracle ERP, чтобы начать работу быстрее и без дефектов

Контроль и оптимизация циклов функционального тестирования

Где бы вы ни находились

Получите контроль и прозрачность каждого аспекта вашей функциональности Oracle ERP, системной интеграции, регрессионного тестирования и UAT-тестирования, получая информацию в режиме реального времени по всем циклам тестирования, чтобы ускорить ввод в эксплуатацию без риска. А подход, ориентированный на бизнес-процессы, разработанный специально для ERP, тестирования на основе рисков и автоматизации тестирования, обеспечивает максимально эффективное и действенное крупномасштабное тестирование.

Специальные решения

Для конкретных задач

Поскольку тестирование Oracle ERP сопряжено с уникальными задачами, вам необходимо специальное решение со всеми возможностями управления тестами и их выполнения в одном месте. Panaya — это решение №1 для проектов удаленного тестирования ERP, позволяющее бизнесу и ИТ-специалистам легко сотрудничать и контролировать свое тестирование в режиме реального времени, где бы они ни находились.

Ключ

Преимущества

В режиме реального времени

Видимость

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

На 40% быстрее

Циклы тестирования

Сократите продолжительность проектов, активно устраняя узкие места и устраняя время простоя.

Оптимальный объем тестирования с учетом рисков

Оптимизация планирования и выполнения тестирования на основе анализа влияния изменений в сочетании с реальным использованием.

Непревзойденная эффективность удаленного тестирования

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

Ключ

Характеристики

Отслеживание прогресса и интерактивная информация в режиме реального времени

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

Планирование и выполнение тестов, ориентированных на бизнес-процессы

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

Встроенная функция совместной работы

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

Автоматически стандартизированная документация

Экономьте драгоценное время, автоматически записывая шаги каждого приложения во время тестирования (действия и снимки экрана). Готовые к аудиту тестовые доказательства Panaya обеспечивают соответствие внутренним и внешним стандартам качества.

Целостное управление дефектами

Автоматически генерируемая документация по тестированию и дефектам исключает обмен данными между тестировщиками и разработчиками. Дефекты легко воспроизвести Замкнутый цикл для максимального качества –
Мы автоматически уведомляем тестировщиков о повторном тестировании после устранения, поэтому каждый устраненный дефект закрывается теми, кто его открыл. Наш уникальный System-Wide Defect предвосхищает влияние дефектов на будущие тесты, позволяя предотвратить распространение дефектов.

Наш

Ассортимент продукции

Тест

Dynamix

Тестируйте эффективнее, быстрее и масштабнее с помощью интуитивно понятной платформы управления тестированием SaaS, специально созданной для комплексного тестирования ERP.

Загрузить спецификацию >

Panaya Test Dynamix и Worksoft

Интегрированные решения

Лучшее в своем классе управление тестированием ERP в сочетании с ведущей платформой автоматизации

Загрузить техническое описание >

Версия

Dynamix Pro

Получайте информацию в режиме реального времени с помощью инструментов влияния изменений, исправления транспорта и совместного тестирования в одном месте.

Загрузить спецификацию >

Наши последние

Ресурсы

Вебинар по запросу

Советы и подсказки для успешного UAT

При наличии правильных методов и инструментов выполнение успешных проектов UAT может быть легким

Смотреть сейчас

Вебинар по запросу

Как ускорить работу удаленного UAT

Ускоренный курс для менеджеров по тестированию по запросу

Смотреть сейчас

Информационный бюллетень

Oracle EBS R12.2

Информационный бюллетень по простому обновлению для ERP-менеджеров, менеджеров по разработке и тестированию

Подробнее

Продолжая просмотр или нажимая «Принять», вы соглашаетесь на сохранение основных и сторонних файлов cookie на вашем устройстве для улучшения навигации по сайту, анализа использования сайта и помощи в наших маркетинговых усилиях. Чтобы узнать больше о том, как мы используем эту информацию, ознакомьтесь с нашей Политикой конфиденциальности.

Я принимаю

Сравнение Selenium, OATS и Leapwork

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

Далее мы дадим обзор трех инструментов автоматизации тестирования Oracle и обсудим их плюсы и минусы, чтобы дать вам лучшее представление о ваших возможностях:

  • Selenium : бесплатно, код инструмент автоматизации на базе
  • Oracle Application Testing Suite (OATS) : собственный инструмент автоматизации Oracle
  • Leapwork : инструмент автоматизации без кода

Во-первых, если вы еще этого не сделали, прочитайте наш технический документ по автоматизации Oracle, чтобы узнать о типах автоматизации Oracle и о том, на что обращать внимание при изучении инструментов автоматизации Oracle.

Selenium

Selenium — очень популярный инструмент автоматизации тестирования по нескольким причинам; он бесплатный и с открытым исходным кодом, у него большое сообщество пользователей, и его можно использовать для тестирования веб-интерфейса.

Пакет автоматизации Selenium состоит из нескольких инструментов, в том числе Selenium IDE, инструмента записи и воспроизведения, упрощающего настройку тестирования, и Selenium Grid, позволяющего выполнять параллельное тестирование.

Недостаток Selenium заключается в том, что вам нужно писать код для настройки и обслуживания тестов, что делает тестирование с помощью Selenium утомительным и трудоемким делом в долгосрочной перспективе, особенно если ваша система похожа на многие другие предприятия, использующие Oracle: большая и сложный.

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

Помимо того, что Selenium сложен в обслуживании, он не предоставляет вам каких-либо отчетов о тестах или возможностей устранения неполадок, что затрудняет исправление неудачных тестов и требует много времени.

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

Прочтите: Selenium без кода: как автоматизировать с помощью Selenium без программирования.

Oracle Application Testing Suite (OATS)

У Oracle есть собственный инструмент автоматизации тестирования под названием Oracle Application Testing Suite, но его часто называют OATS, который для пользователей Oracle является очевидным кандидатом на инструмент автоматизации тестирования.

Неудивительно, что OATS полностью совместим с собственными приложениями Oracle. Он также поставляется со встроенными компонентами автоматизации, которые можно использовать с приложениями Oracle, что упрощает процесс проектирования и настройки тестов.

Однако у OATS есть свои ограничения. Во-первых, как и Selenium, он ограничен в своей кросс-технологической функциональности и позволит вам автоматизировать только продукты Oracle и веб-продукты.

Однако, в отличие от Selenium и других инструментов с открытым исходным кодом, он предлагает некоторые дополнительные функции, такие как планирование регрессионного тестирования и создание тестовых данных.

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

Leapwork

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

С помощью платформы автоматизации Leapwork для Oracle, не требующей написания кода, предприятия могут проводить тестирование и автоматизацию процессов во всех приложениях на базе Oracle.

Leapwork также решает распространенную проблему автоматизации Oracle Forms благодаря встроенным возможностям IE. Это также решение, предоставляемое многими другими поставщиками лицензированных платформ автоматизации.

Чем отличается Leapwork?

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

Посмотрите видео ниже, чтобы увидеть, как настройка автоматизации в Selenium сравнивается с Leapwork:

 

Обычная автоматизация Oracle требует глубокого понимания стека технологий Oracle, а также языков программирования — проблему, которую не решает код.

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

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

И последнее, но не менее важное: благодаря простоте использования Leapwork позволяет пользователям повысить продуктивность работы с помощью автоматизации за очень короткий период времени благодаря уникальному визуальному языку, разработанному для максимально удобного использования. Это позволяет командам преодолевать наиболее распространенные проблемы при автоматизации тестирования и видеть положительные результаты автоматизации тестирования быстрее, чем при использовании любого другого инструмента.

Если вы заинтересованы в Leapwork как инструменте автоматизации для Oracle, загрузите этот краткий обзор решения, чтобы узнать, как обеспечить качество и ускорить вывод продукта на рынок с помощью автоматизации без кода.