Методы тестирования программного обеспечения. Степанченко И.В. - 26 стр.

UptoLike

Составители: 

28
работу. Завершающим этапом является «обмен мнениями» – собрание,
проводимое участниками проверки. Цель такого собраниянахождение
ошибок, но не их устранение (т. е. тестирование, а не отладка).
Инспекции и сквозные просмотры широко практикуются в настоя-
щее время, но причины их успеха до сих пор еще недостаточно выясне-
ны. Заметим, что данный процесс
выполняется группой лиц (оптимально
три-четыре человека), лишь один из которых является автором програм-
мы. Следовательно, программа, по существу, тестируется не автором, а
другими людьми, которые руководствуются изложенными ранее принци-
пами (в разделе 1), обычно не эффективными при тестировании собст-
венной программы. Фактически «инспекция» и «сквозной просмотр» –
просто новые названия старого
метода «проверки за столом» (состоящего
в том, что программист просматривает свою программу перед ее тести-
рованием), однако они гораздо более эффективны опять-таки по той же
причине: в процессе участвует не только автор программы, но и другие
лица. Результатом использования этих методов является, обычно, точное
определение природы ошибок. Кроме того, с
помощью данных методов
обнаруживают группы ошибок, что позволяет в дальнейшем корректиро-
вать сразу несколько ошибок. С другой стороны, при тестировании на
ЭВМ обычно выявляют только симптомы ошибок (например, программа
не закончилась или напечатала бессмысленный результат), а сами они
определяются поодиночке.
Ранее, более двух десятков лет, проводились широкие эксперименты
по применению
этих методов, которые показали, что с их помощью для
типичных программ можно находить от 30 до 70 % ошибок логического
проектирования и кодирования. (Однако эти методы не эффективны при
определении ошибок проектирования «высокого уровня», например, сде-
ланных в процессе анализа требований.) Так, было экспериментально ус-
тановлено, что при проведении инспекций и сквозных просмотров опре
-
деляются в среднем 38 % общего числа ошибок в учебных программах
[12]. При использовании инспекций исходного текста в фирме IBM эф-
фективность обнаружения ошибок составляла 80 % [13] (в данном случае
имеется в виду не 80 % общего числа ошибок, поскольку, как отмечалось
ранее, общее число ошибок в программе никогда не известно, а 80 % всех
ошибок, найденных к моменту окончания
процесса тестирования).
Конечно, можно критиковать эту статистику в предположении, что
ручные методы тестирования позволяют находить только «легкие»
ошибки (те, которые можно просто найти при тестировании на ЭВМ), а
трудные, незаметные или необычные ошибки можно обнаружить только
при тестировании на машине. Однако проведенное исследование показа-
ло, что подобная критика является необоснованной [14].
Кроме того,
можно было бы утверждать, что ручное тестирование «морально устаре-
работу. Завершающим этапом является «обмен мнениями» – собрание,
проводимое участниками проверки. Цель такого собрания – нахождение
ошибок, но не их устранение (т. е. тестирование, а не отладка).
     Инспекции и сквозные просмотры широко практикуются в настоя-
щее время, но причины их успеха до сих пор еще недостаточно выясне-
ны. Заметим, что данный процесс выполняется группой лиц (оптимально
три-четыре человека), лишь один из которых является автором програм-
мы. Следовательно, программа, по существу, тестируется не автором, а
другими людьми, которые руководствуются изложенными ранее принци-
пами (в разделе 1), обычно не эффективными при тестировании собст-
венной программы. Фактически «инспекция» и «сквозной просмотр» –
просто новые названия старого метода «проверки за столом» (состоящего
в том, что программист просматривает свою программу перед ее тести-
рованием), однако они гораздо более эффективны опять-таки по той же
причине: в процессе участвует не только автор программы, но и другие
лица. Результатом использования этих методов является, обычно, точное
определение природы ошибок. Кроме того, с помощью данных методов
обнаруживают группы ошибок, что позволяет в дальнейшем корректиро-
вать сразу несколько ошибок. С другой стороны, при тестировании на
ЭВМ обычно выявляют только симптомы ошибок (например, программа
не закончилась или напечатала бессмысленный результат), а сами они
определяются поодиночке.
     Ранее, более двух десятков лет, проводились широкие эксперименты
по применению этих методов, которые показали, что с их помощью для
типичных программ можно находить от 30 до 70 % ошибок логического
проектирования и кодирования. (Однако эти методы не эффективны при
определении ошибок проектирования «высокого уровня», например, сде-
ланных в процессе анализа требований.) Так, было экспериментально ус-
тановлено, что при проведении инспекций и сквозных просмотров опре-
деляются в среднем 38 % общего числа ошибок в учебных программах
[12]. При использовании инспекций исходного текста в фирме IBM эф-
фективность обнаружения ошибок составляла 80 % [13] (в данном случае
имеется в виду не 80 % общего числа ошибок, поскольку, как отмечалось
ранее, общее число ошибок в программе никогда не известно, а 80 % всех
ошибок, найденных к моменту окончания процесса тестирования).
     Конечно, можно критиковать эту статистику в предположении, что
ручные методы тестирования позволяют находить только «легкие»
ошибки (те, которые можно просто найти при тестировании на ЭВМ), а
трудные, незаметные или необычные ошибки можно обнаружить только
при тестировании на машине. Однако проведенное исследование показа-
ло, что подобная критика является необоснованной [14]. Кроме того,
можно было бы утверждать, что ручное тестирование «морально устаре-
                                 28