Skip to content

Latest commit

 

History

History
183 lines (137 loc) · 13.9 KB

README.md

File metadata and controls

183 lines (137 loc) · 13.9 KB

📝 Техники тест-дизайна


✏️ Задание 1

Условие:

При создании новой брони система автоматически назначает ей крайний срок выкупа билета – таймлимит. Если к моменту истечения таймлимита билеты не выкуплены, то бронь аннулируется. Правила назначения таймлимита задаются авиакомпанией в карточке ТАЙМЛИМИТЫ, которая содержит одну или нескольких записей следующего вида:

Поле Тип Комментарий
ORDNO short Порядковый номер записи в карточке авиакомпании
DatN date Дата начала действия записи. Пусто – нет ограничения
DatK date Дата окончания действия записи. Пусто – нет ограничения
MAXTERM short Максимальное кол-во дней до вылета, когда действует запись (0 - день вылета). Поле обязательное
MINTERM short Минимальное кол-во дней до вылета, когда действует запись (0 - день вылета). Поле обязательное
TLBASE char 8 База для расчета таймлимита: ДВ – 00:00 даты вылета, ВВ - дата и время вылета, ДБР – 00:00 даты бронирования, ВБР - дата и время бронирования
TLVALUE long Таймлимит в минутах относительно TLBASE. Может быть положительным и отрицательным.

Для определения таймлимита брони ищется первая (в порядке возрастания OrdNo) запись в карточке авиакомпании, которая удовлетворяет условиям (DATN,DATK,MINTERM,MAXTERM). Окончательная величина тайм-лимита рассчитывается по формуле: tlbase+tlvalue.

✔️ Решение:

  1. Пож-ста помогите авиакомпании Россия закодировать следующие правила, устанавливаемые с 15 августа 2016 года:
  • При бронировании более чем за 15 суток до вылета билеты должны быть выкуплены до конца суток, следующих за сутками бронирования.
  • При бронировании за 1-15 суток до вылета билеты должны быть выкуплены до конца суток бронирования.
  • При бронировании в день вылета билеты должны быть выкуплены не позднее, чем за 6 часов до вылета.
OrdNo DatN DatK MaxTerm MinTerm BASE TLVAL
1 15.08.2016 360 2 ДБР 2880
2 15.08.2016 15 1 ДБР 1440
3 15.08.2016 0 0 ВВ -360
  1. Пож-ста помогите диспетчеру авиакомпании Ютейр правильно заполнить таблицу, либо укажите разработчикам на ошибку в ПО. До 10 июля действовали следующие правила:
  • При бронировании более чем за 2 суток до вылета билеты должны быть выкуплены в течение 3 дней с момента бронирования.
  • При бронировании за 2 и менее суток до вылета билеты должны быть выкуплены в течение часа с момента бронирования
  • С 10 июля при бронировании более чем за 2 суток до вылета билеты должны быть выкуплены в течение двух суток.

Кодирование правил диспетчером авиакомпании:

OrdNo DatN DatK MaxTerm MinTerm BASE TLVAL
1 01.01.2015 360 3 ВБР 4320
2 01.01.2015 2 0 ВБР 60
3 10.07.2015 360 3 ВБР 2880

Диспетчер авиакомпании жалуется, что несмотря на наличие записи 3 поведение системы 10 июля не изменилось.

Исправления:

OrdNo DatN DatK MaxTerm MinTerm BASE TLVAL
1 01.01.2015 360 3 ВБР 4320
2 01.01.2015 2 0 ВБР 60
3 10.07.2015 360 2 ВБР 2880

С 10 июля при бронировании более чем за 2 суток до вылета билеты должны быть выкуплены в течение двух суток с момента бронирования.

  1. Пож-ста помогите диспетчеру авиакомпании КрасАвиа правильно заполнить таблицу, либо укажите разработчикам на ошибку в ПО. С 1.01.15 действуют следующие правила:
  • При бронировании более чем за 30 дней до вылета билеты должны быть выкуплены не позднее 20 дней до момента вылета рейса
  • При бронировании за 3-30 дней до вылета билеты должны быть выкуплены в течение двух суток.
  • При бронировании менее чем за 2 суток до вылета билеты должны быть выкуплены в течение часа.

Кодирование правил диспетчером авиакомпании:

OrdNo DatN DatK MaxTerm MinTerm BASE TLVAL
1 01.01.2015 360 31 ДВ 28800
2 01.01.2015 30 3 ВБР 2800
3 01.01.2015 2 0 ВБР 60

Диспетчер авиакомпании жалуется, что при бронировании 1 августа на дату вылета 1 октября ТЛ отличается от ожидаемого.

Исправления:

