Исследовательское тестирование – это особый вид тестирования программного обеспечения, который имеет множество преимуществ для приложения, позволяя ему полностью раскрыть свой потенциал.
То, как команда интегрирует исследовательское тестирование в свои рутинные проверки, может даже определить, насколько хорошо функционирует программное обеспечение, особенно если это позволяет подойти к процедурам тестирования новыми и неожиданными способами. Это помогает тестировщикам обнаружить проблемы в приложении, которые в противном случае могут остаться незамеченными до запуска и привести к тому, что ключевые функции не будут работать.
Понимание процессов, типов и подходов исследовательского тестирования может помочь вам направить организацию и ее команды тестирования на то, как включить его в обычные проверки.
Существует также ряд бесплатных инструментов, которые команда может использовать для облегчения таких проверок и обнаружения проблем до того, как они станут препятствием для разработки.
В этом руководстве мы расскажем о преимуществах исследовательского тестирования, а также о ключевых моментах, которые команда должна учесть перед внедрением.
Что такое исследовательское тестирование?
Исследовательское тестирование объединяет этапы разработки и выполнения теста, обеспечивая полную свободу действий для тестировщика и позволяя ему постоянно оптимизировать свою работу.
По мере проверки программного обеспечения эти команды, скорее всего, обнаружат новые компоненты, требующие тщательной проверки, и могут легко придумать новые тесты, которые принесут пользу приложению.
Исследовательское тестирование похоже на специальное тестирование, но оно сопровождается гораздо более строгой документацией, а также включает в себя более активный процесс обучения.
Менее структурированный подход помогает тестировщикам определить, как приложение может отреагировать на реалистичные сценарии и тестовые примеры, и служит важным дополнением к сценарному тестированию.
Качество разведочного тестирования команды часто зависит от мастерства отдельных тестировщиков, поскольку проверки требуют творческого подхода и глубокого понимания программного обеспечения. Это процесс непрерывного открытия – процесс, в котором тестировщики используют дедуктивные рассуждения, чтобы направлять свою общую методику.
Исследовательское тестирование особенно полезно, поскольку оно отражает то, как пользователи могут использовать программное обеспечение. Большинство пользователей находят ошибки и проблемы случайно, поэтому такие незаписанные процессы могут помочь тестировщикам найти проблемы, которые заранее определенные проверки могут не выявить.
Команда также может автоматизировать эту процедуру для обеспечения более высокого уровня эффективности.
1. Когда вам нужно проводить исследовательское тестирование?
Исследовательское тестирование полезно практически в любом процессе тестирования программного обеспечения, однако оно особенно эффективно для получения быстрой обратной связи о приложении.
Команда также может включить эти проверки, если у нее закончились скриптовые тесты. Не имея четкого направления для своих проверок программного обеспечения, исследовательское тестирование может помочь обнаружить проблемы, которые выходят за рамки стандартных проверок.
Обеспечение разнообразных процедур тестирования позволяет тестировщикам понять программное обеспечение на гораздо более глубоком уровне на любом этапе, но их проведение на ранней стадии может дать больше преимуществ.
При необходимости команды могут повторно провести исследовательские тесты позже для дополнительного спокойствия.
2. Когда вам не нужно проводить исследовательское тестирование
Есть несколько сценариев, в которых исследовательское тестирование не дает никаких преимуществ, хотя для тестировщиков может быть полезнее подождать, пока программное обеспечение не приобретет свою основную функциональность.
Функции приложения обычно пересекаются или взаимодействуют друг с другом, что означает, что исследовательские тесты одной функции могут оказаться устаревшими, когда команда разработчиков добавит новые функции в это программное обеспечение.
Также можно без проблем проводить эти тесты наряду со сценарными проверками, при условии, что тестировщики смогут обеспечить высокий уровень документирования, чтобы избежать путаницы.
Исследовательское тестирование очень универсально по сравнению с другими видами тестирования, что делает эти проверки очень применимыми.
3. Кто участвует в исследовательском тестировании?
Исследовательское тестирование в той или иной степени затрагивает многих сотрудников, включая:
– Тестировщики программного обеспечения любого уровня квалификации могут проводить такие тесты, хотя члены команды, лучше понимающие программное обеспечение, могут разработать большее разнообразие проверок.
Опыт также может повлиять на их способность определять наиболее полезные тесты.
– Разработчики программного обеспечения, которые признают результаты этих тестов, примут во внимание любые предложения и часто разрабатывают собственное решение проблемы.
Их реакция на тесты – это то, что позволяет приложению достичь состояния, пригодного для успешного выпуска.
– Менеджеры проекта, которые контролируют весь процесс и могут даже решать, какие виды тестирования будут использовать команды.
Они также могут отвечать за приобретение программного обеспечения для команд, которое может упростить или даже автоматизировать тесты.
Жизненный цикл исследовательского тестирования
В процессе исследовательского тестирования большое внимание уделяется свободе тестировщика, но при этом соблюдается определенная структура.
Основными тремя этапами этого подхода являются:
Этап 1: Обучение
Тестировщики начинают с глубокого понимания программного обеспечения и его функциональности – критического анализа, чтобы определить, как оно сочетается друг с другом.
Это позволяет тестировщику выяснить, какие обычные вводы может сделать пользователь, хотя он, возможно, уже знаком с приложением и его функционированием.
На этапе обучения может даже потребоваться учебник по работе с программным обеспечением. Это этап исследования, на котором тестировщик получает всю необходимую информацию для разработки широкого спектра полезных тестов.
Этап 2: Разработка тестов
Разработка исследовательских тестов действительно включает в себя различные правила и параметры, но все же предлагает значительно больше свободы по сравнению со сценарным тестированием, специфика которого уже известна до начала тестирования.
Тестировщик может разработать проверки, которые, по его мнению, более точно соответствуют приложению, и потенциально может обнаружить ценные данные для команды разработчиков, включая заметные ошибки, которые они должны исправить.
Команды тестирования используют этот этап, чтобы определить, какого подхода придерживаться и как распределить работу между различными тестировщиками таким образом, чтобы использовать их сильные стороны.
Этап 3: Исполнение
После разработки используемых проверок, тестировщики теперь могут проверять приложение теми способами, которые они считают наиболее эффективными – они могут проводить их сразу после разработки конкретной проверки.
Это этап, на котором тестировщики активно ищут проблемы и то, как обнаруженные ими проблемы могут быть использованы в других функциях и возможностях.
Хотя при проведении исследовательских тестов в определенной степени присутствует интуиция, они все же следуют установленным процессам и целям, что позволяет проводить плавное тестирование, которое легко может соответствовать конкретным целям тестирования.
Исследовательское и сценарное тестирование
Исследовательское тестирование фактически противоположно сценарному тестированию, хотя и то, и другое может быть важным для обеспечения готовности приложения к выпуску. Последние обычно более формальны и структурированы, включают в себя множество широких тестов по сравнению с исследовательскими проверками, которые часто более специфичны для функциональности приложения.
Кроме того, исследовательское тестирование значительно лучше поддается адаптации, в то время как скриптовые тесты могут испытывать трудности в случае значительных изменений в программном обеспечении. Исследовательские тесты могут быстрее обнаружить ошибки и принять меры по их устранению, что делает первые особенно полезными в случаях, когда быстрая обратная связь имеет первостепенное значение.
1. Активное исследовательское тестирование
Активное разведочное тестирование предполагает разработку тестировщиком автоматизированного сценария для своих проверок, который выполняет другой тестировщик. Эти сценарии учитывают предыдущие тесты, если они применимы.
Два испытателя обычно меняются ролями на протяжении всей процедуры проверки, чтобы дважды проверить надежность этих сценариев и процессов.
Активные тесты имеют более широкий охват, не жертвуя специфичностью торговой марки исследовательских проверок. Эти сценарии также позволяют улучшить документацию, что облегчает воспроизведение любых проблем, обнаруженных тестировщиками.
Документация является важным компонентом активных тестов, поскольку она также помогает заинтересованным сторонам увидеть общий прогресс приложения.
2. Пассивное исследовательское тестирование
Пассивное исследовательское тестирование требует только одного тестировщика, хотя работа в паре может еще больше упростить процесс.
Этот подход предполагает использование специального программного обеспечения, которое записывает действия тестировщиков, предоставляя им простые шаги для воспроизведения любой обнаруженной ими проблемы. Обычно это делается в виде видеоролика, в котором тестировщик дает комментарии, объясняющие его действия шаг за шагом.
Запись процесса тестирования также позволяет получить представление о производительности приложения, в том числе о том, насколько быстро оно реагирует на запросы ввода.
Пассивное тестирование предоставляет как тестировщикам, так и команде разработчиков множество подробной информации о том, как функционирует программное обеспечение.
Техники исследовательского тестирования
Исследовательское тестирование обычно проводится в формате “экскурсии” – когда тестировщик исследует программное обеспечение наиболее эффективным способом.
Команда может выбрать различные туры, в том числе:
– Экскурсии по путеводителю
При таком подходе приоритет отдается основным функциям приложения, что позволяет точно воспроизвести работу обычного пользователя с программой и выявить проблемы, которые он обнаружит естественным образом.
– Исторические экскурсии
Этот тур проверяет самые старые функции приложения, чтобы убедиться, что они все еще функционируют; это особенно важно, если разработчики добавили новые функции, которые конфликтуют с ними.
– Денежный тур
Этот исследовательский тест проверяет критически важные функции приложения, в частности те, за доступ к которым клиенты и заказчики платят деньги – как правило, они являются наиболее приоритетными для команды тестирования.
– Преступный тур
Иногда тестировщики активно работают над тем, чтобы сломать приложение или вызвать негативные сценарии, например, вводят недостоверную информацию и исследуют, как приложение реагирует на это.
– Экскурсия по подворотне
Этот процесс затрагивает функции, которыми, скорее всего, воспользуется меньшее количество клиентов; они не менее важны для любого подхода к тестированию, тем более что они будут взаимодействовать с другими функциями.
– Интеллектуальный тур
Этот тур продвигает приложение дальше, тестируя самые сложные функции с более высокими (иногда максимальными) значениями, чтобы определить скорость обработки программного обеспечения.
Подходы к исследовательскому тестированию
Существует два основных подхода к исследовательскому тестированию:
1. Исследовательское тестирование на основе сеансов
Это метод, основанный на времени, который направлен на количественную оценку процесса тестирования путем разделения его на “сессии” с двумя компонентами: миссии и уставы.
Миссия – это цель и продолжительность конкретного сеанса, обеспечивающая исследователю четкую направленность.
Хартия определяет рамки каждой сессии и детализирует любые конкретные цели, которые тестировщик намерен достичь. Это позволяет повысить уровень подотчетности (и документирования) за счет разделения этих проверок на более управляемые компоненты.
Тесты на основе сеансов также повышают производительность и предоставляют тестировщику четкие метрики и информацию об устранении неполадок.
2. Исследовательское тестирование на основе пар
Парное тестирование похоже на активное разведочное тестирование, поскольку в основном предполагает работу в паре – обычно на одном устройстве – для непрерывной одновременной проверки приложения. При такой схеме один тестировщик предлагает ряд тестовых примеров и ведет записи о ходе работы, в то время как другой тестирует программное обеспечение.
Общение очень важно при проведении парного тестирования, так как это позволяет убедиться, что оба тестировщика знают о проверках и их целях.
Если вы сами распределяете эти пары, обязательно учитывайте сильные и слабые стороны каждого тестировщика, так как это позволит вам построить более эффективные процессы исследовательского тестирования.
Какие факторы влияют на исследовательское тестирование?
Факторы, которые могут повлиять на качество исследовательского тестирования команды, включают:
– Главная цель и основная функциональность программного обеспечения.
– Конкретные цели тестирования для текущей фазы приложения.
– Индивидуальные роли и способности каждого тестировщика в команде.
– Доступные инструменты, например, бесплатное программное обеспечение для автоматизации тестов.
– Поддержка, которую тестировщики получают от коллег или руководства.
– Запросы клиента и текущие общие тенденции рынка.
– Простота использования приложения, например, плавность интерфейса.
– Время, которое есть у тестировщиков для завершения этапа тестирования.
– Входы и другие данные, которые собираются использовать тестировщики.
– Функции, которые разработчики добавляют в программное обеспечение с течением времени.
Виды разведочного тестирования
Три основных типа исследовательского тестирования, которые может использовать команда, это:
1. Вольное исследовательское тестирование
Вольное тестирование – это специальный подход к проверке приложения. При этом учитывается мало правил, поэтому его эффективность может варьироваться; некоторые программы и компоненты требуют более надежной методики.
Эти проверки могут принести много пользы, помогая тестировщикам ознакомиться с данным приложением и подтвердить работу предыдущего тестировщика.
Даже при отсутствии строгих правил опытные и квалифицированные тестировщики могут легко использовать это в своих интересах. Они могут с легкостью перемещаться по всем аспектам программного обеспечения – в некоторых ситуациях правила тестирования являются ограничительными и могут непреднамеренно ограничить результаты команды.
2. Исследовательское тестирование на основе сценариев
Тестирование на основе сценариев использует реалистичные ситуации в качестве основы для каждого теста, например, проверяя вводы, которые пользователи, скорее всего, сделают во время типичной работы данного программного обеспечения.
Тестировщики усердно работают над тем, чтобы каждый разработанный ими сценарий соответствовал тому, как пользователь взаимодействует с приложением.
Время может стать ограничением, поскольку цель команды – протестировать как можно больше сценариев; в зависимости от предстоящих сроков, скорее всего, не удастся охватить все возможности.
Тестировщики должны использовать широкий спектр тестов по различным категориям.
3. Исследовательское тестирование на основе стратегии
Тестирование на основе стратегии включает в себя широкий спектр специальных методов, в том числе тестирование граничной стоимости, методы эквивалентности, методы, основанные на риске, и многое другое. В этом случае предпочтение обычно отдается тестировщикам, которые уже знакомы с приложением, поскольку они могут разработать индивидуальные стратегии, включающие эти отдельные методы.
Подход, основанный на стратегии, фокусируется в основном на функциональности (и внутренней работе) программного обеспечения, не рассматривая возможные сценарии, которые могут привести пользователя к возникновению проблем. Это может привести к более широкому анализу приложения и его различных особенностей, потенциально более глубокому, чем при различных других подходах.
Ручные или автоматизированные разведочные тесты?
Команды тестирования могут проводить исследовательские проверки либо вручную, либо автоматизировать их. Любой из вариантов может дать огромные преимущества; выбор правильного варианта часто зависит от специфики проекта.
Исследовательское тестирование вручную
Ручное исследовательское тестирование позволяет проводить более широкий спектр специальных проверок. Хотя это может занять больше времени из-за того, что человеческие тестеры медленнее компьютеров, ручная проверка может сыграть важную роль в определении пользовательского опыта.
Тестировщик работает не только для того, чтобы убедиться, что все функции приложения работают как надо, но и для того, чтобы убедиться, что пользовательская база может легко с ним работать. Это, пожалуй, самая распространенная форма исследовательского тестирования – хотя это не обязательно делает ее самой эффективной.
1. Преимущества проведения исследовательских тестов вручную
К преимуществам ручного разведочного тестирования относятся:
Больше внимания уделяется удобству использования
Автоматические исследовательские тесты могут заметить несоответствия в программном обеспечении, но не смогут интерпретировать эти проблемы так же, как тестировщик-человек.
Это включает в себя понимание того, как пользователи программного обеспечения, скорее всего, будут перемещаться или взаимодействовать с приложением, что автоматизация не может учесть.
Ручные исследователи могут предложить более высокий уровень обратной связи, включая конкретные детали того, как найденные ими проблемы влияют на общее состояние программного обеспечения или общий опыт.
Возможность внесения изменений в режиме реального времени
Одно из ключевых преимуществ исследовательского тестирования заключается в том, что можно определить необходимость теста и провести его относительно быстро, прежде чем выставлять на аукцион необходимые улучшения.
Автоматическое тестирование, как правило, намного быстрее, но тестировщики должны дождаться, пока все будет завершено, прежде чем вносить изменения – ручные тестировщики могут сделать это, пока процесс исследовательского тестирования еще продолжается.
Однако зачастую это возможно только для ошибок, затрагивающих незначительные части программного обеспечения.
Повышенное внимание к деталям
Исследовательское тестирование – это в основном поиск новых способов тестирования приложения в процессе его понимания; иногда это может означать, что один тест ведет к другому, давая идеи тестировщику.
Автоматические тесты могут не учитывать этого, поскольку они относительно свободны для команды тестирования. Ручные тестировщики постоянно совершенствуют свои знания о программном обеспечении и придумывают новые, но не менее важные тесты – но это может быть сложно, если стороннее программное обеспечение автоматизирует их.
Может находить ошибки вне кода
Ручные исследовательские проверки позволяют тестировщикам рассмотреть каждую грань приложения и программного обеспечения, в том числе за пределами самого кода.
Многие автоматизированные подходы ограничиваются кодом и его функционированием, что может привести к тому, что команды тестирования не заметят проблем, которые могут возникнуть в других частях приложения.
Это зависит в основном от используемого вами программного обеспечения для автоматизации, поскольку некоторые решения могут предложить более широкий подход к исследовательскому тестированию.
Обеспечивает качество в рамках всего проекта
Автоматизированные исследовательские проверки ищут только ошибки и метрики в приложении; ручные тестировщики могут вместо этого осмотреть программное обеспечение и предложить свой собственный исчерпывающий отзыв.
Например, они могут протестировать код и определить, что он слишком сложен – это особенно важно, поскольку “мертвый” код может замедлить производительность, но фактически останется незамеченным автоматизированными процессами.
Знание программного обеспечения может помочь тестировщику в диагностике проблем, возникающих на других этапах тестирования.
2. Трудности ручного разведочного тестирования
Проблемы ручного разведочного тестирования включают:
Возможность человеческих ошибок
Автоматизированное разведочное тестирование может выполнять одну и ту же проверку столько раз, сколько необходимо, без каких-либо изменений в точном ходе, обеспечивая последовательность и надежность результатов.
Ручное разведочное тестирование уязвимо для человеческих ошибок, то есть тестировщик может ввести неправильное значение. Обычно можно перепроверить эти тесты и устранить любые несоответствия, поскольку они могут показаться очевидными даже на первый взгляд.
Однако повторное выполнение теста после обнаружения ошибки может занять больше времени.
Как правило, требует больше времени
Даже если тестировщики проводят каждую исследовательскую проверку правильно, без человеческих ошибок, весь этот процесс занимает значительное время по сравнению с автоматизированным программным обеспечением, которое может рассчитать тесты гораздо быстрее.
Это может быть разница в несколько часов, как минимум; время, которое тестировщики могли бы потратить на те части приложения, которые не получат никаких преимуществ от автоматизации.
Исследовательские тесты также требуют постоянного контроля, в то время как автоматизация позволяет проводить тесты в течение суток.
Длительный процесс документирования
Аналогичным образом, ручное документирование во время и после ручного тестирования может стать ненужной нагрузкой на процесс исследовательского тестирования.
Это усложняет отслеживание изменений и правок программного обеспечения с течением времени – автоматизированные программы обычно способны интуитивно учитывать это при выполнении тестов.
Это еще один административный вопрос, который отнимает время и энергию от других дел, что фактически уменьшает масштаб и широту общей процедуры тестирования программного обеспечения.
Должен досконально знать программное обеспечение
Ручные тестировщики любого уровня квалификации могут осмотреть приложение и тщательно протестировать его. Это связано с работой, которую они проделали, чтобы понять программное обеспечение – первый этап исследовательского процесса.
Однако если тестировщик с трудом или пренебрежительно относится к тому, чтобы узнать, как работает это приложение, он, скорее всего, не сможет разработать и выполнить подходящий набор тестов.
Хорошее знание программного обеспечения позволяет тестировщикам выйти за рамки обычных параметров тестирования.
Дорогостоящее обслуживание
Полагаясь на ручное разведочное тестирование, обычно требуется большая команда тестировщиков, что может привести к более высоким долгосрочным затратам по сравнению с автоматизированными проверками. Стороннее программное обеспечение, которое проводит эти исследовательские тесты, может предоставлять огромную ценность или даже быть полностью бесплатным.
В зависимости от сложности задач, компании могут потребоваться высококвалифицированные тестировщики с многолетним опытом работы для полной проверки приложения. Это может значительно увеличить расходы на тестирование по сравнению с использованием бесплатного программного обеспечения для автоматизации.
3. Когда использовать ручное разведочное тестирование
Ручное разведочное тестирование часто сопряжено с рядом трудностей, но все же является жизненно важным компонентом тщательного тестирования программного обеспечения. Это связано с тем, что существуют аспекты программного обеспечения, которые автоматизация не может полностью учесть и которые также требуют пристального внимания.
Например, программное обеспечение не может надежно обеспечить обратную связь по пользовательским интерфейсам или тестам пользовательского опыта. Тестировщики могут получить хорошее представление о том, как приложение работает на практике, только если они будут тестировать его вручную. Это означает, что и разработчики, и команды тестирования должны рассмотреть возможность включения в свои проверки хотя бы некоторой степени ручного разведочного тестирования.
Автоматизированное исследовательское тестирование
Автоматизированное тестирование использует стороннее программное обеспечение для автоматизации определенных проверок – тестировщики обычно могут настроить его для проведения практически любого теста.
Однако, как правило, это требует, чтобы команда выполнила проверку вручную хотя бы один раз для калибровки автоматизации. Это может значительно упростить процесс как для команды тестирования, так и для команды разработчиков.
Хотя автоматизация исследовательских тестов может показаться необычной, есть несколько очевидных преимуществ для вашего приложения и его производительности.
1. Преимущества автоматизации исследовательского тестирования
Основные преимущества автоматизации исследовательского тестирования включают:
Последовательное выполнение тестов
Человеческий фактор может легко привести к ошибкам в тестировании, исправление которых требует времени и денег; автоматизированные исследовательские проверки позволяют командам тестирования обойти эту проблему.
Тестировщики эффективно обучают программное обеспечение для автоматизации, как правильно выполнять тест, гарантируя, что оно каждый раз проводит его идентично. Это повышает общую надежность тестов и сокращает время, которое разработчики тратят на ожидание результатов – тем более, что тестировщики могут легко настроить его на ночной режим работы.
Экономия времени для всех
Автоматизированные тесты позволяют разработчикам гораздо быстрее приступить к устранению проблем, а тестировщикам – охватить более широкий спектр исследовательских проверок. Есть только столько сценариев, которые команда может учесть независимо от срока, поэтому важно, чтобы тестировщики уложили как можно больше проверок в отведенные им временные рамки.
Автоматизация помогает проводить эти разведочные тесты гораздо быстрее, чем ручные тестировщики.
Экономически эффективный подход
В зависимости от выбранного командой программного обеспечения, автоматизация может быть гораздо более рентабельной, чем ручное тестирование – она может быть даже бесплатной.
Хотя ручных тестировщиков по-прежнему необходимо нанимать, и некоторые из них будут отвечать за калибровку процедур автоматизации, автоматизация как можно большего количества разведочных тестов дает компании возможность снизить расходы на персонал.
Как только команда поймет программное обеспечение для автоматизации, они смогут адаптировать его к широкому кругу задач.
Адаптация для нескольких устройств
Для ручного тестирования может потребоваться персонал с опытом работы с различными устройствами, например, знание различных операционных систем телефонов, включая Android и iOS, если создается мобильное приложение.
Автоматизированное программное обеспечение может учитывать это и проводить тестирование на нескольких устройствах для обеспечения стабильной работы приложения. Команды тестирования, не имеющие представления об этих устройствах, могут посчитать этот процесс утомительным; автоматизация снова способна упорядочить обычные процессы исследовательского тестирования и тестировать каждую итерацию одновременно.
Многократно используемые сценарии
Если команда тестирует несколько версий одного и того же программного обеспечения или даже несколько продуктов с похожей архитектурой или функциями, можно повторно использовать сценарии от одного цикла тестирования к другому.
Если для обеспечения совместимости необходимо внести какие-либо изменения, ручные тестировщики могут сделать это гораздо быстрее, чем писать совершенно новый сценарий.
Автоматизация оптимизирует практически каждый этап процесса разведочного тестирования, легко настраивается в различных конфигурациях программного обеспечения.
2. Проблемы автоматизации разведочных тестов
Этот процесс также сопряжен с различными трудностями, такими как:
Представляет только одну сторону тестирования
Автоматизировать каждую проверку при тестировании приложения нецелесообразно и неразумно, потому что есть некоторые аспекты, по которым только ручной тестировщик может достоверно дать обратную связь.
Это включает в себя пользовательский опыт, хотя в зависимости от выбранного вами программного обеспечения можно получить тщательную аналитику производительности и нагрузочного тестирования с помощью автоматизации.
Автоматизация исследовательского тестирования лишена человеческой оценки и может лучше всего работать вместе с ручным тестировщиком для некоторых проверок.
Нереалистичные ожидания в отношении возможностей
Аналогичным образом, автоматизированные процедуры разведочного тестирования могут обеспечить огромные преимущества для приложения наряду с общим проектом.
Однако такой подход не всегда является решением проблемы. Организации, которые в значительной степени полагаются на автоматизацию на каждом этапе, могут иметь неполное представление о программном обеспечении.
Автоматизация выявляет проблемы, но команды тестирования и разработки несут ответственность за их устранение. Важно определить всеобъемлющую стратегию автоматизации, чтобы каждый участник проекта понимал ее возможности и ограничения.
Более высокие требования к квалификации
Автоматизация обычно подразумевает знание того, как выполнять сложные проверки, наряду с тем, как программировать и фактически автоматизировать их. Для этого часто требуется многолетний опыт написания сценариев, хотя программное обеспечение для автоматизации может помочь значительно оптимизировать эти процессы.
Очень важно, чтобы компания набирала тестировщиков с разнообразными и надежными навыками, способствующими эффективной автоматизации.
Тестировщики, имеющие опыт автоматизации, также знают, каким функциям отдать предпочтение при выборе из доступных вариантов программного обеспечения сторонних производителей, что гарантирует команде получение качественного продукта.
Неправильные стратегии и коммуникация
Выработка согласованной стратегии имеет первостепенное значение для любой успешной автоматизации; разработчики, тестировщики и даже руководители проектов должны быть на одной волне на протяжении всего тестирования.
Команды должны работать вместе, чтобы определить объем и график предстоящих процедур. Это справедливо для любого процесса тестирования, но особенно важно в связи с дополнительными сложностями автоматизации. Улучшенные линии связи и отсутствие информационных силосов позволят вашим командам проводить тесты более эффективно.
Выбор правильного программного обеспечения для автоматизации
Автоматизация обычно включает в себя выбор стороннего приложения, совместимого с целями команды по тестированию. Каждый вариант имеет различные ценовые планы и функциональность. Это может оказаться значительным долгосрочным расходом, даже если программное обеспечение успешно выполняет автоматизированные тесты и обеспечивает значительную ценность.
Существует ряд бесплатных вариантов, которые предлагают впечатляющую функциональность, сравнимую с премиальными альтернативами. Важно, чтобы группа тестирования изучила все доступные варианты, включая бесплатное программное обеспечение.
Заключение: Автоматизация разведочного тестирования в сравнении с ручным разведочным тестированием
Существует мало проектов, которые выигрывают от полностью ручного или полностью автоматизированного тестирования, поскольку приложения всех видов работают лучше при сочетании обоих методов.
Хотя автоматизированные тесты могут оптимизировать процесс для команд разработки и обеспечения качества, некоторые аспекты дизайна требуют ручного исследовательского тестирования; это единственный способ получить обратную связь, учитывающую пожелания пользователей.
Со временем все больше организаций работают над внедрением гиперавтоматизации– процесса, направленного на разумное максимизирование автоматизации, обеспечивающего эффективную стратегию бизнеса, – которая все еще может существовать наряду с ручным тестированием.
Автоматизированное тестирование становится все более доступным для компаний благодаря широкому распространению программного обеспечения для автоматизации, особенно при наличии нескольких бесплатных вариантов с большим количеством функций. Это облегчает фирмам применение комбинированного подхода к ручному и автоматическому разведочному тестированию.
Растущая популярность Agile (метод управления проектами, ориентированный на постепенный, но значительный прогресс) в разработке также стала одним из факторов, поскольку он требует коротких циклов тестирования. Комбинированная стратегия тестирования может учитывать эту и различные другие стратегии разработки, такие как непрерывная интеграция, которая также требует повторного тестирования для обеспечения успеха многих итераций одного и того же программного обеспечения.
Что нужно для начала исследовательского тестирования
Предпосылками исследовательского тестирования являются:
1. Четкие цели тестирования
Хотя исследовательское тестирование является синонимом свободы и иногда путается с ad hoc тестированием, оно все же следует конкретным правилам или определенным целям. Единственный способ для команды QA успешно ориентироваться практически в любой структуре тестирования – это знать ожидаемый результат каждого теста, тем более что тестировщики обычно сами разрабатывают эти проверки.
2. Творческие, интуитивные тестировщики
Исследовательское тестирование направлено на разработку новых и креативных тестов, которые могут выявить проблемы в приложении. Это могут сделать даже тестировщики с ограниченным опытом, при условии, что они понимают программное обеспечение.
Важно, чтобы тестировщики понимали приложение и то, как оно работает; это позволит им интуитивно разработать ряд полезных проверок.
3. Согласованная документация
Каждый вид тестирования должен иметь строгую документацию, чтобы убедиться, что каждый член команды следует ожидаемому графику тестирования и что никто случайно не повторит проверку.
Это жизненно важный аспект коммуникации в рамках одного отдела и нескольких, например, разработчикам требуются регулярные обновления тестирования, чтобы понять, как устранить проблемы.
4. Взгляд со стороны клиента
Исследовательское тестирование охватывает множество стратегий и сценариев, включая те, которые отражают, как пользователи будут практически взаимодействовать с приложением. Очень важно, чтобы группы тестирования учитывали это во время проверок, даже если они не проводят тесты на основе сценариев.
Принятие этого позволяет тестировщику подходить к тестированию с разных точек зрения, повышая качество этих проверок.
5. Программное обеспечение для автоматизированного тестирования
Поскольку команда может автоматизировать значительную часть тестов, которые они разрабатывают, важно, чтобы они могли приобрести высококачественное программное обеспечение для автоматизированного тестирования до этапа выполнения.
Разработчики и команда тестирования могут использовать свое понимание проекта для определения стороннего приложения, которое будет соответствовать их собственным требованиям.
Процесс исследовательского тестирования
Конкретные шаги для разведочного тестирования следующие:
1. Классифицируйте процедуру тестирования
Первый шаг исследовательского тестирования заключается в том, чтобы соответствующие члены команды поняли, как они могут подойти к этим проверкам, например, классифицировать общие неисправности и провести анализ первопричины.
Здесь тестировщики сами разрабатывают свои идеи для тестов; в зависимости от точной методологии, они могут также разработать устав тестирования.
Это устанавливает рамки и тесты для данной сессии или рабочего дня.
2. Начать тесты
Хотя точные параметры (например, время для каждого теста или общая сессия) зависят от предпочтений команды и требований проекта, все исследовательские исследования имеют некоторые общие черты.
После классификации соответствующих проверок сотрудники службы контроля качества приступают к проведению испытаний и регистрации результатов.
Если проверки требуют автоматизации, тестировщики могут настроить его на ночную работу или самостоятельно контролировать его в течение дня.
3. Проанализируйте результаты
Следующий этап – анализ результатов, сравнение их с результатами по умолчанию и ожидаемыми результатами. Если в результате этих испытаний возникают значительные неожиданные отклонения любого рода, испытатели могут повторить проверку или сразу же начать выяснять, как это исправить. Предложения, которые они делают разработчикам, могут сыграть важную роль в определении правильного подхода – и в их сообщениях об ошибках это может быть подробно описано.
4. Подведение итогов тестирования
После аукциона результатов тестирования команда обеспечения качества приступает к анализу самой процедуры тестирования и использует ее для определения того, подходил ли их подход к исследовательскому тестированию.
В этом сводном отчете о тестировании может быть даже сделан вывод о том, что в ходе проверок были допущены эксплуатационные ошибки, которые требуют повторного тестирования. Команда тестирования может также повторно проверить приложение после устранения разработчиками этих проблем, чтобы определить, насколько успешно они были устранены.
Лучшие практики исследовательского тестирования
Наиболее эффективные методы исследовательского тестирования включают:
1. Объединение тестеров в пары
Многие виды исследовательского тестирования выигрывают от совместной работы тестировщиков – это еще больше упрощает процесс и позволяет взглянуть на одну и ту же проверку с разных точек зрения.
Парное тестирование также позволяет избежать возможности туннельного видения, поощряя более творческий подход к разработке тестов.
Работа нескольких человек над одними и теми же тестами может привести к повышению точности всех тестов, а разделение нагрузки также помогает ускорить тестирование для всей команды.
2. Смешивание ручных и автоматизированных тестов
Некоторые компании до сих пор с трудом внедряют автоматизацию, в то время как другие чрезмерно используют ее, даже когда ручные перспективы могут быть более выгодными. Баланс этих проверок позволяет команде тестирования охватить больше баз и обеспечить качество всего приложения, включая более субъективные аспекты, такие как интерфейс программного обеспечения.
Совместное проведение ручного и автоматизированного тестирования – единственный способ гарантировать полное тестовое покрытие каждой функции или возможности.
3. Понять рынок
В процессе тестирования важно, чтобы тестировщики знали как свою целевую аудиторию, так и конкурентов; это поможет им оценить, как люди, скорее всего, отреагируют на текущую функциональность приложения.
Определенные функции пользуются повышенным спросом, и команда тестирования может извлечь выгоду, определив их приоритетность во время проверок. Хотя они также должны поддерживать широкое тестовое покрытие. Это может определить направление тестирования, а также потенциальный успех программного обеспечения при запуске.
4. Используйте реальные устройства для тестирования
Команды тестирования программного обеспечения могут использовать эмуляторы для облегчения исследовательских проверок; это может быть полезно, но редко отражает практическую среду пользователя.
Реальные устройства помогают повысить надежность разведочного тестирования за счет создания более реалистичного опыта – эмуляторы несовершенны и могут содержать ошибки, которых нет у клиентов.
Эмуляция – это быстрый способ тестирования нескольких платформ, но она не заменит реальные устройства.
Типы результатов разведочного тестирования
После проведения проверки проверяющие могут получить различные результаты, в том числе:
1. Результаты тестирования
Сами результаты принимают различные формы, поскольку исследовательское тестирование может включать в себя сотни уникальных тестов. Эти результаты составляют большую часть выходных данных процедуры тестирования, предоставляя жизненно важную информацию о состоянии приложения и его способности удовлетворять потребности пользователя.
Испытатели могут повторно проверить систему и подтвердить информацию после получения этих результатов, чтобы определить свои дальнейшие действия.
2. Журналы испытаний
Собственные журналы приложения часто выявляют ошибки и проблемы в процессе тестирования; они дают самые сильные подсказки о том, почему программа не прошла тест. Старшие тестировщики особенно искусны в интерпретации журналов приложения, что позволяет им определить причину сложных проблем.
Чем больше информации тестеры получат из этих журналов, тем больше они смогут помочь разработчикам.
3. Отчеты об испытаниях
В зависимости от процедуры автоматизации команды, их результаты могут автоматически генерировать отчет об ошибке. Здесь указываются все ошибки, присутствующие в приложении, возможно, включая их причины и любые другие данные, имеющие отношение к разработчикам.
Тестировщики могут использовать это, чтобы предложить свое собственное мнение о том, готово ли программное обеспечение к запуску, что обычно известно как решение “годен/не годен”.
Примеры исследовательского тестирования
Вот три примера того, как компания может использовать исследовательское тестирование:
1. Мобильное игровое приложение
Если игровая компания хочет выпустить крупное обновление для мобильного приложения, специалисты по исследовательскому тестированию могут проверить как старые, так и новые функции, чтобы определить, остается ли приложение стабильным. Это может повысить сложность программного обеспечения до такой степени, что оно не сможет работать на определенных устройствах.
Тестировщики работают над тем, чтобы минимизировать последствия этого, обеспечивая удобство использования на максимально возможном количестве платформ.
Исследовательские тестировщики тщательно проверяют игру и ее многочисленные сложные сценарии, чтобы убедиться, что каждая функция работает так, как задумано; для этого процесса обычно требуется ручной тестировщик.
2. Веб-сайт поставщика услуг
Веб-сайты также проходят исследовательское тестирование, чтобы убедиться, что они работают как для пользователей, так и для персонала, поэтому тестировщики могут начать с входа на сайт. Это тестирует способность сайта создавать новые профили пользователей и проверяет, что пользователи не могут получить доступ к административным функциям.
Затем тестировщики переходят к проверке услуги, которая может выражаться в бронировании встречи или оформлении заказа. Затем они завершат покупку, чтобы убедиться в адекватности работы системы оформления заказа, после чего посмотрят подтверждение заказа по электронной почте и историю счета.
3. Система управления больницей
Приложения и системы всех видов могут извлечь пользу из исследовательского тестирования. В системах управления больницей тестировщик может обратить внимание на то, как платежный модуль взаимодействует с другими функциями.
Более высокие уровни интеграции могут привести к значительным ошибкам без тщательного тестирования. Эти проверки могут включать архитектурную диаграмму, отслеживающую множество компонентов системы и их взаимодействие.
Тестировщики также изучают проблемы предыдущих итераций системы и специально проверяют, сохранились ли они, принимая оперативные меры в случае обнаружения ошибок.
Типы ошибок и недочетов, выявляемых в ходе разведочного тестирования
Ошибки, которые тестировщики могут обнаружить в ходе разведочного тестирования, включают:
1. Несовместимые характеристики
Некоторые функции в приложении могут взаимодействовать друг с другом не так, как ожидается, что может привести к тому, что пользователи не смогут совершать покупки или пользоваться приложением. Тестировщики проверяют функции по отдельности и в сочетании друг с другом, чтобы убедиться, что все подходит друг другу.
2. Неправильный дизайн пользовательского интерфейса
Пользовательский интерфейс приложения определяет, как именно человек использует программу. Например, если важные функции не очевидны для клиентов, они могут не заметить их наличие, что ограничит их удовольствие от использования приложения.
Ручное тестирование пользовательского интерфейса выявляет и исправляет недружественный пользователю дизайн.
3. Ошибки аутентификации
Многие приложения и веб-сайты позволяют создать профиль пользователя с определенными привилегиями. Очень важно, чтобы тестировщики проверили, могут ли обычные пользователи каким-то образом получить доступ к конфиденциальным данным или даже административным функциям при использовании программного обеспечения неожиданным образом.
4. Мертвый код
Тестировщики могут обнаружить устаревший код, который все еще присутствует в приложении и даже может быть причиной заметных проблем с производительностью. Мертвый код усложняет внутреннюю работу приложения и может привести к ошибкам, которых можно избежать. Определение и оптимизация этого делает программное обеспечение более отзывчивым для персонала и пользователей.
Общие метрики исследовательского тестирования
Обычные метрики, с которыми тестировщики могут столкнуться во время исследовательских тестов, включают:
1. Метрики тестирования производительности
Исследовательские тесты, изучающие общую производительность приложения, могут привести к широкому спектру показателей. Это может включать минимальное, среднее и максимальное время отклика, а также показатели отказов и успехов для определения стабильности.
2. Метрики тестового покрытия
Покрытие тестов важно, поскольку оно определяет, сколько категорий и аспектов приложения охватывают тесты. Процент покрытия требований, например, оценивает, есть ли функции, которые требуют дополнительных раундов тестирования.
3. Общая эффективность испытаний
Отслеживание количества успешных и неудачных проверок помогает тестировщикам определить общее состояние приложения. Кроме того, команда может отслеживать, сколько из обнаруженных ошибок являются критическими.
4. Распределение дефектов
Аналогичным образом, проверка распределения дефектов показывает компоненты или функции, наиболее подверженные ошибкам. Это могут быть части приложения, которые часто взаимодействуют с другими, что делает необходимым определение приоритетности этих тестов.
5. Метрики регрессии
Исследовательское регрессионное тестирование позволяет тестировщикам увидеть, как ведут себя различные итерации одного и того же программного обеспечения и как это может повлиять на производительность.
Скорость внедрения дефектов и количество дефектов на сборку – это конкретные метрики, которые помогают в этом.
Устранение некоторой путаницы: Исследовательское тестирование и специальные тесты
Уделяя большое внимание свободе тестировщика, некоторые люди часто путают исследовательское тестирование с тестированием ad hoc. Эти два формата имеют несколько общих черт, но в конечном итоге служат разным целям.
1. Что такое специальное тестирование?
Специальное тестирование – это совершенно неструктурированный подход, который нарушает традиционную схему тестирования и позволяет обнаружить дефекты, которые в противном случае могли бы не проявиться.
Эта форма тестирования обычно не предполагает никакой документации, что затрудняет воспроизведение проблем, если только тестировщик не уверен в их причине.
Одним из примеров этого является “обезьянье тестирование” – проверка, которая включает в себя случайные вводы и в конечном итоге направлена на разрушение системы.
Подобно разведочному тестированию, многие специальные тестировщики работают в парах для выполнения этих проверок; это повышает их надежность. Подход ad hoc может быть полезен после проведения формального тестирования, чтобы убедиться, что проверки учитывают все возможности; это также помогает, когда время для проведения дальнейшего тестирования ограничено. При правильном выполнении специальные тесты приносят большую пользу.
2. Различия между исследовательским тестированием и специальными тестами
Специальное тестирование обычно не предполагает формального документирования. Это резко отличается от разведывательных тестов, где импровизированный характер таких проверок делает ведение учета еще более важным.
Исследовательские тесты используют большее разнообразие формальных методов тестирования, в то время как специальные проверки позволяют избежать этого, выходя за рамки обычного тестового этикета. Это помогает им обнаружить ошибки, которые в противном случае тестировщики никогда бы не нашли.
Исследовательское тестирование имеет четкие цели и границы, но при этом позволяет членам команды использовать творческие тесты. Специальные тесты обычно не имеют определенных конечных целей, кроме как подтолкнуть программное обеспечение к тому, что оно может. Специальное тестирование часто также предполагает предварительное знание программного обеспечения и его функций, в то время как исследовательское тестирование включает изучение приложения в свои обычные процессы.
Исследовательское тестирование в Agile
Методология Agile в значительной степени способствует постоянному совершенствованию. Это означает, что он хорошо сочетается с исследовательскими тестами, особенно в условиях растущего спроса на частое обновление программного обеспечения.
Сочетание исследовательского тестирования с Agile может дать членам команды более прочную структуру тестирования, включив планирование релизов и выполнение спринтов в их расписание. Компания, использующая Agile-методы, может извлечь из этого еще больше пользы, объединив их с исследовательским тестированием; это отличный способ протестировать каждый отдельный компонент приложения. Поскольку тестировщики могут проводить исследовательские проверки без сценариев, это экономит драгоценное время как сотрудников службы контроля качества, так и разработчиков.
Автоматизированное разведочное тестирование усугубляет эту экономию, помогая компаниям проверять последние итерации своих приложений гораздо быстрее, потенциально за одну ночь. Исследовательские проверки дают быстрые, пригодные для использования результаты, и разработчики могут внести необходимые изменения в рамках следующего спринта.
Ручное разведочное тестирование по-прежнему дает много преимуществ в сочетании с Agile благодаря своей способности выявлять проблемы, которые автоматизированный подход может пропустить. Другие формы тестирования просто занимают слишком много времени или дают слишком мало преимуществ, чтобы комфортно вписаться в рамки Agile. Исследовательские проверки позволяют убедиться, что каждый этап Agile значительно улучшает программное обеспечение и его функциональность.
7 ошибок и подводных камней, которых следует избегать при внедрении исследовательских тестов
Вот семь распространенных ошибок, которые часто допускают компании при внедрении исследовательских тестов, а также то, как компании могут избежать этих проблем:
1. Несбалансированное ручное/автоматическое тестирование
Выяснение того, какие тесты лучше всего работают при ручной проверке, а какие выиграют от автоматизации, требует времени, но позволяет командам тестировать гораздо эффективнее.
Автоматизация слишком большого количества тестов может привести к тому, что приложение станет громоздким или неудобным для пользователя из-за отсутствия человека-тестера.
2. Ограничения по времени
Разведочное тестирование быстрее, чем многие другие виды тестирования, но реальность сроков проекта означает, что все еще существуют ограничения на количество тестов, которые команда может провести.
Управление временем и стремление к охвату тестов помогают команде тестирования выполнять как можно больше проверок по многим широким категориям.
3. Негибкие тестеры
Хотя для исследовательских проверок не требуется предварительное знание программного обеспечения или особо глубокие навыки, проверки все равно зависят от способностей и инициативы отдельных членов команды.
Менеджер проекта должен грамотно распределить эти роли тестирования, при необходимости зарезервировав их для более творческих и интуитивных членов команды.
4. Сложность воспроизведения неудач
Не всегда очевидно, какие действия способствуют сбою теста; также может быть неясно, какие аспекты приложения виноваты в этом.
Именно поэтому многие исследовательские подходы предполагают объединение тестировщиков в пары или даже прямую запись экрана тестировщика, чтобы получить более четкое понимание проблем и их точных причин.
5. Неясная документация
Будь то автоматизированный отчет об ошибке или ручная запись выполненных тестов, хорошая документация упрощает разработчикам принятие мер в соответствии с выводами команды тестирования.
Команда тестировщиков должна взять на себя обязательство обеспечить качественное ведение записей в ходе каждой проверки, предоставляя как можно больше подробностей в каждом отчете.
6. Высокие ожидания
Исследовательское тестирование полезно практически для любого программного проекта, но его сфера применения все же ограничена – оно лучше всего работает в сочетании с другими методами тестирования.
Команды тестирования должны выполнять эти проверки наряду с обычными сценарными тестами; это единственный способ, с помощью которого отделы обеспечения качества могут обеспечить стабильно широкий охват тестами.
7. Неправильная автоматизация
Важно, чтобы команда тестирования и руководитель проекта понимали, какое программное обеспечение для автоматизации дает наибольшие преимущества для конкретного приложения.
Различные варианты сторонних производителей предлагают свои уникальные возможности, поэтому выбор команды может определить успех роботизированной автоматизации процессов; они должны рассмотреть все возможные варианты.
5 лучших бесплатных инструментов для исследовательского тестирования
Пять лучших инструментов для исследовательского тестирования, которые команды по обеспечению качества могут использовать бесплатно, включают:
1. ZAPTEST FREE Edition
ZAPTEST Free предоставляет функциональность премиум-уровня по абсолютно нулевой цене, позволяя любой организации воспользоваться преимуществами простого внедрения исследовательского тестирования.
Это приложение может автоматизировать любую платформу, устройство и браузер с помощью инновационной технологии 1SCRIPT.
ZAPTEST также обеспечивает гибкую автоматизацию RPA, позволяя сочетать ее с ручным подходом.
2. Исследовательское приложение XRAY
XEA позволяет пользователям создавать комплексные графики тестирования и легко регистрировать их ход, упрощая этап отчета об ошибке на этапе разведочного тестирования.
Этот вариант полностью фокусируется на перспективе пользователя и предлагает централизованный центр результатов для обновления информации другими тестировщиками.
Однако в настоящее время XRAY не имеет интегрированной автоматизации, что может ограничить его долгосрочную эффективность.
3. Магнит для жуков
Расширение для браузера, предлагающее тщательное исследовательское тестирование, Bug Magnet позволяет тестировщикам проверять краевые случаи и другие проблемные значения.
Это расширение также обеспечивает простую интеграцию фиктивного текста, адресов электронной почты и нескольких наборов символов.
Однако он доступен только для браузеров на базе Firefox и Chrome, что делает его менее универсальным выбором по сравнению с конкурентами.
4. Планы тестирования Azure
Azure Test Plans является ключевой частью платформы Azure от Microsoft и позволяет тестировщикам собирать богатые данные по многим сценариям.
Этот вариант подходит как для настольных, так и для веб-приложений, обеспечивая при этом сквозную прослеживаемость, которая имеет четкую запись о разработке программного обеспечения.
Однако такой подход часто требует более глубокой интеграции с Azure, поэтому он обходится ценой гибкости.
5. Тестирование
Testiny специализируется на ручном разведочном тестировании и предлагает интеллектуальный редактор, позволяющий тестировщикам разрабатывать проверки с использованием древовидной структуры для максимальной гибкости.
Каждое изменение в прогоне или тестовом случае остается в истории приложения для обеспечения полной подотчетности и прослеживаемости.
Однако это бесплатно только для небольших команд и проектов с открытым исходным кодом.
Когда следует использовать корпоративные и бесплатные инструменты исследовательского тестирования?
Хотя исследовательское тестирование – это стоящая инвестиция, а премиум-приложения обычно предлагают более широкие функциональные возможности, существует множество бесплатных вариантов, предоставляющих более чем достаточно функций.
Исследовательское тестирование может стать значительным операционным расходом, если вы используете модель премиум-класса, но не у каждой компании или команды разработчиков программного обеспечения есть на это деньги. Выбор оптимального программного обеспечения стороннего производителя часто зависит от конкретных требований фирмы.
Платное решение может быть единственным способом удовлетворить потребности данного проекта; команда должна изучить различные варианты, прежде чем принять решение о выборе приложения.
Компании с небольшими командами могут извлечь наибольшую пользу из бесплатных инструментов тестирования, поскольку многие из них бесплатны для ограниченного числа пользователей.
В качестве альтернативы они могут выбрать варианты без этого ограничения и те, которые способны вместить масштаб группы тестирования. Это может сделать еще более целесообразным объединение специалистов по исследовательскому тестированию в пары для обеспечения более точных результатов – команде, естественно, потребуется меньше пользовательских профилей.
Многие службы предлагают бесплатную пробную версию своего программного обеспечения, чтобы организации могли проверить, соответствует ли оно их потребностям; как правило, такая пробная версия длится всего пару недель.
Контрольный список, советы и рекомендации по разведочному тестированию
Существует множество дополнительных советов, которые тестировщики могут учитывать при начале исследовательских проверок, в том числе:
1. Разделите функции и модули соответствующим образом
Чтобы избежать недопонимания, команды тестирования должны составить четкий список каждой функции и проверок, которые они собираются выполнить. Это также означает, что тесты должны быть адекватно распределены по функциям программного обеспечения.
Для достижения наилучших результатов очень важно, чтобы группа тестирования договорилась о том, кто из ее членов будет проводить каждый тест, исходя из их соответствующих навыков и сильных сторон.
2. Работа над пониманием программного обеспечения
Этап обучения является важной частью исследовательского тестирования. Это означает, что тестировщики должны активно работать с программным обеспечением и выяснить, как оно работает, прежде чем разрабатывать тесты.
Изучение внутренней работы этого программного обеспечения может быть совместным процессом, обеспечивающим лучшее понимание в команде. Это позволяет тестировщикам разрабатывать более качественные проверки и тестовые случаи.
3. Определите проблемные области
В каждом приложении есть функции или компоненты, которые пересекаются с другими. По мере усложнения программного обеспечения возрастает вероятность появления ошибок; это может потребовать более тщательного тестирования. Команда должна активно работать, чтобы выяснить, какие компоненты нуждаются в дополнительной помощи.
Они могут использовать конкретные туры тестирования, которые наилучшим образом отражают потребности приложения и общие приоритеты команды по тестированию.
4. Начните с базовых пользовательских сценариев
При необходимости команды по обеспечению качества могут проводить исследовательские тесты в любом порядке, но, возможно, будет полезнее начать с более простых проверок, прежде чем углубляться в более сложные функции.
Это позволяет плавно переходить от одного уровня сложности к другому, давая испытателям возможность понять программное обеспечение. Это также поможет проверить, работают ли основные функции так, как ожидается.
5. Объедините тестировщиков в пары
Парное разведочное тестирование упрощает и подтверждает этап обеспечения качества, позволяя тестировщикам работать с абсолютной уверенностью в каждой проверке. Совместная работа делает любую форму тестирования более эффективной за счет лучшего знакомства каждого члена команды с программным обеспечением.
Они также могут предоставлять отчеты об ошибках с гораздо большей глубиной благодаря своим индивидуальным взглядам, предоставляя разработчикам больше информации для работы.
6. Проведите несколько тестов
Возможность команды повторно протестировать приложение зависит от расписания и сроков, которые им предстоят. Но если это возможно, то перепроверка особенно проблемных компонентов может оказаться полезной.
Кроме того, повторные тесты позволяют убедиться, что ранее обнаруженная проблема устранена и не повлияет на работу программного обеспечения в дальнейшем. Такое усердие иногда необходимо для того, чтобы убедиться в успешности тестирования.
Заключение
Исследовательское тестирование может многое предложить компаниям, занимающимся разработкой программного обеспечения всех видов, выступая в качестве дополнения к сценарному тестированию и многим другим проверкам.
С помощью разведочного тестирования команды по обеспечению качества могут тестировать приложения по более высоким стандартам, повышая качество конечного программного обеспечения и помогая разработчикам исправить ошибки, если они существуют.
Сочетание ручного и автоматизированного разведочного тестирования может обеспечить наибольшую пользу, позволяя уделять равное внимание всем компонентам программного обеспечения.
Если вашей компании требуется программное обеспечение для автоматизации исследовательских проверок, ZAPTEST FREE Edition предлагает гораздо более широкую и гибкую функциональность, чем другие приложения премиум-класса, позволяя тестировщикам легко оптимизировать эти проверки.
Вопросы и ответы и ресурсы
1. Лучшие курсы по автоматизации исследовательского тестирования
Как новички, так и опытные специалисты по исследовательскому тестированию могут извлечь пользу из курсов по совершенствованию своих навыков. Это включает в себя выяснение того, как подходить к новому программному обеспечению.
Полезные курсы, которые могут помочь в этом, включают:
– Полный курс тестирования программного обеспечения 2023 от Udemy; это обучение широкому тестированию программного обеспечения в течение 28 часов.
– Исследовательское тестирование Coveros; здесь рассказывается о том, как разрабатывать уставы и применять исследовательские тесты к API.
– Двухдневный тренинг по исследовательскому тестированию от Polteq; в нем рассматривается, как исследовательские тесты работают в контексте Agile.
– LinkedIn’s Exploratory Testing; здесь показано, как современное тестирование программного обеспечения использует исследовательские проверки.
– Coursera’s Introduction to Software Testing; это поможет начинающим тестировщикам понять типичные процедуры.
2. Каковы 5 лучших вопросов для собеседования по разведочному тестированию?
При проведении собеседований на должности специалистов по разведочному тестированию важно, чтобы менеджеры по подбору персонала задавали хорошие вопросы для точной оценки навыков и опыта кандидата.
Пять основных вопросов, которые необходимо задать:
– Каковы основные различия между сценарным и исследовательским тестированием, включая их пригодность?
– С какими проблемами вы сталкивались в качестве исследователя-испытателя и как вы их преодолевали?
– Приведите примеры исследовательских тестов, которые больше всего выиграют от автоматизации роботизированных процессов.
– По вашему мнению, какой навык (технический или иной) является наиболее важным для тестировщика-исследователя?
– Какой совет вы бы дали тестировщику, пытающемуся понять программное обеспечение и как его проверить?
3. Лучшие учебные пособия YouTube по исследовательскому тестированию
На сайтах обмена видеоматериалами, таких как YouTube, доступно множество бесплатных учебных пособий, которые могут помочь будущим тестировщикам понять основные принципы его работы. Некоторые из них являются частью серии, в то время как другие представляют собой отдельные видеоролики с глубоким погружением в тему.
Каналы, предлагающие эти уроки, включают в себя:
– Академия тестирования предоставляет сотни видеоматериалов, охватывающих все аспекты тестирования программного обеспечения.
– Software Testing Mentor, который также предлагает обширные видеоматериалы по основам тестирования программного обеспечения.
– QAFox, который также предоставляет реальные примеры и живые проекты в дополнение ко всем своим видеоматериалам.
– SDET-QA Automation Techie, где есть несколько исчерпывающих видеороликов о различных подходах к тестированию.
– GlitchITSystem, которая рассматривает различные веб-сайты с помощью исследовательского тестирования, пытаясь обнаружить глюки.
4. Как проводить исследовательские тесты?
Хорошо проведенные исследовательские тесты включают в себя надежную документацию, к которой разработчики и будущие тестировщики обращаются при создании новых итераций программного обеспечения.
При значительном обновлении приложения повторное тестирование его основных функций становится необходимым, чтобы убедиться, что эти дополнения не оказывают негативного влияния на ранее существовавшие функции.
Это единственный способ гарантировать, что исследовательские тесты останутся успешными в долгосрочной перспективе. Это также помогает учесть будущие планы, такие как предварительные функции, при разработке первоначального приложения и его проверок.
Сотрудники отдела контроля качества должны адекватно планировать эти тесты и определять, когда следует повторно проверить приложение; в этом команде могут помочь инструменты автоматизированного тестирования.
5. Является ли разведочное тестирование тестированием “черного ящика”?
Исследовательское тестирование очень похоже на тестирование “черного ящика”, которое подразумевает проверку приложения путем изучения его особенностей без непосредственного изучения кода.
Не существует четких ограничений на типы проверок, которые относятся к разведочному тестированию; этот подход может охватывать все аспекты программного обеспечения, включая код.
Одним из ключевых сходств между этими двумя видами тестирования является отсутствие у тестировщика предвидения. Тестировщики “черного ящика” обычно не знакомы с программным обеспечением до его тестирования, а исследовательские тестировщики изучают работу программного обеспечения в рамках первоначального исследования.
Хотя исследовательское тестирование в целом не всегда классифицируется как тестирование “черного ящика”, верно, что между этими двумя подходами существует значительное пересечение.