- Что значит позитивный тест
- Положительный против отрицательного
- Что такое положительное тестирование?
- Что такое отрицательное тестирование?
- Методика тестирования, используемая для положительного и отрицательного тестирования:
- Анализ граничных значений:
- Эквивалентность
- говориМ о тестировании простым языком
- Виды тестирования по позитивности сценария
- Реакция продукта на тесты
- Для чего важно различать?
- Пример позитивных и негативных тестов
Что значит позитивный тест
Мы (не такой уж это и секрет) очень переживаем за качество своих продуктов и с трепетом наблюдаем за обваливанием системы. Это оправдывает существование тестировщиков в мире. Это заставляет нас чувствовать себя героями: пришёл великий Тестер и спас своих пользователей от ужасных критических багов!
И наши тестировщики никогда не забывают про негативное тестирование, хотя не всех прогеров это радует. Но такие проверки не прихоть «злых тестеров», они вызваны необходимостью закрыть уязвимости и обезопаситься от проникновения в систему хакеров и ботов, Dos/DDos атак.
Конечно, ведь в чём состоит призвание тест-специалистов? Нужно найти проблемы. Проблемы, о которых никто чаще всего не успевает подумать, не хочет их видеть и иметь с ними дело. А уж если проверяется не только правильная работа системы, но и её ненормальное поведение, то напряжённости в команде добавляется.
Понимаете, программисты-то пишут софт, нацеливаясь на результат, на запланированный релиз, летят на крыльях вдохновения! А тут наступает этап проверки и многочисленных исправлений и правок «идеального» кода. И всё, прячься кто куда, система на тестировании.
Чтобы никого не нервировать, некоторые специалисты могут откладывать негативное тестирование на потом или вообще игнорировать его (ужас!) в угоду сокращения сроков и бюджета. Ну а чего проверять, если прога не делает даже того, что должна, правда? Не-а.
Позитивное и негативное тестирование
Но обо всём по порядку. При тестировании ПО с помощью тест-кейсов, существует два набора проверок: позитивные и негативные. Причем вторых обычно больше, чем первых.
Позитивное тестирование — это проверка работы системы на соответствие её нормальному (штатному, ожидаемому) поведению, согласно ТЗ и документациям. То есть здесь мы смотрим, делает ли ПО то, чего от него ждут, соответствует ли реализация современным требованиям, поддержаны ли гайдлайны пользовательского интерфейса и т.д.
А негативное тестирование — это тестирование системы на нештатное поведение. Смотрим, устойчиво ли ПО к неверному вводу данных, как обрабатываются исключительные ситуации, какая информация показывается в сообщениях об ошибках, возможно ли нарушить функционирование продукта и/или повлиять на производительность решения и так далее.
Мы уже сказали, что некоторые специалисты оставляют негативное тестирование на потом или вообще про него забывают, что почти одно и то же. Сами знаете, отложенное на потом почти всегда остается не выполненным.
Поэтому, по нашему мнению,
Негативное и позитивное тестирование вообще не нужно разделять и разносить во времени.
Поскольку можем ли мы сказать, что система работает как надо, если проверяем её реакцию только на правильных входных данных?
Позитивно-негативное тестирование
При тестировании ой как важны интуиция, чуйка, охотничьи инстинкты – зовите, как хотите. И вот сидит такой наш инженер, проверяет форму регистрации, допустим.
Проверяет всё по ТЗ и тестовым сценариям, смотрит, как данные обрабатываются, которые юзер должен ввести в поля (не факт, что введёт, кстати) и тут вот оно – озарение! Ему кажется, что если ввести вот в это поле для login какой-нибудь «%адынадын/>», а не обычный текст, то что-то точно произойдёт. Что-то тёмное и мрачное неправильное.
И что? Он должен сказать себе: «Нет. Сейчас я должен заниматься позитивным тестированием и ничем другим. Вот у меня назначено негативное на следующей неделе, тогда и настанет время для %адынадын/>. Наверное»?
Мы считаем такой подход к негативному тестированию неэффективным, и вот почему:
- Если проводить позитивное и негативное тестирование по отдельности, то это будет дольше. Как минимум потому, что это будут уже две итерации тестирования.
- Тестеры и кодеры живут в условиях дедлайнов. И если время строго ограничено, то откладывание негативного тестирования на потом повышает риск того, что про него вообще в итоге забудут. Ведь чем ближе к моменту Х, тем быстрее летит время, скорее требуется выполнить поставленные задачи, исправить дефекты, применить финальные бизнес требования (которые могут измениться) и доделать ещё кучу дел. Дедлайн – время горячее!
- Разделение негативного и позитивного тестирования, по нашему мнению, просто противоречит природе тестера! Ведь основная его задача – это проверка системы на все возможные действия конечного юзера. А люди в большинстве своём нелогичны, и могут делать с софтом самые разные непотребства 😉
Мы, как тестировщики, очень переживаем, если система содержит ошибки по проверкам из категории негативных. И особенно, если последствия таких ошибок критичны для всей системы. Но репортить их не боимся. Особенно с таким козырем в рукаве – у нас в команде есть девочки-тестировщицы. И кто сможет упорно отстаивать «идеальность» кода, когда они нежными голосками в пух и прах разносят работоспособность проекта? То-то же.
Так какие выводы мы можем сделать?
Не забывайте про негативное тестирование, объедините его с позитивным, соберите в команде опытных специалистов и старайтесь перекладывать задачу репортинга на плечи девочек! Всё, кроме последнего, советуем на 100%, а уж с этим разберётся ваш проект-менеджер.
И, конечно, обязательно проверяйте свой продукт, не думайте, что программисты сразу напишут код чисто и красиво – без багов всё равно не обойдётесь! Не говоря уже о многочисленных уязвимостях, что подтверждают регулярно утекающие в сеть персональные и конфиденциальные данные.
Источник
Положительный против отрицательного
Тестирование программного обеспечения — это процесс проверки и подтверждения правильности работы программного приложения. Цель состоит в том, чтобы найти дефекты и улучшить качество продукции. Существует два способа тестирования программного обеспечения, а именно: положительное тестирование и отрицательное тестирование.
Что такое положительное тестирование?
Позитивное тестирование — это тип тестирования, который можно выполнить в системе, предоставив в качестве входных данных действительные данные . Он проверяет, работает ли приложение так, как ожидается, с положительными входными данными. Этот тест проводится для проверки того, что приложение делает то, что должно делать.
В приложении есть текстовое поле, которое может принимать только цифры. Ввод значений до 99999 будет приемлемым для системы, и любые другие значения, кроме этого, не должны быть приемлемыми. Чтобы выполнить положительное тестирование, установите допустимые значения ввода от 0 до 99999 и проверьте, принимает ли система эти значения.
Что такое отрицательное тестирование?
Отрицательное тестирование — это вариант тестирования, который можно выполнить в системе, указав неверные данные в качестве входных данных . Он проверяет, работает ли приложение так, как ожидается, с отрицательными входными данными. Это для проверки приложения не делает ничего, что он не должен делать.
Отрицательное тестирование может быть выполнено путем ввода символов от A до Z или от a до z. Либо система программного обеспечения не должна принимать значения, либо она должна выдавать сообщение об ошибке для этих неверных входных данных.
В обоих случаях необходимо учитывать следующее:
- Входные данные
- Действие, которое необходимо выполнить
- Результат на выходе
Методика тестирования, используемая для положительного и отрицательного тестирования:
Следующие методы используются для положительной и отрицательной проверки:
- Анализ граничных значений
- Эквивалентное разбиение
Анализ граничных значений:
Это один из методов тестирования программного обеспечения, в котором тестовые примеры предназначены для включения значений на границе. Если входные данные используются в пределах граничных значений, то это называется положительным тестированием. Если входные данные выбраны за пределами граничных значений, то это называется отрицательным тестированием.
Система может принимать числа от 0 до 10 числовых значений. Все остальные числа являются недопустимыми значениями. По этой методике будут проверяться граничные значения -1,0,1 и 9,10,11.
Эквивалентность
Это метод тестирования программного обеспечения, который делит входные данные на множество разделов. Значения из каждого раздела должны быть проверены хотя бы один раз. Разделы с действительными значениями используются для положительного тестирования. В то время как разделы с недопустимыми значениями используются для отрицательного тестирования.
Числовые значения От нуля до десяти можно разделить на два (или три) раздела. В нашем случае у нас есть два раздела от -10 до -1 и от 0 до 10. Выборочные значения (5 и -5) могут быть взяты из каждой части для проверки сценариев.
Вывод:
Тестирование помогает доставить качественное программное приложение и гарантирует, что оно не содержит ошибок до его запуска. Для эффективного тестирования используйте как положительное, так и отрицательное тестирование, которое дает достаточную уверенность в качестве программного обеспечения. Пользователи в режиме реального времени могут вводить любые значения, которые необходимо проверить перед выпуском.
Источник
говориМ о тестировании
простым языком
Виды тестирования по позитивности сценария
- Вячеслав Зимин 22 января, 2020 Нет комментариев
Позитивное тестирование – это тестирование с применением сценариев, которые соответствуют нормальному (штатному, ожидаемому) поведению системы. С его помощью мы можем определить, что система делает то, для чего и была создана.
- умножить на калькуляторе цифр 3 и 5,
- в игре посадить морковь на грядку для овощей,
- оплатить покупку действующей картой.
Негативным называют тестирование, в рамках которого применяются сценарии, которые соответствуют внештатному поведению тестируемой системы. Это могут быть исключительные ситуации или неверные данные.
- умножить на калькуляторе числа 3 на грушу (значение «груша» не является валидным для калькулятора),
- в игре посадить морковь на реку,
- оплатить покупку несуществующей картой.
Прежде всего негативное тестирование направлено на проверку устойчивости системы к различным воздействиям, валидации неверных данных, обработку исключительных ситуаций. Сценарии позитивного тестирования, в свою очередь, направлены на проверку работы системы с теми типами данных для которых, она разрабатывалась.
Реакция продукта на тесты
Какой результат мы ждем от позитивных и негативных тестов?
Позитивное тестирование должно нам всегда давать результат в виде отсутствия багов.
Негативные проверки могут дать 2 результата:
1. На данный ввод у продукта есть ответ в виде сообщения/контроля.
2. Система не знает, как реагировать на введенные данные.
Получается, есть три реакции на действия по вводу данных:
— Действие: создание сущности, переход на новый шаг и т.п.
— Контроль: сообщение с контролем, блокировка дальнейших действий и т.п.
— Отказ: возникает исключение Exception, 404-ой ошибки и т.п.
Для чего важно различать?
Для чего нам различать негативное и позитивное тестирование? Чтобы верно расставлять приоритеты в тестировании в зависимости от ситуации.
Создание позитивных сценариев (тест-кейсов), как правило, предшествует созданию негативных.
Сначала мы проверяем работу системы, когда наш условный пользователь работает с системой «правильно». А уже потом приступаем к проверке отклика системы на пользователя, который допускает различные ошибки (ввод неверных данных, например). И наша система должна быть готова ответить на неверный запрос. Это и есть цель негативного тестирования.
Почему важно сначала провести позитивное тестирование? Большинство пользователей использует наш продукт так, как необходимо. То есть, если в поле ввода просят указать «Имя», то большинство пользователей напишут в него именно имя, а не набор цифр. Если мы не проверим верно ли распознаются корректные данные, то в случае ошибки большинство пользователей не смогут воспользоваться нашим продуктом.
Именно поэтому мы делим все тесты на позитивные и негативные и начинаем тестировать с позитивных. Именно с позитивных, так как они приоритетней. Лучше не останется времени на негативные тесты, чем мы не проверим основной функционал продукта на способность корректно отвечать пользователю на корректные запросы.
Пример позитивных и негативных тестов
Давайте рассмотрим эти виды тестирования немного подробнее на примере формы авторизации на сайте.
С помощью позитивных тестов мы проверим, что наша форма регистрации работает верно. Для этого проведем следующие тесты:
- Авторизация с правильным логином и паролем
К негативным тестам можно отнести следующие сценарии:
- Авторизация с неправильным логином
- Авторизация с неправильным паролем
- Авторизация с неправильным логином и паролем
- Авторизация с пустым логином
- Авторизация с пустым паролем
- Авторизация с пустым логином и паролем
Повторюсь, при тестировании очень важно соблюдать приоритет.
Сначала мы выполняем позитивные тесты, а потом негативные.
Это связано с тем, что для продукта и пользователей важно, чтобы все фичи работали правильно, так как задумывались изначально.
К примеру, ошибка при авторизации с правильным логином и паролем гораздо опаснее, чем проблема возникающая, когда пользователь вводит неправильный пароль. А критичные ошибки лучше всегда находить как можно раньше, чтобы было время их исправить и внимательно проверить.
Источник