OrdNo DatN DatK MaxTerm MinTerm BASE TLVAL
1 01.01.2015 360 21 ВВ -28800
2 01.01.2015 30 2 ВБР 2800
3 01.01.2015 2 0 ВБР 60

✏️ Задание 2

Условие:

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

  • Кредит на срок до 92 дней – базовая % ставка = 20%
  • Кредит от 93 до 182 дней – базовая % ставка = 19%
  • Кредит от 183 до 365 дней – базовая % ставка = 18%
  • Если сумма кредита до 50000, то базовая процентная ставка не изменяется
  • Если сумма кредита от 50000 до 100000, то базовая % ставка уменьшается на 0,5%
  • Если сумма кредита свыше 100000, то базовая % ставка уменьшается на 1,5%

✔️ Решение:

Определяем классы эквивалентности и граничные значения.

Классы эквивалентности.

Негативные классы:

  • Кредитный срок до 0 дней – сообщение об ошибке
  • Сумма кредита меньше 0 д.е. – сообщение об ошибке

Позитивные классы:

  • Кредит на срок до 92 дней – базовая % ставка = 20%
  • Кредит от 93 до 182 дней – базовая % ставка = 19%
  • Кредит от 183 до 365 дней – базовая % ставка = 18%
  • Если сумма кредита до 50000, то базовая процентная ставка не изменяется
  • Если сумма кредита от 50000 до 100000, то базовая % ставка уменьшается на 0,5%
  • Если сумма кредита свыше 100000, то базовая % ставка уменьшается на 1,5%

Так как мы не может взять кредит на количество дней меньше 0, то будем считать кредит на срок от 0-92 дней. Аналогично, считаем, что сумма кредита не может быть меньше 0.

Позитивные классы Представители класса Ожидаемый результат
0 - 92 дней 75 Базовая % ставка = 20%
93 - 182 дней 102 Базовая % ставка = 19%
183 - 365 дней 235 Базовая % ставка = 18%
0 - 49999 д.е. 30000 % ставка не изменяется
50000 - 100000 д.е. 75000 Базовая % ставка уменьшается на 0.5%
от 100001 до +беск д.е. 150000 Базовая % ставка уменьшается на 1.5%
Негативные классы
от -беск до -1 дней -10 Сообщение об ошибке
от -беск до -1 д.е. -10000 Сообщение об ошибке
буквы (русская раскладка) абв Сообщение об ошибке
буквы (латиница) ckf Сообщение об ошибке
спецсимволы &@%= Сообщение об ошибке

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

Позитивные классы Граничные значения Ожидаемый результат
0 - 92 дней -1,0 и 92,93 Базовая % ставка = 20%
93 - 182 дней 92,93 и 182,183 Базовая % ставка = 19%
183 - 365 дней 182,183 и 365,366 Базовая % ставка = 18%
0 - 49999 д.е. -1,0 и 49999,50000 % ставка не изменяется
50000 - 100000 д.е. 49999,50000 и 100000,100001 Базовая % ставка уменьшается на 0.5%
от 100001 до +беск д.е. 100000,100001, для +беск нет Базовая % ставка уменьшается на 1.5%
Негативные классы
от -беск до -1 дней для -беск нет и -1,0 Сообщение об ошибке
от -беск до -1 д.е. для -беск нет и -1,0 Сообщение об ошибке
буквы (русская раскладка) нельзя определить Сообщение об ошибке
буквы (латиница) нельзя определить Сообщение об ошибке
спецсимволы нельзя определить Сообщение об ошибке

✏️ Задание 3

Условие:

Практическое задание

Эта страница содержит простую спецификацию методов разработки тестов для определения эквивалентности и анализа граничных значений, а также несколько различных реализаций этой спецификации. Реализация 1 верна, другие - не очень. Ваша цель - найти ON, OFF, OUT В других значениях, которые позволят найти ошибки во всех из них.

Спецификация:

  • Любое целое число, которое больше или равно -10,000 и меньше или равно 10,000, принимается программой;
  • Все отрицательные целые числа должны храниться в базе данных вместе с другими отрицательными целыми числами;
  • Все положительные целые числа должны храниться в базе данных вместе с другими положительными целыми числами;
  • Нуль не должен храниться.

✔️ Решение:

pictures


✏️ Задание 4

Условие:

Попробуйте протестировать эту задачу с помощью техники "таблица принятий решений".

В дождливую погоду ты надеваешь дождевик, когда идет снег - надеваешь пальто, когда светит солнце - надеваешь солнечные очки, когда нет дождя и снега, ты носишь плащ. Считать, что может идти только один вид осадков (дождь и снег не идут одновременно).

✔️ Решение:

test