Перейти к содержимому

Фотография

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


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 Oleeg

Oleeg

    Новый участник

  • Members
  • Pip
  • 15 сообщений
  • ФИО:Oleg Novikov

Отправлено 30 августа 2020 - 19:21

Не совсем понимаю разницу между позитивными и негативными тестовыми сценариями. Например создание тест кейса для ввода номера мобильного телефона.

Позитивные тестовые сценарии

Ввести номер телефона. Нажать кнопку отправить. Все хорошо.

Ввести слишком длинный номер телефона.Нажать кнопку отправить. Ошибка(позитивный или негативный?)

Негативный тестовый сценарий.

Ввести спецсимволы. Нажать кнопку отправить. Ошибка

В позитивных тест кейсах, могут быть какие-либо сценарии при воспроизведении которых мы ожидаем статус ошибки.

 


  • 0

#2 Сергей

Сергей

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 245 сообщений
  • Город:Москва

Отправлено 30 августа 2020 - 19:28

Ну а что определения говорят?
  • 0

"Если ты хороший плотник и делаешь красивую тумбочку, ты не будешь прибивать сзади фанеру, даже несмотря на то, что задняя часть повернута к стене, и никто ее не видит. Ты будешь хорошо спать ночью, только если тебе удалось воплотить в своем произведении эстетическую красоту и качество." © Стив Джобс


#3 Oleeg

Oleeg

    Новый участник

  • Members
  • Pip
  • 15 сообщений
  • ФИО:Oleg Novikov

Отправлено 30 августа 2020 - 20:04

      Из того что я понял почитав определения. Тестовые сценарии деляться на черное и белое. Если нужно ввести 10-ть цифр - вводи десять, это позитивный сценарий, а если вводишь 9-ть - негативный сценарий.

      Ну здравый смысл говорит, что человек мог ошибиться, случайно ввести 9-ть цифр и получить сообщение с предупреждением. Это же не целенаправленный ввод спецсимволов в строку для цифр.

      Все что я нашел в инете это небольшую статью, вот цитата из неё: "Исходя из написанного выше, немного усложним формулировки и станем рассматривать определения «позитива» — «негатива» не только со стороны вводимых данных, но и со стороны полученного результата. В этом случае появится еще один тип проверок: условно-негативные. К условно-негативным будем относить все проверки, в которых при введении некорректных данных получаем успешный, с точки зрения логики, результат (сообщение об ошибке)."


  • 0

#4 Vasiliy

Vasiliy

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 959 сообщений
  • ФИО:Касимов Василий
  • Город:Москва

Отправлено 31 августа 2020 - 07:13

Это  уже попытки найти оттенки и усложнить теорию)
Введя 9 цифр, вы позвонить сможете? Нет, значит это негатив. Да, программа его обрабатывает и сообщает пользователю об ошибке. Что вас смущает в этой ситуации?

 

Вы путаете негативные сценарии и попытку сломать программу. Негативные это те, что не приносят бизнес-ценности. Вы не смогли позвонить, вы ввели неполный номер карты при переводе и вас не пустили на следующий шаг. 


  • 0

#5 astenix

astenix

    Специалист

  • Members
  • PipPipPipPipPip
  • 906 сообщений
  • ФИО:Лёша Лупан
  • Город:Кишинев


Отправлено 31 августа 2020 - 17:34

Не совсем понимаю разницу между позитивными и негативными тестовыми сценариями.

При логине на этот форум вы
а) можете указать правильные логин/пароль,
б) можете указать неправильные логин/пароль или любую абракадабру, что одно и то же (вот вам и класс эквивалентности вводимых данных).

В обоих случаях у вас есть ожидаемый результат:
а) добро пожаловать,
б) не добро, но попытайтесь ещё раз.

И а), и б) — это позитивные сценарии, „happy path”. Вы точно знаете, что должно произойти, вы создаёте эти ситуации, и вы наблюдаете ожидаемый результат.

 

