Составители:
Рубрика:
86
поэтому у них особый восторг вызывает факт отсутствия диагностики ошибок и
запуск программы на выполнение. Начинающие обычно считают, что они
наконец преодолели все трудности и теперь можно пожинать плоды своих
усилий. Опытные программисты знают, что только тут перед ними встают
основные проблемы, связанные с созданием программного обеспечения и
переходят к этапу тестирования созданной ими программы.
Тестирование - процесс испытания программы на предмет ее работы с
заданным набором входных данных (тестом).
По своей сути процесс тестирования представляет собой проверку реакции
программы на заранее подготовленные наборы входных данных. Важно
отметить то обстоятельство, что реакция программы на тест должна быть
известна до того, как она появится. Поэтому сами тесты разрабатываются
вместе с алгоритмом программы еще до начала ее кодирования.
Очень важным является вопрос о глубине и объеме тестирования.
Всеобъемлющим может называться тестирование программы по абсолютно
всем наборам входных данных. Если входные данные представлены одной
ячейкой памяти типа Integer, то количество тестов программы в этом случае
превышает 65 тысяч раз. Если входные данные размещены в двух независимых
ячейках памяти, то для исчерпывающего тестирования необходимо создать
наборы данных, включающие в себя все возможные комбинации. Очевидно, что
в реальных задачах говорить об исчерпывающем тестировании не приходится.
Поэтому приходится говорить об искусстве тестирования, когда сознательно
создаются наборы данных, позволяющие установит факт наличия ошибки в
программе при минимальном числе испытаний.
Вообще целью тестирования является установить факт наличия ошибки в
программе. Поэтому перед разработчиком теста стоит задача разрушить
готовую программу, что само по себе является не таким уж простым делом.
Очень часто квалификация разработчика теста должна быть выше
квалификации составителя программы. Для реализации тестирования может
потребоваться разработка специального программного средства (генератора
тестов), которое по сложности может оказаться соизмеримым с испытуемой
программой.
Тест
успешен, если он указал на факт наличия ошибки в программе. Это
означает, что необходимо принимать меры по их устранению. Если тест ошибок
не нашел, то это означает только то, что ошибки не были найдены. К
сожалению, это обстоятельство не является доказательством факта их
отсутствия вообще. Как говорят в таких случаях программисты
, просто их плохо
искали.
Отладкой называется процесс отыскания конкретного оператора программы,
являющегося причиной возникновения ошибки, и внесение в него изменений
с целью устранения выявленной ошибки.
Процесс отладки во многом сходен с процессом поиска преступника в
детективном романе. Приходится анализировать имеющиеся доказательства
(результаты тестирования), косвенные улики, круг подозреваемых и тому
подобное. В процессе отладки чрезвычайно полезно пользоваться тем, что
Страницы
- « первая
- ‹ предыдущая
- …
- 84
- 85
- 86
- 87
- 88
- …
- следующая ›
- последняя »