Виды И Типы Тестирования: Подробный Разбор
Тестировщики могут выполнять конкретные тесты, связанные с функциональными требованиями к ПО, но также могут свободно исследовать другие области приложения. Если тестировщик не знаком с приложением, рекомендуется определить области программы, где вероятность ошибок выше всего, и начать тестирование с них. Поскольку такое тестирование предполагает отсутствие заранее подготовленных или задокументированных тест-кейсов, трудно предугадать, сколько сил, времени и ресурсов потребуется на проведение тестов. Чтобы найти одну ошибку, может понадобиться как несколько минут, так и несколько часов. Buddy Testing можно считать комбинацией системного и модульного тестирования.
Такой способ тестирования в большинстве случаев дает большее количество заведенных отчетов об ошибке. Ad-hoc testing — это более интуитивное и беспорядочное тестирование, когда тестировщик просто идет и проверяет, что ему хочется. У него нет определенной цели, структуры тестов в голове, какой-то системы. Обычно тестировщик знает, что ему нужно проверить, у него в голове есть цель и какая-то система проведения тестов. Хоть тесты в этом случае не обязательно должны быть оформлены в виде тест кейсов. По завершении тестов (или даже между отдельными проверками) тестировщики оценивают результаты, но без формального документирования их в тестовом примере.
Кроме того, в зависимости от характера приложения и поставленных целей, могут использоваться различные подходы к тестированию. Например, исследовательское тестирование, тестирование юзабилити, функциональное тестирование, тестирование производительности или безопасности. Но для этого у тестера должно быть общее понимание процесса и знание тестируемого продукта. Исследовательские работы узкой направленности открывают перед организациями очень большое количество вполне очевидных преимуществ. Стоит также отметить стоимость подобного тестирования, поскольку в отличие от крупномасштабных проектов, специальное исследовательское изучение любой задачи обычно проводится всего один этап. Результаты таких исследований становятся доступны быстрее, и адаптивность формата позволяет разработать уникальный план проводимых работ для конкретной организации заказчика.
И, если в конечном итоге, при оплате покупок на кассе, бутылка вина, на которой был ценник a hundred, окажется ценой в 200, это также будет багом. Ad-hoc тестирование мы часто используем в нашей жизни, возьмем, к примеру, обычный поход в супермаркет.
Тестирование Интерфейса
Главное, что нужно помнить об исследовательском тестировании, это то, что само по себе оно не является методикой тестирования. Еще один важный момент заключается в том, что исследовательское тестирование – это не только выполнение тестов. Тестировщики могут применять исследовательский подход и при разработке новых тестов в начале итерации, и при анализе уже завершенных тестов. Также, исследовательское тестирование не должно выполняться небрежно, в спешке и без подготовки. Исследовательское тестирование может проводиться вручную, а может осуществляться с широким применением средств автоматизации, т.е. При исследовательском тестировании тестировщик использует свои знания и опыт для разработки и выполнения тестов и записывает свои наблюдения и выводы по ходу их выполнения.
Этот тип тестирования используется, когда приложение является сложным, плохо изученным, или ограничения по времени не позволяют использовать более формальный подход к тестированию. Управление тестовыми данными является важным компонентом интуитивного тестирования. Тестовые данные должны быть тщательно отобраны и подготовлены, чтобы обеспечить эффективное выполнение тестов. Также важно, чтобы группа тестирования имела доступ к тестовой среде и данным и могла работать с ними контролируемым и безопасным образом. В ходе такого тестирования вы моделируете конкретные сценарии атак или исследуете области ПО, которые могут быть уязвимы для атак. Чтобы убедиться, что все аспекты безопасности ПО были тщательно проверены, ad-hoc тестирование следует дополнить более формальными методами.
- Для имитации пользовательского окружения создается виртуальное окружение.
- Опытные тестировщики находят больше дефектов, поскольку они лучше угадывают ошибки.
- Разница между ad-hoc и exploratory testing в том, что теоретически, ad-hoc может провести кто угодно, а для проведения exploratory необходимо мастерство и владение определёнными техниками.
- Каждый подход к тестированию должен выявлять те части приложения, которые могут выиграть от более тщательного внимания.
- «Ad hoc» переводится с английского как «случайный, непродуманный, спонтанный».
Специальное тестирование будет эффективным только в том случае, если тестировщик знаком с тестируемой системой. Это тестирование не требует документации / планирования / процесса, которому нужно следовать. Поскольку это тестирование направлено на поиск дефектов с помощью случайного подхода, без какой-либо документации, дефекты не будут сопоставлены с тестовыми случаями. Это означает, что иногда очень трудно воспроизвести дефекты, так как к ним не привязаны ни этапы испытаний, ни требования. Тестовая среда должна быть настроена таким образом, чтобы максимально точно имитировать среду конечного пользователя.
Это происходит из-за того, что «определенный» не означает что мы жестко фиксируем все и вся. Кроме того, даже в свободной форме поисковой сессии тест будет включать в себя ограничения состоящие ad hoc тестирование в том, какую часть продукта тестировать или какую стратегию использовать. Хороший исследовательский тестирировщик будет записывать идеи тестов и использовать их в последующих циклах испытаний.
Методики подбираются только под поставленные перед исследователями задачи, для того чтобы предоставить заказчику точную и актуальную информацию. В связи с этим, куда практичнее продемонстрировать, что именно можно проанализировать и задокументировать в целях исследования. Каждый подход к тестированию должен выявлять те части приложения, которые могут выиграть от более тщательного внимания. Простейшее определение исследовательского тестирования — это разработка и выполнения тестов в одно и то же время. Что является противоположностью сценарного подхода (с его предопределенными процедурами тестирования, неважно ручными или автоматизированными). Исследовательские тесты, в отличие от сценарных тестов, не определены заранее и не выполняются в точном соответствии с планом.
Интеграционное Тестирование
Поэтому интуитивное тестирование проводится, когда нет времени для завершения обширного тестирования, предполагающего создание тест-кейсов и прочей документации. Такое тестирование является гибким и может адаптироваться к изменяющимся требованиям или ситуациям. Вместе с тем оно может оказаться менее тщательным и эффективным, чем формальные методы тестирования. Это связано с тем, что из-за отсутствия планирования тестировщик может упустить некоторые важные аспекты ПО. Интуитивное тестирование направлено на выявление дефектов в программном обеспечении, которые более структурированные подходы могут пропустить. Для выявления багов тестировщики могут использовать методы случайного, исследовательского и пограничного тестирования.
Исследования, проводимые компаниями, могут преследовать разные цели и решать разные задачи. К примеру, исследовательская деятельность может проводиться на регулярной основе, постоянно пополняя информацию компании о текущей обстановке. Но если необходимо решение более конкретных, более узких задач, то используются несколько иные методы. Чаще всего такое тестирование выполняется, когда владелец продукта не обладает конкретными целями, проектной документацией и ранее поставленными задачами. При этом тестировщик полагается на свое общее представление о продукте, сравнение с похожими продуктами, собственный опыт. Однако при тестировании ad-hoc имеет смысл владеть общей информацией о продукте, особенно если проект очень сложный и большой.
Специальное тестирование не следует структурированному способу тестирования и проводится произвольно в любой части приложения. Основная цель этого тестирования — найти дефекты путем выборочной проверки. Adhoc тестирование может быть достигнуто с помощью методики тестирования программного обеспечения, называемой « угадывание ошибок». Люди, обладающие достаточным опытом работы с системой, могут угадывать ошибки, чтобы «угадать» наиболее вероятный источник ошибок. По мере выполнения тестов команда тестировщиков должна записывать результаты и сообщать о своих выводах.
Целью является выявление потенциальных проблем производительности или узких мест в системе путем имитации реального использования и нагрузки. Это тестирование фокусируется на функциональных требованиях к программному обеспечению. Специальное тестирование может быть выполнено, когда есть ограниченное время, чтобы провести подробное тестирование. Обычно специальное тестирование проводится после формального выполнения теста. И если позволяет время, в системе можно провести специальное тестирование.
Таких тестов еще меньше количественно, но они еще сложнее чем интеграционные и тем более модульные (и требуют больше опыта от тестировщика). Любые методы, целью которых было бы получение и систематизация большого количества данных, отражающих реальную обстановку. Описанные выше методы тестирования имеют основательные сходства и различия, поэтому стоит разделять эти две популярные методики в рамках тестирования. Разница между ad-hoc и exploratory testing в том, что теоретически, ad-hoc может провести кто угодно, а для проведения exploratory необходимо мастерство и владение определёнными техниками. Благодаря им ad-hoc тестирование может стать более структурированным и эффективным.
Контрольные тесты по выявлению дефектов добавляются в качестве дополнительных контрольных тестов к запланированным контрольным тестам. Это поможет обеспечить согласованность и точность тестовых данных и сэкономит время. Для этого используется инструмент отслеживания багов или другой механизм баг-репортов. Отчет должен включать подробное описание проблемы и любую вспомогательную документацию, например, скриншоты или логи. Когда стоит проводить ad-hoc тестирование Ad-hoc testing бывает полезным, когда у вас нет времени на длительный и всеобъемлющий процесс тестирования, требующий подготовки требований и тест-кейсов.
Используйте инструменты управления тест-кейсами для их создания, организации и управления ими. Это поможет обеспечить выполнение всех необходимых тестов и упростит отслеживание результатов тестирования. Ad-hoc тестирование не требует предварительного планирования, документирования и проектирования тест-кейсов. И если такую задачу поручают специалистам, которые отличаются креативностью и хорошим знанием системы, это тестирование может сэкономить много времени и выявить больше багов, чем спланированное. Суть парного тестирования в том, что тестировщики работают вместе на одной машине и при этом делятся идеями и знаниями.
Опытные тестировщики находят больше дефектов, поскольку они лучше угадывают ошибки. Однако при тестировании ad-hoc тестировщик должен иметь полные знания и осведомленность о тестируемой системе, особенно если проект очень сложный и большой. Поэтому нужно хорошее представление о целях проекта, его назначении, основных функциях и возможностях.
Это проверка, как интегрированные, то есть уже соединенные в целостное приложение модули «сработались вместе». Таких тестов уже меньше, чем модульных (подробнее о пирамиде тестирования — здесь). Этот метод может быть успешным только без структуры или документации, и очень важно, чтобы тестировщики помнили об этом на каждом этапе. Даже без официального документирования, ведение записей может позволить команде неформально отслеживать отдельные специальные проверки. Роли тестировщика и писца могут меняться в зависимости от теста или пара может сохранять свои роли на протяжении всего процесса. Эффективное управление тестовыми данными позволяет обеспечить надлежащую защиту конфиденциальных данных и исключить их использование в среде тестирования.
Поскольку тестировщики сосредоточены на выполнении формальных процессов и многочисленных задач тестирования, шансы ad-hoc тестирования попасть в цикл невелики. Начните тестирование с тех частей приложения, которые чаще всего используются клиентами и конечными пользователями. Таким образом удастся заранее отловить наиболее заметные для пользователей баги. Успех этого тестирования вообще очень зависит от знаний и навыков тестировщика.
Последнее особенно полезно, когда уровень знаний у тестировщиков различается. Парное тестирование похоже на Buddy Testing, но здесь над модулем работают два тестировщика, а не тестировщик и разработчик. Кроме того, Buddy Testing — комбинация модульного и системного тестирования, а парное тестирование — чисто модульное.
Это включает в себя настройки оборудования, программного обеспечения и сети. Кроме того, следует определить и подготовить необходимые тестовые данные. Дополнительный плюс ad-hoc тестирования — тестировщик проводит его в свободной форме, согласно своему пониманию системы.
Najnowsze komentarze