Таким образом, в этом случае для тестирования удачного нужно пройти от точки A до B по маршруту 1, а для тестирования альтернативного пути нужно пройти от A до B по маршруту 2. Получение наиболее оптимального качества программного продукта является основной целью процессов тестирования. Команда становится ответственной, давая клиентам хорошо проверенный софт.
Убедиться, что пользователь не может авторизоваться в приложении, если не должен, не менее важно, чем убедиться в возможности авторизации. Если вы проводите тест авторизации только с валидной парой логин-пароль, вы упускаете этот важный момент! Я сталкивалась с ситуациями, когда пользователь мог авторизоваться с чем угодно в роли пароля, с пустым паролем, и со случаем, когда неверны были и логин, и пароль, но авторизация осуществлялась. Если это чувствительный продукт, например, электронная коммерция, онлайн-склад и т.д., то тестирование безопасности и негативное тестирование просто необходимы.
Визуальное тестирование
В примере с ценой в негативном тестировании мы введем в это поле буквы, символы и т.п. Есть много софта, и веб-страниц, в которых самой важной частью являются поля ввода, заполняемые пользователем. При негативном тестировании пишутся тесты, оставляющие обязательные поля пустыми. Негативное тестирование гарантирует, что приложение продолжит работу в случае ошибки или непредвиденного поведения со стороны пользователя. С его помощью можно определить, как система реагирует на неожиданности.
Чаще всего, в ЧЛ содержатся только действия, без ожидаемого результата. Чтобы провести негативное тестирование, мы должны рассмотреть все возможные случаи. То есть, мы должны по возможности учесть их в тест-кейсах независимо от того, является ли это правильным способом использования приложения. Клиенты всегда ожидают, что у продукта будет нулевая уязвимость, поэтому негативное тестирование является обязательным условием.
Важность негативного тестирования с точки зрения компании
Разработчики создают приложение в соответствии с заданными критериями приемлемости. Тестировщик знает, что обеспечивает нормальную работу функционала. Но он также обязан мыслить нестандартно, чтобы понять, что может привести к поломке приложения.
- Как ни банально звучит, негативное тестирование повысит конечное качество софта, что скажется на customer satisfaction.
- Пользователи бывают часто непредсказуемыми и нужно пробовать разные способы негативного тестирования.
- Позитивное тестирование, часто называемое “Happy path testing” (тестирование удачного пути), обычно является первой формой тестирования, которую тестировщик проводит для приложения.
- Пользовательский опыт в этой области не менее важен, чем при “счастливом пути”.
Его главный фокус — неожиданные сценарии, поэтому важно мыслить нестандартно. Большинство пользователей использует наш продукт так, как необходимо. То есть, если в поле ввода просят указать «Имя», то большинство пользователей напишут в него именно имя, а не набор цифр.
Негативное тестирование: когда, зачем, сколько? Часть 2.
Это окажет потенциальное влияние на надежность системы и даже может стать причиной опасности для жизни. Этот пример – хорошая иллюстрация важности негативного тестирования. II этап.TEENAGERНа проекте исправлены все «детские болячки», учтены замечания с предыдущего уровня. Проект стал похож на тинейджера — почти взрослый, все знает и умеет, но жизненного опыта недостаточно, негативное тестирование чтобы справиться с нестандартными ситуациями. На этом этапе более внимательно тестируем позитивные состояния, проводя сложные проверки и применяя различные техники тест-дизайна. При этом уделяем не меньшее внимание и условно-негативным проверкам, ведь наша задача — убедиться, что на каждое действие есть реакция из п.1 или п.2, то есть не возникает отказов.
Существуют приложения и страницы с полями ввода, принимающими данные со специфическими ограничениями. Негативный тест проверяет некорректные данные вне этих ограничений. В большинстве приложений в полях ввода принимаются только данные в заданном диапазоне, или текст определенного формата. Пишутся тесты, в которых вводятся значения выше или ниже диапазона.
НЕКОТОРЫЕ ТЕХНИКИ ТЕСТ-ДИЗАЙНА
К примеру, ошибка при авторизации с правильным логином и паролем гораздо опаснее, чем проблема возникающая, когда пользователь вводит неправильный пароль. А критичные ошибки лучше всегда находить как можно раньше, чтобы было время их исправить и внимательно проверить. Это связано с тем, что для продукта и пользователей важно, чтобы все фичи работали правильно, так как задумывались изначально. Как и у всех других методов тестирования, у негативного есть свои плюсы и минусы, в основном связанные с тем, когда и как следует его применять. Например, XML и SQL могут иметь большее воздействие, чем .jpeg и .xls, поэтому сначала мы должны позаботиться о них. Определение приоритетности тест-кейсов перед выполнением позволит сэкономить время и снизить стоимость тестирования.
Когда дело касается общедоступных приложений, в основном сайтов, следует всегда помнить о том, что у нас нет возможности контролировать процедуру использования приложения. Негативное тестирование помогает убедиться, что все подобные случаи охвачены и предотвращены. Поскольку мы не можем быть уверены, что какие-либо из этих случаев не произойдут, нам нужно проверить поведение лифта в таких ситуациях.
Важность негативного тестирования с точки зрения клиента
Часто встречается ситуация, когда люди считают, что негативное тестирование более или менее дублирует позитивное. Те, кто понимает и стремится к высоким стандартам и качеству, несомненно, будут проводить негативное тестирование как обязательное условие процесса обеспечения качества. Например, есть определенное приложение, принимающее идентификаторы VLAN в диапазоне от 0 до 255.
Но что, если в нашей системе есть лазейка, и кто-то может сделать SQL-инъекцию и стереть все наши данные? Чтобы избежать подобных случаев, необходимо проводить и негативное тестирование. Компания несет ответственность за предоставление качественного продукта своему клиенту. Возможно, мы не можем построить на 100% безошибочную систему, но мы должны быть уверены, что сделали все возможное для предотвращения сбоя, и для этого мы должны проводить негативное тестирование.