
- •1.Общие сведения об эвм
- •2.Мультипрограммная эвм
- •3. Представление info в эвм.
- •4.Состав аппаратных средств пк.
- •5.Программное обеспечение пк.
- •7.Понятие алгоритмического языка.
- •11,Оптимизирующие компиляторы.
- •8.Понятие о структурном подходе разработки алгоритма. Основные структуры алгоритма.
- •9.Основные проблемы, связанные с проектированием диалоговых (интерактивных) систем.
- •10. Элементы технологии программирования.
- •12.Методы структурированного программирования.
- •13.Структурное программирование с точки зрения блок-схем.
- •14.Пошаговая детализация.
- •15.Методы тестирования и отладки программ.
- •16.Модульное построение программы.
- •17.Программный модуль. Этапы обработки программ на эвм.
- •18.Загрузчики.
15.Методы тестирования и отладки программ.
Если тестирование программы проводится интуитивно по принципу невмешательства в работу программы и без какого-либо четкого плана испытаний, то этот процесс можно назвать искусством. Если тестированию предшествует тщательный набор данных для контрольных примеров и заблаговременный выбор элементов программы, подлежащих проверке, а само оно выполняется последовательно и аккуратно, то тестирование становится наукой.
Отладка и тестирование – два четко различимых и непохожих друг на друга этапа. В первом случае происходит устранение синтаксических и явных ошибок кодирования, во втором имеет дело с программой, не содержащей отмеченных ошибок и которая выдает какие-то правильные результаты. Основная цель: обязательность общих стадий процесса программирования (необходимость специального планирования временных затрат по каждой из этих стадий в отдельности). Нет необходимости заявлять, что ?
Проблема живучести программы. Напрямую связана с понятием робастностти (независимости к некорректным данным). Живучесть любой программы с увеличением времени ее эксплуатации возрастает, т.к. отказы обнаруживаются и устраняются. Живучая программа – такая программа, которая продолжает сохранять свою работоспособность, несмотря на рассеянность пользователя.
Общие рекомендации: Наиболее важный принцип, относящийся к тестированию программы, он связан с тем, чтобы обеспечивать данную стадию еще до этапа написания программы. Если ответ на вопрос о способе тестирования не ясен, она должна быть либо переписана заново, либо разбита на модули. Процесс проектирования любой программы необходимо осуществлять таким образом, чтобы процесс разработки легко контролировался. И здесь основными компонентами является простота и ясность программы.
Методы тестирования.
Тестирование снизу вверх. Этот широко распространенный метод предполагает первоначальное написание и проверку модулей с самого нижнего уровня. Затем программируются и тестируются модули более высокого уровня и т.д. до тех пор, пока не будет завершено написание всей программы. Недостатки: 1.Метод не дает возможности выявлять серьезные ошибки в алгоритме и интерфейсах почти до окончания проекта, что приводит к переделкам; 2.При каждом новом тестировании элементов различного уровня требуются новые тестовые драйверы и тестовые данные.
Тестирование сверху вниз. Является дополнительным этапом процесса проектирования сверху вниз, сквозного контроля или кодирования сверху вниз. При таком способе или методе разработки программного обеспечения, вначале пишется основная программа, а незапрограммированные модули более низкого уровня заменяются имитирующими их облегченными программами – заглушками. Преимущества: 1.Прозрачность тестирования (стержневая логика программы) тестируется на раннем этапе и эта проверка продолжается по мере добавления новых модулей; 2.При стыковке различных программных систем по методу сверху вниз их взаимодействие проверяется до того, как будут готовы модули нижних уровней; 3.Распределенное тестирование, проводимое фактически на протяжении всей разработки проекта, когда модули тестируются по мере из добавления.
Этапы тестирования:
1.Проверка в нормальных (штатных) условиях работы модуля; 2. Проверка в экстремальных условиях; 3. Проверка в исключительных ситуациях.
Тестирование программы математических вычислений.
1.Ошибки, обусловленные численными результатами (вычисления) – ошибки, связанные с первоначальными данными.
2.Ошибки аналитического усечения. Когда бесконечный процесс математических вычислений заменяется конечным алгоритмом и осуществляется проверка этого алгоритма.
3.Ошибки округления вызываются ограниченной точностью выполнения арифметических операций. Она накапливается ЭВМ в процессе выполнения.
Процесс сопоставления машинных результатов с заранее заданными (до начала тестирования) называется прямым анализом ошибок. Иногда бывает необходимым показать, что полученное машиной решение является точным решением исходной задачи. Такой способ называется обратным анализом ошибок.