Что такое ad hoc testing
QA evolution
Интуитивное тестирование (ad-hoc testing)
ad-hoc testing — в ид тестирования, который выполняется без подготовки к тестам, без определения ожидаемых результатов, проектирования тестовых сценариев. Это неформальное, импровизационное тестирование. Он не требует никакой документации, планирования, процессов которых следует придерживаться в выполнении. Также на данный вид тестирования не пишутся тест-кейсы, что в свою очередь может вызвать определенные затруднения в попытках воспроизвести дефект в системе. Такой вид зачастую может дать сходу больше результата чем тестирование по заранее определенным сценариям. Это обусловлено тем, что тестировщик на первых шагах приступает к тестированию основного функционала и выполняет нестандартные проверки, точнее некоторые из его проверок будут нестандартными.
ad-hoc testing
Часто интуитивное тестирование путают с исследовательским. Если говорить об ad-hoc testing и исследовательском тестировании. Ad-hoc testing — это более интуитивное и беспорядочное тестирование, когда тестировщик просто идет и проверяет, что ему хочется. У него нет определенной цели, структуры тестов в голове, какой-то системы. В свою очередь исследовательское тестирование более структурированное. Обычно тестировщик знает, что ему нужно проверить, у него в голове есть цель и какая-то система проведения тестов. Хоть тесты в этом случае не обязательно должны быть оформлены в виде тест кейсов.
Чаще всего такое тестирование выполняется когда мало времени на точное и последовательное тестирование. При этом тестировщик полагается на свое общее представление о приложении и здравый смысл
Тестирование ad-hoc имеет смысл только в случае если тестировщик владеет общей информацией о продукте. Если человек совсем не будет знать продукт, то потратит время на его изучение, особенно если проект очень сложный и большой. Поэтому нужно хорошее представление о целях проекта, его назначению и основным функциям и возможностям. А дальше уже можно приступать к ad-hoc testing.
Виды интуитивного тестирования:
Различия между buddy testing и pair testing:
Основные преимущества ad-hoc testing:
Что можно использовать при таком виде тестирования, какие навыки будут полезными?
Поскольку нет никакой применимой документации, все что остается использовать тестировщику — здравый смысл, логику и накопленный опыт. Стоит отметить что любое, даже не очень знакомое вам приложение должно быть интуитивно понятным. Действуйте больше с точки зрения пользователя, чем тестировщика.
Noveo
Как внедрить исследовательское тестирование в гибкий проект…
… и не пожалеть об этом
Тестировщик Noveo Анастасия вновь делится интересной и наталкивающей на размышления статьей о тестировании.
Исследовательское тестирование (здесь ИТ, англ. exploratory testing, ET) — это метод ручного тестирования, целью которого является взаимодействие с приложением без детальной подготовки, основанное на знаниях и опыте. Специалисты часто сравнивают исследовательское тестирование со спортивными играми, где неизвестно, как противник отреагирует на ваше действие. Исследовательское тестирование работает как мощное дополнение, расширяющее формальное тестовое покрытие, и не требует дополнительного времени на разработку и написание тест-кейсов. Именно эта особенность исследовательского тестирования часто привлекает внимание менеджеров agile-проектов как разумный способ сэкономить время, деньги и внедрить тестирование в установленные проектом сроки. Но может ли исследовательское тестирование полностью заменить другие типы ручного и автоматизированного тестирования в проектах, работающих по гибкой методологии? Попробуем разобраться.
Исследовательское тестирование: 4 главных вопроса
Несмотря на кажущуюся понятность определения исследовательского тестирования, эту технику часто путают с так называемым интуитивным (англ. ad hoc) тестированием.
Ниже представлена диаграмма, сравнивающая интуитивное, исследовательское и сценарное (англ. formal) тестирование.
Критерии сравнения сводятся к четырем главным вопросам: Что?, Когда?, Зачем? и Кто?
Интуитивное тестирование | Исследовательское тестирование | Сценарное тестирование |
ЧТО? | Тестирование без подготовки: Исследовательское тестирование — это самостоятельная методика, которая отличается и от интуитивного, и от сценарного тестирования. Исследовательское тестирование включает изучение, тест-дизайн и прохождение кейсов, что, в свою очередь, требует опыта в тестировании и/или в предметной области проекта. Тестировщики видят проект и применяют свои знания, опыт и творческое мышление для проверки широкого спектра пользовательских сценариев — позитивных, негативных и просто необычных. В гибкой методологии разработки исследовательское тестирование представляется наиболее эффективным в 2 случаях: Суммируя всё вышесказанное, можно подумать: “Окей, быть тестировщиком-исследователем не так уж и просто. Почему же этот метод считается быстрым, не требующим подготовки и подходящим любому QA-инженеру?”. Дело в том, что есть 2 вида исследовательского тестирования. Виды исследовательского тестированияСвободное исследовательское тестированиеЭта техника ИТ частично напоминает интуитивное: тестировщики опираются на свой опыт и проверяют те части приложения, которые, на их взгляд, наиболее вероятно содержат ошибки. Тем не менее, методика не так неструктурирована, как может показаться: обычно тестировщики записывают свои идеи для проведения тестов. Более того, у свободного ИТ есть официальные результаты — набор баг-репортов, которые отправляются к тест-менеджеру или команде. Отметим, что этот подход хорош для команд с 1-2 опытными тестировщиками. Большинство проектов требуют более структурированного подхода, который предоставляет нам другой вид исследовательского тестирования. Сессионное исследовательское тестированиеВ этой технике процесс ИТ разделяется на несколько сессий, которые контролирует тест-лид (или тест-менеджер). Тестирование проходит следующим образом: Что это нам даст?В общем и целом, ИТ могут принести пользу любому гибкому проекту. Тем не менее, виды исследовательского тестирования могут варьироваться в разных ситуациях. Свободное тестирование может быть эффективным для стартапа, где все ресурсы ограничены. Один-два опытных тестировщика могут работать с проектом в течение всех важных этапов с минимальными убытками и оптимальной стоимостью работы. Однако большинству крупных гибких проектов такая методика может не подойти. Сессионное ИТ с его небольшим планированием помогает тестировщикам не забывать о своей цели. Кроме того, требования, которые проверяет тестировщик от сессии к сессии, связаны между собой. Это способствует непрерывному изучению деталей проекта и появлению нового взгляда на существующий функционал. Создается впечатление, что ИТ подходит для любого гибкого проекта. Получается, можно забыть про старое доброе сценарное тестирование и обращаться только к исследовательскому? Давайте сперва рассмотрим “за” и “против” такого радикального решения и его возможное влияние на проект. Несмотря на то, что выгоды от внедрения ИТ перевешивают возможные негативные последствия, некоторые аргументы “против” могут перерасти в ошибки, из-за которых тестирование станет неэффективным. Учитывая всё сказанное, экстремальные стратегии вроде полного отказа от сценарного тестирования не имеют смысла, и ключ к успешному тестированию гибкого проекта — разумный баланс между сценарным и исследовательским тестированием. Исследовательское тестирование: в поисках балансаНесмотря на искушение применять только его, исследовательское тестирование хорошо работает лишь в связке со сценарным. Это дополнение служит мощным источником ценных идей, которые можно формализовать до эффективных тест-кейсов. Чтобы выработать оптимальный подход к ИТ в вашем гибком проекте, вам надо учесть следующее: 1. Стадии, когда лучше всего подключать ИТ: 2. Опыт команды тестировщиков. Исследовательское тестирование становится тем эффективнее, чем больше опыта у тестировщиков, проводящих его. 3. Общая специфика и сложность проекта. Эксперты советуют разумно подходить к выбору соотношения сценарного и исследовательского тестирования в зависимости от особенностей проекта. Здесь нет какого-то среднего соотношения, потому что каждый проект уникален. Например, для комплексной CRM-системы процент сценарного тестирования будет 80-90 против 20-10 процентов ИТ соответственно. Для стартапа с частыми релизами, напротив, 80-90% времени стоит отдать исследовательскому тестированию. Хорошо сбалансированная комбинация исследовательского и сценарного тестирования предотвращает появление ошибок, характерных для чистого исследовательского тестирования, и помогает поставить качественный продукт, не выходя за рамки установленного времени и бюджета. Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter. Що таке ad-hoc тестування?Що таке ad-hoc тестування?Давайте, розглянемо різницю між ними. Вільне тестування (ad-hoc testing) – це вид тестування, який виконується без підготовки до тестування продукту, без визначення очікуваних результатів, проєктування тестових сценаріїв. Це неформальне, імпровізаційне тестування. Воно не вимагає ніякої документації, планування, процесів, яких слід дотримуватися при тестуванні. Такий спосіб тестування в більшості випадків дає більшу кількість заведених звітів про помилку. Це обумовлено тим, що тестувальник на перших кроках приступає до тестування основної функціональної частини продукту і виконує як позитивні, так і негативні варіанти можливих сценаріїв. Найчастіше таке тестування виконується, коли власник товару не володіє конкретними цілями, проєктною документацією та раніше поставленими завданнями. При цьому тестувальник покладається на своє загальне уявлення про продукт, порівняння зі схожими продуктами, власний досвід. Однак при тестуванні ad-hoc, важливо володіти загальною інформацією про продукт, особливо якщо проєкт дуже складний і великий. Тому потрібно гарне уявлення про цілі проєкту, його призначення та основні функції і можливості. А далі вже можна починати ad-hoc тестування. Види вільного тестування (ad-hoc testing): Відмінності між Buddy testing і Pair testing: Основні переваги ad-hoc testing: Приклад вільного тестування (Ad-hoc testing): Ми часто використовуємо Ad-hoc тестування в нашому житті, візьмемо, наприклад, звичайний похід до супермаркету. Після входу в супермаркет відразу на вході ви можете знайти кошик/візок для продуктів, але якщо його не опиниться в звичному для нас місці – це можна буде вважати багом. Вибираючи молоко зверніть увагу на термін придатності і, якщо молоко виявиться простроченим, знову ж таки це буде баг. Так само і з іншими продуктами. І, якщо в кінцевому підсумку, при оплаті покупок на касі, пляшка вина, на якій був цінник 100, виявиться ціною в 200, це також буде багом. Якщо нам потрібно провести ad-hoc тестування інтернет-магазину, то цей короткий список може допомогти з тим, що потрібно перевірити: Також варто відзначити, що ad-hoc тестування часто є улюбленим видом тестування для тестувальників, де можна проявити всі свої знання і виконати найважче передбачувані сценарії, тобто надається можливість чистої імпровізації. Способи підвищення ефективності Ad-hoc тестування: Дослідницьке тестування (Exploratory testing) Дослідницьке тестування (exploratory testing) – це одночасне вивчення програмного продукту, проєктування тестів і їх виконання. Це неформальний метод проєктування тестів, при якому тестувальник активно контролює проєктування тестів в той час, як ці тести виконуються, і використовує отриману під час тестування інформацію для проєктування нових тестів. Описані вище методи тестування мають ґрунтовні подібності та відмінності, тому варто розділяти ці дві популярні методики в рамках тестування. Різниця між ad-hoc і exploratory testing в тому, що теоретично, ad-hoc може провести будь-хто, а для проведення exploratory необхідно майстерність і володіння певними техніками. При цьому, певні техніки – це не тільки техніки тестування. Обидва методи часто використовуються в проєктах, а також є невід’ємною частиною знань і досвіду сучасного тестувальника програмного забезпечення. Способы тестирования игр. 6 типовЗа последние годы индустрия видеоигр еще больше выросла, поэтому если в 2018 году рынок видеоигр стоил более 130 млрд долларов, то в 2020 году, по оценкам Global Data, он будет стоить более 300 млрд долларов. Этот рост также приводит к росту конкуренции в индустрии видеоигр, поэтому компании по разработке игр должны быть конкурентоспособными в играх, которые они запускают. В настоящее время ассортимент игр, из которых игроки могут выбирать, очень велик, поэтому требования игроков к качеству возросли. Видеоигры должны быть развлекательными и без багов. Почему необходимо тестирование игр?QA тестировщики ищут недочеты и слабые места, которые можно устранить до того, как продукт будет представлен публике. Кроме того, с помощью различных методов они должны убедиться, что такие аспекты, как эмоциональная связь с игрой и уровень интереса находятся в оптимальном состоянии. Ниже мы подробно описываем некоторые из распространенных методов, используемых специалистами по QA-тестированию игр. Тестировщики игр следят за любыми графическими нарушениями в интерфейсе, такими как отсутствие графики, отсутствие цветов, проблемы с расположением или проблемы с анимацией и клиппингом. После выявления всех ошибок и недочетов тестировщики составляют список и отправляют его разработчикам игры для исправления. После того как разработчики игры устраняют проблемы, они направляют игру обратно в QA группу для повторного тестирования. 2. Комбинаторное тестированиеС помощью этого метода тестирования игры вы можете сначала проверить, сколько тестов требуется игре. Затем техника комбинаторного тестирования анализирует и тщательно изучает все игровые выходные и входные данные, что позволяет получить четкое представление о различных возможных комбинациях и результатах. Этот вывод имеет важное значение для тестирования, поскольку предполагает, что комбинаторное тестирование параметров может обеспечить высокоэффективное выявление неисправностей. 3. Интуитивное тестирование (ad-hoc)Этот метод не является формальным, напротив, все процедуры выполняются случайным образом. Этот метод игрового тестирования также называется «угадыванием ошибок» и заключается в обнаружении ошибок с помощью случайного подхода. Поэтому нет необходимости в специальной документации, такой как документы с требованиями, планы тестирования, тест-кейсы или надлежащее планирование тестирования в отношении графика и порядка выполнения тестов. 4. Тестирование совместимости 5. Методология “чистой комнаты” (Cleanroom Testing)Методология “чистой комнаты” проверяет и улучшает показатели стабильности и надежности игрового программного обеспечения. Используя методология “чистой комнаты”, можно выявить главную причину возникновения багов и мелких ошибок. Тестировщики игр должны создавать тесты, которые воспроизводят игру точно так же, как игроки. Это означает, что им будет легче понять, чем занимаются игроки. 6. Регрессионное тестированиеВ преддверии старта курса Game QA Engineer приглашаем всех желающих на бесплатный демоурок в рамках которого вы узнаете как создаются игры, в чем особенности их тестирования. Почему в играх особенные сроки? Подробно рассмотрим как тестировать баланс и почему автоматизация не спасает? А также будем практиковаться и протестируем анимацию «Лепрекон». Adhoc ТестированиеВведение в Adhoc ТестированиеКак проводится Adhoc Testing?Adhoc тестирование выполняется несколькими способами. Это можно сделать в любое время. Это может быть в начале, середине или ближе к концу тестирования проекта. Существует три способа проведения Adhoc-тестирования. Они как ниже: Давайте посмотрим на это подробно 1. Приятель ТестированиеКак следует из названия, можно сказать, что два приятеля, тестер и разработчик будут работать вместе. Они будут выбраны для работы над определенным модулем. Как только разработчик завершает модульное тестирование, и тестер имеет в виду некоторые случаи, они оба могут работать с этим модулем. Выполняя этот вид тестирования, вы можете убедиться, что новое будущее или функциональность проверяются с помощью более широкого аспекта как для разработчика, так и для тестировщика. Разработчик может понять различные сценарии, через которые будет проходить код, и подумать с этой точки зрения. В то время как тестировщик может получить представление разработчика о существующем дизайне, и это поможет избежать недопустимых сценариев в тестовых случаях. Это поможет избежать недействительных дефектов. Обе стороны могут думать как друг о друге и получать более четкое представление о разрабатываемом и тестируемом приложении. Это также помогает в разработке лучших тестовых случаев и разработчиков, чтобы иметь лучший дизайн. Обычно это происходит после завершения модульного тестирования. 2. Парное тестированиеВ этом тестировании два тестера работают вместе над модулем. У них есть общая настройка, сделанная для целей тестирования. Внедряя этот вид тестирования, мы позаботились о том, чтобы оба тестировщика нашли способы обнаружить большее количество дефектов в построенном приложении. Они делятся работой по тестированию, а также делают необходимую документацию всех наблюдений, которые они сделали вместе. Максимальное количество сценариев может быть найдено с помощью этого вида тестирования. 3. Обезьяна ТестированиеЭто тестирование выполняется на уровне юнит-тестирования. Человек, тестирующий модуль, тестирует приложение совершенно случайным образом. Это сделано для того, чтобы проверить, может ли система выдерживать любые сбои в любой момент времени. При проведении такого рода испытаний можно обнаружить множество дефектов, которые могли быть оставлены ранее. Этот тест также может сломать систему, с помощью которой мы можем понять проблемы производительности, если таковые имеются, являются постоянными. Здесь не было бы тестов, как для других. Adhoc ТестированиеЭтот метод также даст представление обо всем приложении, и угадающий может сделать тестер, обладающий экспертными знаниями о системе. Вы также можете привлечь другого тестируемого или даже пригласить разработчика, чтобы не пропустить ни одного сценария во время тестирования. Когда два человека сидят вместе, мозговой штурм весьма полезен. Мы можем найти дефекты, которые были сброшены ранее. Используя эту технику, больше шансов найти дефекты больше. Инструменты тестирования AdhocВ специальном тестировании нет специальных инструментов. В результате все инструменты, которые уже используются для тестирования приложения, могут использоваться по мере необходимости. Например, для проверки конкретного модуля используется Selenium. Selenium можно использовать для тестирования модулей, развернутых после предыдущего модуля. Это может помочь в ускорении процесса и получении точных деталей. Аналогично, другие инструменты, такие как QTP, Cucumber, могут быть использованы для любого типа тестирования Adhoc, когда это необходимо. Преимущества Adhoc TestingНедостатки Adhoc TestingВыводAdhoc тестирование является эффективным способом поиска проблем во время выполнения. Специальное тестирование может быть выполнено опытным тестировщиком, который знает о существующей системе. Там нет необходимости в документации, и это может быть сделано с разработчиками бок о бок. Различные перспективы тестирования могут вызвать проблемы, которые не достигают производства и, как следствие, помогают сэкономить много денег. Это оказывается экономически эффективным и продуктивным.
|