четверг, 27 февраля 2014 г.

Тестирование калькулятора. High Level Test Cases

Немножко в сторону.

Есть такая штука как "ручное протыкивание".

Как оно делается?

Тут варианты следующие:
1. Чисто ручное протыкивание "на интуиции".
2. Протыкивании на основании ТЗ и Test Case'ов.
3. Симбиоз этих двух подходов.

Я лично больше приемлю HLTC.

Почему? Потому что они являются прародителями не только "ручного протыкивания", но и "автоматических тестов".

Так вот пишет тут знакомый.

Цитирую:

"Заставил я себя HLTC соорудить:

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

HLTC1: Начало работы
HLTC1.1: При открытии программы:
HLTC1.1.1: Поле для ввода данных содержит 0
HLTC1.1.2: Все кнопки доступны(активны)

HLTC2: Ввод данных (цифр и разделителя)
HLTC2.1: Способы ввода
Убедиться, что данные можно ввести всеми способами:
HLTC2.1.1: Нажатие кнопок приложения с помощью указателя мыши
HLTC2.1.2: Ввод с основной клавиатуры
HLTC2.1.3: Ввод с дополнительной клавиатуры

HLTC2.2: Реакция системы на введённые данные:
HLTC2.2.1: Цифры
HLTC2.2.1.1: Отображаются в поле для ввода данных
HLTC2.2.1.2: Каждая следующая введённая цифра располагается справа от имеющихся
HLTC2.2.1.3: Первая введённая цифра заменяет собой умолчательный 0

HLTC2.2.2: Точка-разделитель дробной части
HLTC2.2.2.1: Отображается в поле для ввода данных точкой
HLTC2.2.2.2: Добавляется справа от цифры в поле (включая умолчательный 0)
HLTC2.2.2.3: В числе может быть только одна запятая
HLTC2.2.2.3.1: Кнопка с запятой дизейблится после первого нажатия
HLTC2.2.2.3.2: Вновь становится активной при:
HLTC2.2.2.3.2.1: Общем сбросе
HLTC2.2.2.3.2.2: Начале ввода следующего числа (после ввода операци)
HLTC2.2.2.3.3: При попытке ввода второго разделителя с клавиатуры - никак не реагируем


HLTC3: Операции

HLTC3.1: Способы ввода
Убедиться, что операции можно ввести всеми способами:
HLTC3.1.1: Нажатие кнопок приложения с помощью указателя мыши
HLTC3.1.2: Ввод с основной клавиатуры
HLTC3.1.3: Ввод с дополнительной клавиатуры

HLTC3.2: Арифметические операции (+ - * /):
HLTC3.2.1: Визуально никак не отображаются
HLTC3.2.2: Если последовательно ввести несколько операций - учитывается только последняя
HLTC3.2.3: После применения операции:
HLTC3.2.3.1: Первая введённая цифра заменяет отображаемое число
HLTC3.2.3.2: Ввод разделителя отображается как "0."

HLTC3.3: Получение результата:
HLTC3.3.1: Когда введено первое число, арифметическая операция и второе число - результат можно получить следующими способами:
HLTC3.3.1.1: Нажатием кнопки "=" в программе или на клавиатуре
HLTC3.3.1.2: Нажатием Enter с клавиатуры
HLTC3.3.1.3: Вызовом любой арифметической операции

HLTC3.4: Удаление последнего символа
HLTC3.4.1: Способы вызова:
HLTC3.4.1.1: Кнопка <-- (в нашем калькуляторе)
HLTC3.4.1.2: Клавиша клавиатуры Backspace
HLTC3.4.2: Единичное нажатие удаляет последний из введённых символов
HLTC3.4.3: При удалении последнего символа, он заменяется на 0
HLTC3.4.4: Попытки удалить 0 игнорируются
HLTC3.4.5: Не может быть применим к результату операции (вызов 
игнорируется)


HLTC3.5: Сброс
Отмена всех операций и замена текущего числа в поле на 0 производится следующими способами:
HLTC3.5.1: Кнопка "С" (в нашем калькуляторе)
HLTC3.5.2: Клавиша клавиатуры Esc

HLTC4: Специальные тесты
HLTC4.1: Арифметические операции с результатом
Когда в поле выведен результат предыдущей операции, с ним можно выполнить любое арифметическое действие.
Для этого нужно:
HLTC4.1.1: Если результат был выведен кнопками Enter или "=":
1. Нажать кнопку нужной операции
2. Ввести число
3. Любым способом вызвать результат

HLTC4.1.2: Если результат был выведен кнопкой арифметической операции:
1. Ввести число
2. Любым способом вызвать результат


HLTC4.2: Деление на 0
При попытке деления на 0, в поле выводится текст: "Значение не определено".


HLTC5: Завершение работы
HLTC5.1: Окно закрывается стандартными средствами ОС:
HLTC5.1.1: Крестик в правом верхнем углу
HLTC5.1.2: Горячие клавиши Alt+F4
HLTC5.2: С закрытием операции, из памяти должен выгрузиться процесс 

AL_calc.exe

Если решишь продолжить с калькулятором, может и пригодится :-)"

Я думаю, что со временем я разовью эту тему.

9 комментариев:

  1. Спасибо! Не знал с чего начать )

    ОтветитьУдалить
  2. Спасибо Вам большое за статью и весь вложенный в нее труд!

    ОтветитьУдалить
  3. как можно протестировать следующее условие:калькулятор должен поддерживать работу с целыми числами в пределах от -2147483648 до 2147483647, в случае выхода за эти пределы должно выдаваться сообщение об ошибке Error 06.

    ОтветитьУдалить
  4. Начала тестировать простейший калькулятор, закрыла все варианты тестирования кроме одного...
    Самого последнего.
    До сих пор не могу понять что нужно сделать...
    Вот тест: https://parviz.pw/meetup/

    ОтветитьУдалить
    Ответы
    1. Привет, вы нашли ответ? Я вот тоже нен понимаю, что там за проверка должна быть((

      Удалить
    2. Это скорее пасхалка а не реальный тест.

      Удалить