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

Paranoid

Регистрация: 30 мар 2020
Offline Активность: 07 июн 2020 01:36
-----

Мои темы

Наксколько часто у Тест-Кейса может быть несколько ОР?

04 июня 2020 - 06:38

Изучаю тестирование, возник такой вопрос.

 

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

 

Пример тест-кейса:

Идея ТК: совершение покупки в интернет-магазине

...

Ожидаемый результат:

1. сообщение "спасибо за покупку!" на экране

2. на email приходит подтверждение заказа

3. платеж с карты клиента успешно прошел

 

И вот слушаю очередную лекцию, где лектор объясняет преимущества чек-листов. И есть такой момент -- тестируем текстовый редактор, в частности при нажатии "Save" видим диалоговое окно "Save" или "Cancel".

 

Пример пункта в чек-листе:

Нажимаем кнопку кнопку "Cancel"

Ожидаемый результат:

1. диалоговое окно "сохранить документ?" закрылось

2. изменения не сохранены

3. кнопка "Save" остается активной

 

И вот лектор замечает, что несколько ожидаемых результатов могут быть только (!) в чек-листах, и при вышеприведенном тестировании кнопки "Cancel" нам пришлось бы обязательно писать три (!) разных тест-кейса.

 

Вот и думаю -- неужели это так? Как раз встречал в нескольких источниках, что может быть несколько ожидаемых результатов в тест-кейсе....

 

Поэтому вопрос: если бы нужно было написать тест-кейс для тестирования этой кнопки "Cancel" при сохранении текста в текстовом редакторе, можно было бы вышеназванные ожидаемые результаты поместить в один тест-кейс или действительно пришлось бы писать три отдельных?

 

Спасибо!


Тестирование граничных значений. Помогите разобраться.

30 марта 2020 - 22:47

Всем привет. Изучаю тестирование. В книге Романа Савина "Тестирование дот ком" есть глава, посвященная тестированию пограничных значений (boundary testing). Перейду сразу к делу:

 

имеем, например, класс "стоимость купленных книг с границами 200,00--499,99 рублей" и скидкой 2 % к сумме. Насколько понял, общепринято делать 5 тест-кейсов:

 

1. 200 (нижняя граница);

2. 499,99 (верхняя граница);

3. 315,11 (любое значение внутри класса);

4. 199,99 (первое значение ниже нижней границы);

5. 500 (первое значение выше верхней границы).

 

Вроде бы все понятно, так принятно. Но в книге есть логичные объяснения для чего мы тестируем каждое из вышеназванных значений. Каждое объяснение выглядит логичным, кроме одного. Итак, в книге сказано:

 

программист кодирует следующую логику: ЕСЛИ сумма >=200 И сумма <=499,99, ТО скидка = сумма/100*2

 

1. тестируем 200, так как программист может ошибиться в знаке равенства и/или завысив сумму нижнего предела: (ЕСЛИ сумма >200 И сумма <=499,99, ТО скидка = сумма/100*2) или (ЕСЛИ сумма >=250 И сумма <=499,99, ТО скидка = сумма/100*2), в этом случае тест-кейс не будет пройдет -- ВСЕ ПОНЯТНО.

2. тестируем 499,99, так как программист может ошибиться в знаке равенства и/или занизив сумму нижнего предела (ЕСЛИ сумма >=200 И сумма <499,99, ТО скидка = сумма/100*2) или (ЕСЛИ сумма >=200 И сумма <=450, ТО скидка = сумма/100*2), в этом случае тест-кейс не пройдет -- ВСЕ ПОНЯТНО.

3. см. ниже

4. тестируем 199,99, так как программист может ошибиться, занизив сумму нижнего предела или использовать неверный логический оператор (ЕСЛИ сумма >=100 И сумма <=499,99, ТО скидка = сумма/100*2) или (ЕСЛИ сумма >=200 ИЛИ сумма <=499,99, ТО скидка = сумма/100*2), в этом случае тест пройдет, а не должен -- ВСЕ ПОНЯТНО.

5. тестируем 500, так как программист может ошибиться, завысив сумму верхнего предела или использовать неверный логический оператор (ЕСЛИ сумма >=200 И сумма <=599,99, ТО скидка = сумма/100*2) или (ЕСЛИ сумма >=200 ИЛИ сумма <=500, ТО скидка = сумма/100*2), в этом случае тест пройдет, а не должен -- ВСЕ ПОНЯТНО.

 

А вот с тестированием любого значения внутри класса не понятно. В книге объяснение такое:

3. тестируем 315,11, так как программист может ошибиться в знаках больше и меньше: ЕСЛИ сумма <=200 И сумма >=499,99, ТО скидка = сумма/100*2. Во-первых, здесь логически не подойдет НИ ОДНО значение, потому что ни одно значение не является одновременно менее, чем 200 и более, чем 499,99. Во-вторых, если бы программист перепутал знаки больше и меньше, как указано в книге, у нас бы сразу не прошел ни первый, ни второй тест. То есть в книге явная логическая ошибка.

 

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

 

Помогите, плз, разобраться, верны ли мои рассуждения? Единственное, что думаю, может быть, этот тест делают на всякий случай, во избежание совсем сумасшедшей ошибки, например, если программист вместо диапазона 200--499,99 случайно пропишет, скажем, два 200--250 и 450--499,99.

 

Спасибо!