Задачи и вопросы на собеседовании. Задача для тест дизайнера.

Нужно протестировать компонент, который преобразует дату из формата ДД.ММ.ГГГГ в текстовый формат. Т.е. из «11.05.2005» должно получиться «Одиннадцатое мая две тысячи пятого года».
Составьте тестовый набор.

Примечания:

  • Особенно интересен тестовый набор для допустимых значений.
  • API (GUI) компонента, формат данных и диапазон допустимых значений претендент может придумать сам или попросить его задать.

PS. Решение пока не даю, но вы можете прислать мне свои варианты решения.

Комментариев: 7

  1. dpi написал:

    1. Проверка компонента на предмет корректной обработки формата входных данныйх.
    а. Введенная дата не пустая.
    б. Введеная дата не сожердит пробельных символов (пробелы, табуляции, пустые символы, переносы).
    в. Длина введенной даты не превышает 10 символов.
    г. Дата не содержит иных символов кроме как цифры и точки.
    д. Положение точек в записи даты строго определено и дата не может быть введена в другом формате кроме как XX.XX.XXXX, где X-любая цифра.

    2. Проверка компонента на предмет корректной обработки крайних значений: числа, месяца, года.
    а. Нулевое число, месяц, год.
    б. Предельное для данного месяца число в соответствии с календарем данного года.
    в. 29 февраля в высокосном и невысокосном году.

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

  2. SALar написал:

    Интересен как раз набор из третьей группы. Что то мне подсказывает, что он должен быть больше ;-) .
    Наводящие вопросы:
    К какому типу относятся входные / выходные параметры?
    Нужно ли использовать ортогональную матрицу? И почему?

  3. dpi написал:

    Ну да, что-то не подумал.
    Конечно стоит проверить правильную конвертацию в слова введенных чисел дней, месяцев и лет.

    Т.е. по порядку:
    01 - первое
    ….
    31 - тридцать первое

    01 - января

    12 - декабря

    для годов аналогично для каждого порядка

    Зачем тут использовать ортогональную матрицу откровенно не знаю.

  4. SALar написал:

    Это неплохой набор.

    Но, во-первых он избыточен.
    Во вторых недостаточен.

  5. dpi написал:

    Можно подробнее по последнему замечанию?
    В чем избыточен и в чем недостаточен?

  6. SALar написал:

    Недостаточность.
    Есть еще один класс граничных условий. И его тоже нужно проверить.

    Избыточность.
    “22, 23, 33, 34″ - нельзя ли отсюда что нибуть выкинуть?

  7. dpi написал:

    Ок, для месяцев из второго десятка можем исключить проверку с 22 по 29 - 21 требуется для проверки правильного отображения десятков (”двадцать”). Остальные значения от 1 до 31 уникальны и требуют проверки. Выше 31 проверять нет смысла т.к. это уже проверяется набором из 2 группы тестов - “граничные условия”

    Для лет исключаем 22-29, 32-39, 42-49 … 92-99. Собственно я это и имел ввиду когда написал про аналогичную проверку для каждого порядка.

    Еще один класс граничных условий пока не придумал :)

Оставьте комментарий

Вы должны войти, чтобы оставить свой комментарий.