Cтраница 3
![]() |
Состав видов программного контроля данных. [31] |
Вновь разработанное и модифицированное программное обеспечение тестируют, используя контрольный пример. Это один из наиболее известных и применяемых способов проверки программ, несмотря на то что он достаточно трудоемок, дорог и не гарантирует правильность работы программы во всех режимах. В последнее время появились работы в области верификации программ, представляющей собой, в отличие от тестирования, основанного на выполнении операторов программы, аналитическую проверку ее свойств. [32]
Приведенное выражение позволяет сделать важйые выводы. Чтобы уменьшить потери от сбоев и отказов, порождающих ошибки, надо предотвратить распространение ошибки в вычислительном процессе, так как в противном случае существенно усложнятся и удлинятся процедуры проверки правильности работы программы, определения и устранения искажений в программе, данных и промежуточных результатах. [33]
Программой IEBDG выполняется создание тестовых файлов данных с различной организацией. Необходимость таких файлов данных проявляется при отладке программ, работающих с файлами данных. Правильность работы программы определяется на основании анализа корректности тестовых выходных данных, а на вход поступают тестовые входные данные. [34]
Обязательным требованием является высокая надежность разработанной программы. В ней должно содержаться достаточное число стопоров ошибок ( утверждений и защитных распечаток - гл. Тестовый набор, на котором демонстрируется правильность работы программы, обязан быть полным ( гл. [35]
Тестирование и отладка составляют заключительный этап разработки программы решения задач. Оба эти процесса функционально связаны между собой, хотя их цели несколько отличаются друг от друга. Тестирование представляет собой совокупность действий, предназначенных для демонстрации правильности работы программы в заданных диапазонах изменений внешних условий и режимов эксплуатации программы. Цель тестирования заключается в демонстрации отсутствия ( или выявлении) ошибок в разработанных программах на наборе заранее подготовленных контрольных примеров. [36]
Отметим сразу же, что тест представляет собой не только некоторую совокупность входных данных для программы, но и точное описание всех результатов, которые должна выработать программа на этих данных в том виде, как эти результаты должны быть расположены на выдаче. Естественно, что в понятие результат включаются при этом и те сообщения, которые должны напечатать размещенные в программе для повышения ее надежности операторы печати. Нарушение этого требования приводит к тому, что оценка правильности работы программы на выбранных данных становится невозможной. Например, если речь идет о программе, проверяющей свойства простоты натурального числа Л ( см. пример ниже), то нет смысла тестировать ее для N 1 234 567, если заранее не известно, каким является это число - простым пли составным. [37]
Вторая, основная часть монографии, включает тексты разработанных авторами программ для отечественных ЭВМ, реализующих описанные в главах 1 - 4 методы расчета: программу расчета электронной структуры методом Малликена - Вольф-сберга - Гельмгольца с самосогласованием по зарядам и конфигурациям и автоматическим учетом симметрии задачи; программу расчета насыщенных молекул, комплексов и кластеров переходных элементов методом полного пренебрежения дифференциальным перекрыванием ( вариант для замкнутой и открытой электронных оболочек); программу квантовохимических расчетов в приближении частичного пренебрежения дифференциальным перекрыванием для систем с замкнутой электронной оболочкой. Каждая программа сопровождается подробной инструкцией о порядке подготовки исходных данных для расчета. Приводятся примеры расчетов по описанным методам, которые могут быть использованы для проверки правильности работы программ. Программы написаны на языке АЛГОЛ-БЭСМ и ориентированы на ЭВМ БЭСМ-6, но могут быть использованы и на других машинах, имеющих АЛГОЛ-трансляторы. [38]
Ультрафиолетовым полосам спектра поглощения молекулы формальдегида соответствуют ридберговские возбужденные состояния, образующиеся при переходе электрона па Зс -, Зр -, 3d - АО. Поэтому ясно, что метод ограниченного KB, использующий МО, найденные для плоской геометрии и с учетом лишь валентных АО, в данном случае неприменим. Приведенные выше результаты расчета по методу KB имеют иллюстрационный характер и могут быть использованы для проверки правильности работы программы. [39]
Программное обеспечение статистического анализа дает пользователю вычислительные средства, способные превратить малозначащие сами по себе ряды цифр, заполняющие целые диски, в информацию, помогающую принимать решения. Это программное обеспечение позволяет пользователю обобщать и интерпретировать сырые данные, выявлять тенденцию, проводить корреляцию, выполнять регрессионный анализ. Как и все новые приборы и инструменты, программы статистического анализа необходимо тестировать на уже обкатанных наборах данных, чтобы убедиться в правильности работы программы и правильности интерпретаций ее результатов. Другими словами, даже самые мощные вычислительные средства не дают облегченных решений и чрезвычайно важиым оказывается интеллектуальное обеспечение. Не жалейте времени, постарайтесь понять, как работает программа и что означают ее результаты. [40]
При использовании метода тестов программа ( или ее отдельный блок) считается правильной, не содержащей ошибок, если пропуск отлаживаемой программы для выбранной системы тестовых исходных данных во всех случаях дает правильные результаты. Таким образом, контроль программы сводится к тому, чтобы подобрать такую систему тестов, получение правильных результатов для которой гарантировало бы правильную работу программы и для остальных исходных данных из области, указанной в техническом задании. Для реализации метода контрольных тестов должны быть изготовлены или заранее известны эталонные результаты, на основании сверки с которыми получаемых тестовых результатов, можно было бы сделать вывод о правильности работы программы на данном тесте. [41]
Как бы ни была тщательно проверена и прокручена программа за столом, решающим этапом, устанавливающим ее пригодность для работы, является контроль программы по результатам ее выполнения на ЭВМ. Для каждого класса задач могут существовать свои особые, предназначенные только для этих задач, способы контроля программ на ЭВМ. Тестом будем называть информацию, состоящую из исходных данных, специально подобранных для отлаживаемой программы, и из соответствующих им эталонных результатов ( не только окончательных, но и промежуточных), используемых в дальнейшем для контроля правильности работы программы. [42]
Случайные числа бывают нужны при решении многих прикладных задач. С их помощью исследуют поведение регуляторов в ответ на случайные отклонения регулируемой величины. Они употребляются для приближенного решения задач вычислительного анализа. Бывают они полезны для проверки правильности работы программы в неожиданных ситуациях. Нужны они в теории игр и других вопросах. [43]
Обычно в процессе составления программы допускаются различные ошибки. Количество их зависит от степени внимательности и опыта программиста. Наличие таких ошибок делает необходимым последний этап программирования - отладку программы, во время которой проверяется по отдельным участкам правильность работы программы непосредственно на машине. [44]
Создание программы для ЭВМ, как правило, включает так называемый этап отладки, который позволяет убедиться в том, что написанная программа не содержит ошибок. Обычно для этой цели используют некоторые упрощенные варианты задачи, решение которых известно или может быть получено сравнительно несложными методами. Если результаты, полученные путем численного расчета по отлаживаемой программе некоторой системы таких тестовых вариантов, близки к точным решениям, то это дает определенную гарантию правильности работы программы. Конечно, система тестов должна быть подобрана так, чтобы обеспечить проверку всех узлов программы. Блочная структура программы дает возможность сделать это по частям, что позволяет быстрее локализовать возможные ошибки. [45]