Стоимость одного стаканчика газировки 25 рублей
Автомат принимает деньги в купюрах и монетах
Автомат не принимает монеты меньше 1 рубля
Автомат не принимает купюры больше 100 рублей
Если внесённая сумма больше стоимости напитка, автомат выдает сдачу
Как только внесена достаточная сумма автомат выдает одноразовый стаканчик с напитком
Другие языки программирования и технологии
Помогите описать тестовые сценарии (Test Cases) для тестирования автомата по продаже газировки. Я тут дилетант.
Для начала нужно спроектировать программу. Для простоты предположим, что программа консольная и получает на входе файл с исходными данными, а на выходе файл результата.
Формат входного файла:
количество монет, засунутых в автомат, перевод строки (если количество = 0 - конец файла)
строка из целых чисел через пробел - достоинства монет
Формат выходного файла:
код ошибки или 0 при успешном завершении, перевод строки (если ошибка - конец файла)
количество монет, которые вернулись обратно, перевод строки (если количество = 0 - конец файла)
строка из целых чисел через пробел - достоинства монет
Коды ошибок: 1 - недостаточно денег для покупки, 2 - монета неправильного достоинства, 3 - некорректный входной файл
Сознательно не вводил наличие разменных монет каждого из достоинств в автомате, проще считать их бесконечными.
Задача ставится так: сгенерить много разных входных файлов и проверить соответствие выхода входу и правильность выходного файла. Что проверять:
1. Несколько неправильных файлов приводят к ошибке 3: строки вместо чисел, вещественные числа, несовпадение количества (5-7 таких файлов)
2. Некорректные достоинства монет приводят к ошибке 2 (4-6 таких файлов)
3. По сумме входных монет проверить ошибку 1 или то что вход=25+выход (много файлов)
4. Перестановки достоинств монет приводят к тому же результату (случайно сгенерить перестановки достоинств в имеющихся тестах - 3-5 на каждый тест) - проверить совпадение файлов результатов.
Как проверять пункт 3:
1. Статические файлы, к примеру на 0(обязательно должен быть) , 20, 37, 623 монет
2. Случайные наборы (10-30 файлов) для КАЖДОГО из наборов от 1 до 30
3. Случайные наборы (3-5 файлов) для случайных от 31-100 (20-30 раз выбирать) количеств.
Получается дерево тестов, в котором пункты проверки разворачивается в дерево, промежуточные вершины которого пункты проверок, а листья - конкретные тесты. Ошибка в дочернем элементе "просачивается" наверх, приводя к ошибке родителя.
Это дерево должна обходить программа-тестер, которая:
- подготавливает и вызывает тесты,
- систематизирует результаты в таблицу проверок
- выводит пары файлов вход+выход для тех, у которых поведение отличается от ожидаемого
Наборы ВСЕХ тестов и таблица результатов - это протокол проверки.
Формат входного файла:
количество монет, засунутых в автомат, перевод строки (если количество = 0 - конец файла)
строка из целых чисел через пробел - достоинства монет
Формат выходного файла:
код ошибки или 0 при успешном завершении, перевод строки (если ошибка - конец файла)
количество монет, которые вернулись обратно, перевод строки (если количество = 0 - конец файла)
строка из целых чисел через пробел - достоинства монет
Коды ошибок: 1 - недостаточно денег для покупки, 2 - монета неправильного достоинства, 3 - некорректный входной файл
Сознательно не вводил наличие разменных монет каждого из достоинств в автомате, проще считать их бесконечными.
Задача ставится так: сгенерить много разных входных файлов и проверить соответствие выхода входу и правильность выходного файла. Что проверять:
1. Несколько неправильных файлов приводят к ошибке 3: строки вместо чисел, вещественные числа, несовпадение количества (5-7 таких файлов)
2. Некорректные достоинства монет приводят к ошибке 2 (4-6 таких файлов)
3. По сумме входных монет проверить ошибку 1 или то что вход=25+выход (много файлов)
4. Перестановки достоинств монет приводят к тому же результату (случайно сгенерить перестановки достоинств в имеющихся тестах - 3-5 на каждый тест) - проверить совпадение файлов результатов.
Как проверять пункт 3:
1. Статические файлы, к примеру на 0(обязательно должен быть) , 20, 37, 623 монет
2. Случайные наборы (10-30 файлов) для КАЖДОГО из наборов от 1 до 30
3. Случайные наборы (3-5 файлов) для случайных от 31-100 (20-30 раз выбирать) количеств.
Получается дерево тестов, в котором пункты проверки разворачивается в дерево, промежуточные вершины которого пункты проверок, а листья - конкретные тесты. Ошибка в дочернем элементе "просачивается" наверх, приводя к ошибке родителя.
Это дерево должна обходить программа-тестер, которая:
- подготавливает и вызывает тесты,
- систематизирует результаты в таблицу проверок
- выводит пары файлов вход+выход для тех, у которых поведение отличается от ожидаемого
Наборы ВСЕХ тестов и таблица результатов - это протокол проверки.
а это твоя работа, или чиста так паприкалыватса?
ну так if или case в помощь
Похожие вопросы
- Помогите описать процедуру, которая подсчитывает количество элементов очереди, у которых равные "соседи".
- Программа на языке C++, помогите описать :|
- Тестовое задание на вакансию PHP разработчика
- у нас в институте программа тестирования.все тесты в ней заложены в формате .dll. как открыть эти файлы,чтобы перетащить
- Есть ли программа для цифрового воссоздания - тестирования ракетного двигателя?
- Тестирование ПО в 45 лет. С какой литературы, ресурсов начать? Какие курсы порекомендуете ?
- Ребята помогите пожалуйста! Для тех кто знает это очень легко! Описать строки в задаче! ПАСКАЛЬ!!!!
- Кто сможет написать сценарий?
- АССЕМБЛЕР ПОМОГИТЕ! Задали на учебе пример на автомат. Помогите умоляю. Программа emu8086.
- Помогите написать программу эмулирующую игровой автомат, или хотя бы натолкните как её начать???