Get your 6-month No-Cost Opt-Out offer for Unlimited Software Automation?

 

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

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

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

 

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

 

Содержание

Значение тестирования Ad-Hoc: Что такое специальное тестирование?

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

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

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

 

1. Когда и зачем нужно проводить специальное тестирование при тестировании программного обеспечения?

Преимущества создания Центра передового тестирования. Отличается ли тестирование производительности от функционального тестирования?

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

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

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

Специальное тестирование также может быть полезным, когда время особенно ограничено из-за отсутствия документации – подходящее время зависит от компании и предпочитаемого подхода.

 

2. Когда вам не нужно проводить специальное тестирование

Преимущества создания Центра передового тестирования. Отличается ли тестирование производительности от функционального тестирования?

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

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

Кроме того, специальное тестирование должно проводиться до этапа бета-тестирования.

 

3. Кто участвует в специальном тестировании?

кто должен заниматься инструментами автоматизации тестирования программного обеспечения и планированием

В процессе специального тестирования задействовано несколько ключевых ролей, включая:

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

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

– Руководители групп или отделов утверждают общую стратегию тестирования, помогая тестировщикам определить, когда начинать специальное тестирование и как его проводить, не нарушая других проверок.

 

Преимущества специального тестирования

Zaptest, лучший инструмент автоматизации функционального тестирования

К преимуществам специального тестирования при тестировании программного обеспечения относятся:

 

1. Быстрые разрешения

 

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

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

 

2. Дополняет другие виды тестирования

 

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

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

 

3. Гибкое исполнение

 

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

 

4. Расширение сотрудничества

 

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

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

 

5. Различные перспективы

 

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

Если специальные тестеры используют программное обеспечение с конкретным намерением сломать его, они смогут легче определить ограничения программы.

 

Проблемы специального тестирования

нагрузочное тестирование задач

Процесс специального тестирования также имеет ряд проблем, таких как:

 

1. Трудности с отчетностью

 

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

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

 

2. Меньшая повторяемость

 

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

 

3. Требуется опыт работы с программным обеспечением

 

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

Знание принципов работы позволяет тестировщикам ломать и манипулировать программным обеспечением большим количеством способов, но это может значительно повысить требования к навыкам специального тестирования.

 

4. Ограниченная подотчетность

 

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

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

 

5. Может не отражать опыт пользователя

 

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

 

Характеристики тестов Ad-Hoc

тестирование и автоматизация api

К основным характеристикам успешных ad-hoc тестов относятся:

 

1. Расследование

 

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

 

2. Неструктурированный

 

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

 

3. Ориентированный на опыт

 

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

Хотя процесс тестирования все еще полностью неструктурирован, при выборе стратегии тестировщики применяют свои знания о предыдущих специальных проверках.

 

4. Широкомасштабный

 

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

 

Что мы тестируем в специальных тестах?

Конечное тестирование - Что такое E2E тестирование, инструменты, типы и многое другое

Команды по обеспечению качества обычно проверяют следующее в ходе специального тестирования:

 

1. Качество программного обеспечения

 

Эти проверки направлены на выявление ошибок в приложении, которые обычное тестирование не может обнаружить; это означает, что процесс в основном проверяет общее состояние приложения.

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

 

2. Тестовые случаи

 

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

 

3. Тестирующий персонал

 

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

 

4. Программные ограничения

 

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

 

Проясняю некоторую путаницу:

Специальное тестирование и исследовательское тестирование

Сравнение UAT-тестирования с регрессионным тестированием и другими видами тестирования

Некоторые люди считают ad-hoc и исследовательское тестирование синонимами, хотя на самом деле все гораздо сложнее.

 

1. Что такое исследовательское тестирование?

Преимущества создания Центра передового тестирования. Отличается ли тестирование производительности от функционального тестирования?

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

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

 

2. Различия между исследовательским тестированием

и специальное тестирование

Преимущества создания Центра передового тестирования. Отличается ли тестирование производительности от функционального тестирования?

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

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

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

 

Типы тестов Ad-Hoc

автоматизация тестирования веб-приложений

Существует три основных формы специального тестирования в тестировании программного обеспечения, включая:

 

1. Испытание на обезьянах

 

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

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

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

 

2. Тестирование приятелей

 

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

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

 

3. Парное тестирование

 

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

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

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

 

Ручные или автоматизированные Ad-Hoc тесты?

компьютерное зрение для тестирования программного обеспечения

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

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

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

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

 

Что нужно для того, чтобы начать специальное тестирование?

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

Вот основные предпосылки тестирования ad-hoc:

 

1. Квалифицированный персонал

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

 

2. Неструктурированный подход

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

 

3. Программное обеспечение для автоматизации

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

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

 

4. Другие формы тестирования

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

 

Процесс специального тестирования

Конечное тестирование, инструменты, что это такое, типы, подходы

Обычные шаги, которым должны следовать тестировщики при проведении специального тестирования при тестировании программного обеспечения, следующие:

 

1. Определение целей специального тестирования

 

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

 

2. Выбор специальной группы тестирования

 

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

 

3. Выполнение специальных тестов

 

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

 

