При создании новой брони система автоматически назначает ей крайний срок выкупа билета – таймлимит. Если к моменту истечения таймлимита билеты не выкуплены, то бронь аннулируется. Правила назначения таймлимита задаются авиакомпанией в карточке ТАЙМЛИМИТЫ, которая содержит одну или нескольких записей следующего вида:
Поле | Тип | Комментарий |
---|---|---|
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.
- Пож-ста помогите авиакомпании Россия закодировать следующие правила, устанавливаемые с 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 |
- Пож-ста помогите диспетчеру авиакомпании Ютейр правильно заполнить таблицу, либо укажите разработчикам на ошибку в ПО. До 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.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 |
Дано описание логики программы, которая вычисляет процентную ставку в зависимости от количества дней кредитного срока, а также уменьшение этой ставки в зависимости от суммы кредита. Для каких входных значений вы будете проверять следующую логику, если учесть, что значения дней срока кредитования и сумма кредита вводятся в специально предназначенные для того поля? Программа устанавливает % ставку по кредиту в зависимости от его срока и суммы:
- Кредит на срок до 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 | Сообщение об ошибке |
буквы (русская раскладка) | нельзя определить | Сообщение об ошибке |
буквы (латиница) | нельзя определить | Сообщение об ошибке |
спецсимволы | нельзя определить | Сообщение об ошибке |
Эта страница содержит простую спецификацию методов разработки тестов для определения эквивалентности и анализа граничных значений, а также несколько различных реализаций этой спецификации. Реализация 1 верна, другие - не очень. Ваша цель - найти ON, OFF, OUT В других значениях, которые позволят найти ошибки во всех из них.
Спецификация:
- Любое целое число, которое больше или равно -10,000 и меньше или равно 10,000, принимается программой;
- Все отрицательные целые числа должны храниться в базе данных вместе с другими отрицательными целыми числами;
- Все положительные целые числа должны храниться в базе данных вместе с другими положительными целыми числами;
- Нуль не должен храниться.
Попробуйте протестировать эту задачу с помощью техники "таблица принятий решений".
В дождливую погоду ты надеваешь дождевик, когда идет снег - надеваешь пальто, когда светит солнце - надеваешь солнечные очки, когда нет дождя и снега, ты носишь плащ. Считать, что может идти только один вид осадков (дождь и снег не идут одновременно).