Тестирование программ

Тестирование - важная часть процесса создания ПО, которая позволяет определить, достигли ли мы конечной точки нашей работы.

Методы тестирования

  • ручное
  • автоматическое

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

Автоматическое тестирование - это процесс, который пытаются отложить до момента, когда без него не удаётся добиться требуемого качества программного продукта. К сожалению, к этому моменту стоимость внедрения систем автоматического тестирования может оказаться сравнима со стоимостью самого проекта. Чем дольше жизненный цикл проекта, чем больше людей вовлечено в него, тем раньше нужно внедрять систему автоматического тестирования. В идеале - в самом начале проекта, с первыми строками кода.

Виды тестирования:


  • модульное
  • функциональное

Модульное тестирование

Хорошо подходит для библиотек процедур, невизуальных классов. Каждый тест отвечает на вопрос, работает ли определенный модуль в системе или нет.

Реализация

Для каждого тестируемого модуля необходимо создать ещё один модуль, содержащий тестовые задания. Этот модуль имеет:
  • метод запуска подтестов
  • метод протоколирования

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

Функциональное тестирование

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

Реализация

Хорошо зарекомендовал себя подход, при котором в тестируемую систему встраивается интерпретатор скрипта выполнения. Скрипт выполнения - запись последовательности действий пользователя и методов контроля их выполнения. Такой подход позволяет писать функциональные тесты без привязки к элементам графического интерфейса (расположение кнопок, пунктов меню), но подразумевает, что для тестирования GUI используются другие методики ( ручное тестирование или скрипты для кликанья мышкой / нажатия клавиш ).

Пример реализации

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

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