Что значит позитивный тест

Что значит позитивный тест

Мы (не такой уж это и секрет) очень переживаем за качество своих продуктов и с трепетом наблюдаем за обваливанием системы. Это оправдывает существование тестировщиков в мире. Это заставляет нас чувствовать себя героями: пришёл великий Тестер и спас своих пользователей от ужасных критических багов!

И наши тестировщики никогда не забывают про негативное тестирование, хотя не всех прогеров это радует. Но такие проверки не прихоть «злых тестеров», они вызваны необходимостью закрыть уязвимости и обезопаситься от проникновения в систему хакеров и ботов, Dos/DDos атак.

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

Понимаете, программисты-то пишут софт, нацеливаясь на результат, на запланированный релиз, летят на крыльях вдохновения! А тут наступает этап проверки и многочисленных исправлений и правок «идеального» кода. И всё, прячься кто куда, система на тестировании.

Чтобы никого не нервировать, некоторые специалисты могут откладывать негативное тестирование на потом или вообще игнорировать его (ужас!) в угоду сокращения сроков и бюджета. Ну а чего проверять, если прога не делает даже того, что должна, правда? Не-а.

Читайте также:  Альт подруга что значит

Позитивное и негативное тестирование

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

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

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

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

Поэтому, по нашему мнению,

Негативное и позитивное тестирование вообще не нужно разделять и разносить во времени.

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

Позитивно-негативное тестирование

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

Проверяет всё по ТЗ и тестовым сценариям, смотрит, как данные обрабатываются, которые юзер должен ввести в поля (не факт, что введёт, кстати) и тут вот оно – озарение! Ему кажется, что если ввести вот в это поле для login какой-нибудь «%адынадын/>», а не обычный текст, то что-то точно произойдёт. Что-то тёмное и мрачное неправильное.

И что? Он должен сказать себе: «Нет. Сейчас я должен заниматься позитивным тестированием и ничем другим. Вот у меня назначено негативное на следующей неделе, тогда и настанет время для %адынадын/>. Наверное»?

Мы считаем такой подход к негативному тестированию неэффективным, и вот почему:

  1. Если проводить позитивное и негативное тестирование по отдельности, то это будет дольше. Как минимум потому, что это будут уже две итерации тестирования.
  2. Тестеры и кодеры живут в условиях дедлайнов. И если время строго ограничено, то откладывание негативного тестирования на потом повышает риск того, что про него вообще в итоге забудут. Ведь чем ближе к моменту Х, тем быстрее летит время, скорее требуется выполнить поставленные задачи, исправить дефекты, применить финальные бизнес требования (которые могут измениться) и доделать ещё кучу дел. Дедлайн – время горячее!
  3. Разделение негативного и позитивного тестирования, по нашему мнению, просто противоречит природе тестера! Ведь основная его задача – это проверка системы на все возможные действия конечного юзера. А люди в большинстве своём нелогичны, и могут делать с софтом самые разные непотребства 😉

Мы, как тестировщики, очень переживаем, если система содержит ошибки по проверкам из категории негативных. И особенно, если последствия таких ошибок критичны для всей системы. Но репортить их не боимся. Особенно с таким козырем в рукаве – у нас в команде есть девочки-тестировщицы. И кто сможет упорно отстаивать «идеальность» кода, когда они нежными голосками в пух и прах разносят работоспособность проекта? То-то же.

Так какие выводы мы можем сделать?

Не забывайте про негативное тестирование, объедините его с позитивным, соберите в команде опытных специалистов и старайтесь перекладывать задачу репортинга на плечи девочек! Всё, кроме последнего, советуем на 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-ой ошибки и т.п.

Для чего важно различать?

Для чего нам различать негативное и позитивное тестирование? Чтобы верно расставлять приоритеты в тестировании в зависимости от ситуации.

Создание позитивных сценариев (тест-кейсов), как правило, предшествует созданию негативных.

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

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

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

Пример позитивных и негативных тестов

Давайте рассмотрим эти виды тестирования немного подробнее на примере формы авторизации на сайте.

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

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

К негативным тестам можно отнести следующие сценарии:

  • Авторизация с неправильным логином
  • Авторизация с неправильным паролем
  • Авторизация с неправильным логином и паролем
  • Авторизация с пустым логином
  • Авторизация с пустым паролем
  • Авторизация с пустым логином и паролем

Повторюсь, при тестировании очень важно соблюдать приоритет.

Сначала мы выполняем позитивные тесты, а потом негативные.

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

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

Источник

Оцените статью