Лекция: Тестирование программ.

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

На протяжении 70х годов произошел переход с ламповой элементарной базы построения ЭВМ на полупроводниковую, а затем, на базу интегральных схем. Это было связано с повышением ее компактности, удешевлением, серьезным повышением эффективности. В результате этого перехода потребовались сложные программные комплексы для решения новых проблем и задач. Появилась проблема, которая выражалась в том, что используемые ранее методы конструкторского программирования оказались неэффективными. С появлением необходимости разработки программируемых систем резко встает вопрос о повышении производительности труда программиста, об облегчении этапов отладки и тестирования программ, о понимании большими коллективами программистов не только своих участков работы, но и всей решаемой проблемы, а также облегчении решения этапа объединения отдельных частей в большой комплекс.

Одним из пионеров новой методики стал Дейкстра, в 1968 году заявил о необходимости исключить из состава языков программирования высокого уровня оператора goto. Позднее была сформулирована четкая система правил, названная структурнымпрограммированием.

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

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

2) В сложных системах, требующих постоянного сопровождения и развития, ошибки присутствуют всегда

3) Издержки от испытания сложных комплексов постоянно возрастают, по мере того, как люди возлагают на ЭВМ все более ответственные функции.

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

 

1. Исследовать на экстремум функцию:

F(x)= x12 +3x22 + 2x32 ,

еще рефераты
Еще работы по информатике