Регрессионное тестирование методом свободного поиска Сергей Вербенко, SQADays-11 CustisWiki
Можно сказать, что свободным тестированием занимаются бета-тестировщики, которые добровольно вызвались использовать продукт и сообщать об ошибках. Они как раз понятия не имеют ни о техниках тестирования, ни о его методах и принципах. Это разные техники исследования продукта с разной степенью формализации, разными задачами. Разница между свободным и исследовательским тестированием в том, что теоретически, свободное может провести кто угодно. А для проведения исследовательского необходимо мастерство и владение определёнными техниками. Тестирование на основе тест-кейсов (scripted testing, test case based testing) — формализованный подход, в котором тестирование производится на основе заранее подготовленных тест-кейсов, наборов тест-кейсов и иной документации.
В борьбе на жестоком рынке программных разработок есть единственный способ обогнать конкурентов — сделать более удобный и качественный продукт. Алексей Федотов представляет серию тренингов о том, как ставить и достигать цели в области качества программных продуктов. Руководитель образовательной организации, проводящей тестирование, обеспечивает хранение в течение года информированных согласий в условиях, гарантирующих конфиденциальность и невозможность несанкционированного доступа к ним. Каждый проект по-своему уникальный, и в выборе подхода к тестированию можно и нужно проявлять гибкость. Автотесты значительно сокращают временные расходы и повышают качество продукта. Именно на этой стадии появляется осознанное профессиональное тестирование.
«Искусственные» виды тестирования
Эти кейсы зависят от типа приложения, платформы и есть в свободном доступе в сети (в будущем я обязательно сделаю подборку таких тест-кейсов). Если проект недавно родился, то можно поискать отзывы по похожим продуктам и изучить то, на что жалуются пользователи (отзывы в магазинах приложений, на сайтах-отзовиках и в статьях-обзорах). Также особое внимание при исследовательском тестировании уделяется проверке правильности обработки ad hoc это ошибок, как одной из базовых функций ИТ-системы. В ИТ-системе больницы, например, нужно будет пройти по пути пользователя от регистрации пациента по номеру телефона, и далее например ввод и обработка графических данных этого пациента — рентгеновских и МРТ-снимков и т.п. А диаграмма архитектуры позволит уточнить детали вызова модуля регистрации. Можно угадать области продукта, в которых, скорее всего, будет много дефектов.
В ходе такого тестирования вы моделируете конкретные сценарии атак или исследуете области ПО, которые могут быть уязвимы для атак. Чтобы убедиться, что все аспекты безопасности ПО были тщательно проверены, ad-hoc тестирование следует дополнить более формальными методами. Исследовательское тестирование полезно, когда у вас мало времени, когда требования неясны или быстро меняются или когда требуется быстрая оценка ПО. Оно может проводиться опытными тестировщиками или разработчиками и дополнять более структурированные подходы к тестированию.
Больше о тестировании и качестве ПО
Благодаря всей этой подробной информации об ad-hoc тестировании вы сможете минимизировать свои проблемы при выполнении тестов и достичь желаемых результатов. Управление тестовыми данными является важным компонентом интуитивного тестирования. Тестовые данные должны быть тщательно отобраны и подготовлены, чтобы обеспечить эффективное выполнение тестов. После документирования дефектов и проблем команда должна определить их приоритетность в зависимости от их серьезности и влияния на приложение. Если неопределенность высока, надо отказаться от предварительного проектирования тестов и низкоуровневых планов тестирования. Это позволит сохранить гибкость, даст возможность быстро реагировать на появление новой информации и подстраиваться к изменившейся ситуации.
Иногда это происходит неявно в процессе разработки и отладки автоматизированных тестов. И как показывает опыт, это наиболее продуктивная деятельность, в процессе этого исследования обнаруживается большинство дефектов и добывается большая часть интересной информации о тестируемом продукте. Однако проблема в том, что этот вид тестирования неудобен с точки зрения планирования и оценивания, то есть им сложно управлять.
подходов к тестированию
Его непременно нужно дополнять более формальными методами тестирования, такими как регрессионное и модульное. Да, все это предъявляет дополнительные требования к квалификации тестировщиков, но результатом является заметное повышение их производительности труда. А для тестировщиков это означает, что они могут задействовать не только руки, но и мозг, что превращает тестирование из рутины в увлекательнейшее занятие. Совмещая вышеперечисленные виды тестирования можно добиться отличных результатов. Поэтому, каждая компания самостоятельно выбирает какому из видов тестирования отдавать приоритет, а каким и вовсе не стоит заниматься в данный момент. Этот вид тестирования используется редко и обычно как дополнение к полностью или частично формализованному тестированию.
Обсуждение влияния результатов тестирования на построенный ранее план. Рассмотрение достоинств и недостатков одновременного проектирования и выполнения тестов. При исследовательском тестировании тестировщик использует свои знания и опыт для разработки и выполнения тестов и записывает свои наблюдения и выводы https://deveducation.com/ по ходу их выполнения. Этот тип тестирования используется, когда приложение является сложным, плохо изученным, или ограничения по времени не позволяют использовать более формальный подход к тестированию. По мере выполнения тестов команда тестировщиков должна записывать результаты и сообщать о своих выводах.
Подход 4: Тестировщики занимаются тест-дизайном.
Оба варианта исключают планирование, поэтому можно долго тестировать, скажем, одну единственную форму регистрации на сайте, но так и не добраться до оформления заказа до планового окончания регресса. Это такие кейсы, с которыми точно столкнется некоторый процент пользователей. Например, закрытие приложение во время оформления заказа в интернет-магазине, сворачивание и разворачивание приложение, чистка куков в браузере во время прохождения основного кейса, отключение компьютера от интернета и другие.
- Это поможет обеспечить согласованность и точность тестовых данных и сэкономит время.
- Кто-то из них может даже специально пробовал «сломать» сайт и пытался найти ошибки.
- Вместо этого тестировщики используют свою интуицию, опыт и творческий подход для выявления дефектов и проблем, которые не могут обнаружить более формальные методы тестирования.
- Это особенно актуально для “молодых” проектов, а также для продуктов, существовавших до этого вообще без тестирования.
- Опыт решения проблем, замеченных в других продуктах и прошлых версиях этого продукта, поможет предугадать модули, в которых, скорее всего, будет много дефектов.
Тестовая среда должна быть настроена таким образом, чтобы максимально точно имитировать среду конечного пользователя. Это включает в себя настройки оборудования, программного обеспечения и сети. Кроме того, следует определить и подготовить необходимые тестовые данные. После подбора команды тестировщиков важно убедиться, что все члены команды имеют необходимую подготовку и ресурсы для эффективного проведения ad-hoc тестирования. Может потребоваться обучение работе с конкретными инструментами или методам тестирования, предоставление доступа к тестовым средам и данным, а также налаживание каналов связи с командой разработчиков.