3.6.2 Цели и выполнение разнообразных тестов.

iDevice ikoon 3.6.2 Цели и выполнение разнообразных тестов.

Приёмные тесты (Тесты на готовность ПО при сдаче проекта) согласуются между заказчиком и исполнителем программного продукта до начала его разработки - тогда с их помощью есть возможность принять решение о том, соответствует ли сделанное требованиям. В случае функциональных, т.е. системных тестов, кропотливо рассматриваются все требования спецификации. В случае тестирования методом «чёрного ящика» ограничиваются случайными и подручными данными, которые выбираются по возможности и всего диапазона возможных данных, что бы в результате получить более обзорную картину. В случае тестирования методом «белого ящика» прежде всего, анализируют внутреннюю работу системы на уровне программного кода, пытаясь при этом найти подозрительные места.

В общем случае рекомендуется следующее:

  • по каждому отрезку кода, проходят, как минимум, два раза используя разные данные
  • циклы проверяются и в условиях, когда цикл не должен проходиться вообще
  • в случае математических расчётов внимание обращается на ситуации, когда подходящего решения быть не может. Кропотливо проверяются граничные значения данных с обеих сторон.
Юнит-тесты (блок-тесты) проверяют в основном корректность работы одного класса. Некоторыми методиками рекомендуется писать тесты до создания самого кода программы и после написания теста создавать код как можно меньших размеров, чтобы он покрывал функциональность проверяемую тестом. В этом случае можно быть относительно уверенным, что большинство свойств блока программы покрыто тестами. Хорошая сторона покрытия тестами это то, что тогда можно быть относительно уверенным в том, что в случае изменения ПО старая (предшествующая изменениям) функциональность останется такой же, как и была и в неожиданных местах не появиться никаких аномалий (которые в обратном случае при внесении изменений в ПО, начинают появляться относительно просто).