5.2. Проблема живучести программы

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

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

1) Этот термин обычно переводят как "робастность>.— Прим. перев.

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

Живучая программа — это такая программа, которая продолжает сохранять свою работоспособность, несмотря на рассеянность операторов подготовки данных, небрежность персонала, ответственного за контроль информации, и безграмотные действия операторов ЭВМ. Тот, кто принимает во внимание закон Мэрфи, который, естественно, распространяется и на программное обеспечение, будет создавать программы, обладающие свойством живучести.

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

5.1. Небрежность начинающих программистов || Оглавление || 5.3. Общие рекомендации


Услуги