4. Оценка результатов тестирования

 

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

 

5. Сообщение о любых обнаруженных ошибках

 

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

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

 

6. Повторное тестирование при необходимости

 

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

 

Лучшие практики для специального тестирования

2-2.png

Существуют определенные практики, которые команды тестировщиков должны применять во время специального тестирования, в том числе:

 

1. Определите потенциальные пробелы в тестировании

 

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

 

2. Рассмотрите программное обеспечение для автоматизации

 

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

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

 

3. Делайте подробные записи

 

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

 

4. Продолжайте совершенствовать тесты

 

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

 

7 ошибок и подводных камней при внедрении

Специальные тесты

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

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

 

1. Неопытные тестировщики

 

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

 

2. Расфокусированные проверки

 

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

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

 

3. Отсутствие планирования

 

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

Время в этом процессе ограничено, и знание того, как действовать, может дать много преимуществ.

 

4. Чрезмерно структурированный

 

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

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

 

5. Отсутствие долгосрочных изменений

 

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

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

 

6. Несовместимые наборы данных

 

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

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

 

7. Информационные силосы

 

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

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

 

Типы результатов Ad-Hoc тестов

должность автоматизация тестирования программного обеспечения

Специальные проверки дают несколько различных результатов, включая:

 

1. Результаты тестирования

 

Отдельные тесты дают разные результаты в зависимости от конкретного компонента и подхода – это может принимать различные формы.

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

 

2. Журналы испытаний

 

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

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

 

3. Сообщения об ошибках

 

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

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

 

Примеры специального тестирования

 

Вот три сценария специального тестирования, которые показывают, как команда может реализовать его для различных приложений:

 

1. Веб-приложение для электронной коммерции

 

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

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

 

2. Настольное приложение

 

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

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

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

 

3. Мобильное приложение

 

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

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

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

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Типы обнаруженных ошибок и недочетов

с помощью специального тестирования

zaptest-runtime-error.png

Специальные проверки могут выявить множество проблем с программой, например:

 

1. Ошибки функциональности

 

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

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

 

2. Вопросы производительности

 

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

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

 

3. Проблемы юзабилити

 

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

 

4. Недостатки безопасности

 

Случайный характер ad-hoc тестирования позволяет охватить целый ряд распространенных и редких проблем безопасности; тестировщик может использовать эти проверки для поиска административных бэкдоров в программе.

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

 

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

нагрузочное тестирование

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

 

1. Эффективность обнаружения дефектов

 

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

 

2. Коэффициент охвата тестирования

 

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

 

3. Общая продолжительность испытания

 

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

 

4. Уровень аварийности

 

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

 

5 лучших инструментов для специального тестирования

лучшие бесплатные и корпоративные инструменты автоматизации тестирования ПО + RPA

Существует множество бесплатных и платных инструментов тестирования для специального тестирования при тестировании программного обеспечения – пять лучших из них приведены ниже:

 

1. ZAPTEST Free & Enterprise Edition

статья тестирование

ZAPTEST – это комплексная программа тестирования программного обеспечения, которая обеспечивает высокий уровень функциональности тестирования + RPA как в бесплатной, так и в корпоративной версии.

Этот полнофункциональный комплекс автоматизации программного обеспечения + RPA Suite позволяет проводить полное тестирование на различных настольных и мобильных платформах; технология 1SCRIPT позволяет пользователям с легкостью выполнять одни и те же проверки многократно. Кроме того, инструмент использует современное компьютерное зрение, что позволяет ZAPTEST выполнять специальные тесты с точки зрения человека.

 

2. BrowserStack

 

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

Решения для тестирования BrowserStack также включают бесплатную пробную версию со 100 минутами автоматизированного тестирования – хотя это может иметь ограниченное применение.

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

 

3. LambdaTest

 

LambdaTest также использует облачные технологии и делает упор на тестирование браузеров, что может ограничить его эффективность для других приложений – хотя он по-прежнему хорошо работает с программами для iOS и Android. Это полезная платформа, когда речь идет о масштабируемости, и она интегрируется со многими другими услугами тестового хостинга.

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

 

4. TestRail

 

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

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

 

5. Зефир

 

Zephyr – это платформа управления тестированием от SmartBear, которая помогает командам обеспечения качества улучшить видимость тестирования и при этом хорошо интегрируется с другими программами отслеживания ошибок.

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

 

Контрольный список, советы и рекомендации по специальному тестированию

Контрольный список тестирования программного обеспечения

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

 

1. Определите приоритетность чувствительных компонентов

 

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

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

 

2. Изучить различные инструменты тестирования

 

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

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

 

3. Принять специальное мышление

 

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

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

 

4. Доверяйте инстинктам тестирования

 

Опыт специального тестирования или общих проверок программного обеспечения может помочь выявить общие точки сбоя, и это поможет тестировщикам определить, как выявлять ошибки всех типов.

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

 

5. Полностью регистрировать обнаруженные ошибки

 

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

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

 

6. Всегда учитывайте интересы пользователя

 

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

 

7. Постоянно совершенствуйте процесс

 

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

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

 

Заключение

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

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

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

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post