Тестирование
программного обеспечения
Тестирование является одним из этапов жизненного цикла программного изделия, направленным на повышение качественных характеристик. При создании программного изделия около 40 % времени и более 40 % общей стоимости расходуется на тестирование разрабатываемой программы. Тестированию (проверке) подвергаются все изделия сферы материального производства, но тестирование программного изделия имеет свои особенности. Они заключаются в том, что:
• отсутствует эталон, которому должна соответствовать программа;
• программы очень сложны, и принципиально невозможно провести исчерпывающее тестирование;
• практически невозможно создать единую методику тестирования, т.к. программы очень разнообразны по функциональному назначению, области применения и т.п.
Тестирование – это процесс многократного выполнения программы с целью обнаружения ошибок.
Программа тестируется для того, чтобы выявить и устранить максимальное количество ошибок, повысить ее надежность, а не для того, чтобы доказать отсутствие ошибок.
Цель тестирования программного изделия – выявление как можно большего числа ошибок.
-
Для правильно проводимого тестирования характерен ряд принципов: Процесс тестирования более эффективен, если проводится не автором программы.
-
Описания предполагаемых результатов тестовых прогонов должны быть необходимой частью тестового набора данных.
-
Необходимо досконально изучить результаты применения каждого теста.
-
Тесты для неправильных и непредусмотренных входных данных должны разрабатываться так же тщательно, как и для правильных.
-
Надо проверять не только, делает ли программа то, для чего она предназначена, но и не делает ли она то, для чего не предназначена.
-
Вероятность наличия необнаруженных ошибок в какой-либо части программы пропорциональна числу ошибок, уже обнаруженных.
-
тестирование – это процесс многократного выполнения программы с целью выявления ошибок;
-
тестовый прогон считается удачным, если он позволяет выявить ошибку, чем больше ошибок выявляется, тем эффективнее он;
-
трудность тестирования в том, что это процесс творческий, не поддающийся формализации, и, кроме того, это процесс деструктивный, разрушающий, что особенно трудно для автора программы.
Основными методами тестирования являются:
-
Статический – анализируется текст программы на языке программирования без ее трансляции и запуска.
-
Детерминированный – это многократное выполнение программы на ЭВМ с разными, тщательно подобранными наборами данных, учитывающими, по возможности, все вероятные сочетания данных. Это наиболее трудоемкий, но эффективный способ.
-
Стохастическое тестирование предполагает использование при прогоне программы множества случайных величин с соответствующими распределениями.