Ваш случай с телефоном сплошной позитив:

  1. Ввести номер телефона. Нажать кнопку отправить. Все ОЖИДАЕМО хорошо. Позитив.
  2. Ввести слишком длинный номер телефона. Нажать кнопку отправить. Ошибка, всё ОЖИДАЕМО нехорошо. Позитив.
  3. Ввести дурацкие спецсимволы (к слову — как именно? Какой современный телефон позволяет в поле набора номера ввести что-то кроме цифр, "*", "#" и "+"? Ну, допустим…) Нажать кнопку отправить. Ошибка. ПРЕДСКАЗУЕМАЯ и ОЖИДАЕМАЯ. Сплошной позитив.

И пусть для первого сценария логина на форуме есть только один набор символов, а для второго сценария их «12345!"№;%йцукенqwerty67890» вариантов — у вас есть ожидаемый результат и система ведёт себя точно так, как это было [кем-то когда-то] предусмотрено. Три тысячи раз вводите абракадабру в поля ввода и каждый раз должен быть один ответ: «Логин или пароль неверны». Система не ломается, не отказывает вам в обслуживании, не умирает, а продолжает работать так, как задумано. Это позитивное тестирование.

Негативное тестирование — это поиск и создание ситуаций, при которых происходит отклонение от „happy path” и наблюдается непредусмотренный результат. Это отклонение от предусмотренных сценариев и поиск непредусмотренных.

 

Тут слово «негатив» не в смысле ПЛОХОЕ или ДАВАЙ ЛОМАЙ, а в смысле «противоположное позитивному», как в классической лёгонькой фотографической промышленности.

 

Каким может быть негативное тестирование для формы логина этого форума? «В лоб» — да особо ничего не сделать, разве что вводить sql-инъекции, но современные системы к таким штукам уже устойчивы, и чем менее самодельная система, тем меньше шансов её так просто разломать.

 

Раньше, когда ПО было более наколеннописанным, программист мог что-то завтыкать и не предусмотреть, что в поле ввода зарплаты бухгалтер может ввести что-то ещё кроме цифр — нарочно или случайно. Ну и всё на этом, такие значения невозможно суммировать, бо integer и string хоть и могут содержать цифры, но по сути они несовместимы. Надо сперва привести тип string к типу integer и ещё много всякого, а это целый список того, что надо сделать и проверить. Из древней древности на вас смотрят тени тестировщиков, которые положили свои жизни только на ввод абракадабры в поле логина… а сегодняшние фреймворки это всё обрабатывают заранее, и бухгалтер получит алерт об ошибке ввода задолго до того, как им будет нажата кнопка «Enter» — если ему вообще позволят эту кнопку нажать.

А давайте посмотрим, как этот форум вообще устроен. Неудачный логин выводит нас на страницу /forum/index.php?app=core&module=global&section=login&do=process — что это за модули вызываются? Что это за система вообще? ipboard? Какие у них есть уязвимости? Как до них можно добраться? Какие данные и условия передачи данных они обрабатывают, а какие нет? Берите лопату и начинайте копать в сторону — с голубого ручейка начинается река, и её можно перебить там, где ручей начинается, а не там, где река уже впадает в море.

Просто подумайте не о вводе значений, а о „happy path”, о сценарии, по которому что-то происходит. Бо если вы будете всегда привязываться к вводу данных, какие-то штуки останутся непротестированными.

 

Например, кнопка «Добавить товар в корзину» на любом сайте-магазине — вы ей никакие символы не передадите, однако она как раз запускает сценарий, при котором множество данных начинают свой путь откуда-то куда-то, и данные должны быть переданы без искажений. Негативное тестирование для этой кнопки — поиск ситуаций, при которых она может быть нажата, вплоть до ситуаций, когда она по каким-то причинам не может быть нажата (экран мелкий или js в браузере отключился) или данные передаются неверно.


  • 0

Software Testing Glossary - простыми словами о непростых словах.


#6 Oleeg

Oleeg

    Новый участник

  • Members
  • Pip
  • 15 сообщений
  • ФИО:Oleg Novikov

Отправлено 01 сентября 2020 - 09:58

Спасибо за потраченное на меня время и столь развернутый ответ.  Я его не просто прочитаю, я его законспектирую.


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных