เข้าสู่ระบบ

Исследовательское Тестирование Exploratory Testing

Например, вам поставлена задача протестировать функциональную область “Редактировать закладку”.

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

exploratory testing это

Тестировать можно по-разному, и у каждого инженера со временем вырабатываются свои предпочтения и стиль работы. Однако в рабочее время иногда требуется применять определенный вид тестирования, поэтому всегда полезно разобраться, к чему именно у вас лежит душа. Поэтому сегодня мы поговорим об исследовательском тестировании, а также его отличии от скриптового. Достаточно часто опытным участникам QA-команды ставят задачу проверить ИТ-систему исследовательским тестированием, особенно в таких сферах как медицина, телекоммуникации и финансы. Усовершенствуйте текущий процесс тестирования, чтобы повысить качество продукта и ускорить его выпуск.

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

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

Почему Тест-кейсов Недостаточно Для Полного Покрытия

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

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

Обнаружив такую ошибку, QA кажется, что всем должно быть очевидно, что исследования нужны, и он хочет добавить их в процесс. Исследовательское тестирование особенно подходит, если требования и спецификации неполны или если не хватает времени. Этот подход также можно использовать для проверки того, что предыдущее тестирование выявило наиболее важные дефекты. По мнению Канера и Джеймса Маркуса Баха , исследовательское тестирование – это скорее образ мышления или «…

Устранение Некоторой Путаницы: Исследовательское Тестирование И Специальные Тесты

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

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

exploratory testing это

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

Проведите Несколько Тестов

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

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

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

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

exploratory testing это

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

Исследовательское тестирование дает свободу тестировщикам исследовать приложение, не ограничиваясь заданными сценариями. Это позволяет обнаруживать дефекты там, где они могут быть пропущены в прочих случаях. Индуктивный метод (от деталей — к закономерностям) анализа проблемы невоспроизводимого бага, предложенный в книге «Explore It! », помог, пусть и постмортем, проследить разрешение проблемы падающей тестовой связки.

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

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

Стейкхолдер не пойдет интересоваться, как прошло исследование, потому что он ничего об этом не знает. Ему кажется, что ошибки находятся сами собой в пределах тех артефактов, которые есть (например, тест-кейсов). У тестировщика есть шансы найти такую ошибку, если он проведет сессию Exploratory Testing, которая как раз и выведет его за явную спецификацию в недокументированные требования.

На самом деле тестирование почти всегда представляет собой комбинацию исследовательского и скриптового тестирования, но в зависимости от контекста склоняется к любому из них. Исследовательское тестирование очень похоже на тестирование “черного ящика”, которое подразумевает проверку приложения путем изучения его особенностей без непосредственного изучения кода. Многие службы предлагают бесплатную пробную версию своего программного обеспечения, чтобы организации могли проверить, соответствует ли оно их потребностям; как правило, такая пробная версия длится всего пару недель. Исследовательские тесты, изучающие общую производительность приложения, могут привести к широкому спектру показателей. Это может включать минимальное, среднее и максимальное время отклика, а также показатели отказов и успехов для определения стабильности.

Ручные тестировщики любого уровня квалификации могут осмотреть приложение и тщательно протестировать его. Это связано с работой, которую они проделали, чтобы понять программное обеспечение – первый этап исследовательского процесса. Автоматические исследовательские тесты могут заметить несоответствия в программном обеспечении, но не смогут интерпретировать эти проблемы так же, как тестировщик-человек. Тестирование на основе стратегии включает в себя широкий спектр специальных методов, в том числе тестирование https://deveducation.com/ граничной стоимости, методы эквивалентности, методы, основанные на риске, и многое другое. В этом случае предпочтение обычно отдается тестировщикам, которые уже знакомы с приложением, поскольку они могут разработать индивидуальные стратегии, включающие эти отдельные методы. Тестирование на основе сценариев использует реалистичные ситуации в качестве основы для каждого теста, например, проверяя вводы, которые пользователи, скорее всего, сделают во время типичной работы данного программного обеспечения.