5.7. Необходимость раннего тестирования

Тестирование программы на начальной стадии ее разработки является жизненной необходимостью, поскольку стоимость проведения проверок и устранения ошибок на каждом последующем этапе разработки программы увеличиваются на порядок. Затраты же на исправление той или иной ошибки на этапе проектирования ничтожны. Не так уж трудно определить местоположение ошибки, обнаруженной при индивидуальном тестировании отдельного модуля, но для этого требуются уже значительно большие затраты, чем в предыдущем случае. Если же ошибка обнаружена на этапе испытания всей программы как единого целого, ее устранение часто связано с привлечением к* этой работе целого ряда лиц и с организацией взаимосвязей между коллективами. Бесспорно, в этом случае затраты увеличиваются на порядок по сравнению с этапом тестирования отдельного модуля.

Ошибка, обнаруженная в программе, уже находящейся в эксплуатации, приводит к затратам, возрастающим еще на порядок или более относительно предшествующего случая. Это происходит потому, что "процесс исправления такой ошибки затрагивает интересы пользователей, требует временной фиксации некоторого иро-межуточкого состояния системы и может быть связан с повторными выполнениями заданий. Кроме того, требуется непосредственное общение программистов и находящихся от них, возможно, на значительном расстоянии пользователей.

Начинайте тестирование как можно раньше.

Тестовые проверки следует осуществлять еще на этапе разработки алгоритма программы, но на каком бы уровне они ни проводились, следует иметь в виду, что результатом тестирования может стать частичное или даже полное перепроектирование системы.

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

Во-вторых, сами масштабы работы, которую предстоит совершить испытателям, делают целесообразным их подключение к разработке уже на этапе проектирования. Испытатели должны подготовить контрольные примеры с известными результатами; сформированные контрольные примеры должны быть затем записаны на каком-либо носителе информации для обеспечения возможности их обработки. Вся эта подготовительная работа может и должна выполняться в процессе разработки программы. И если тестирование осуществляется способом сверху вниз, тестовые данные потребуются очень скоро.

5.6. Технические требования к тестированию || Оглавление || 5.8. Проверка правильности проектных решений


Услуги