Для компьютеров прошлых поколений процесс отладки программ состоял из

Обновлено: 06.07.2024

Отладка - этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, приходится:

· узнавать текущие значения переменных;

· выяснять, по какому пути выполнялась программа.

Существуют две взаимодополняющие технологии отладки.

· Использование отладчиков - программ, которые включают в себя пользовательский интерфейс для пошагового выполнения программы: оператор за оператором, функция за функцией, с остановками на некоторых строках исходного кода или при достижении определённого условия.

· Вывод текущего состояния программы с помощью расположенных в критических точках программы операторов вывода - на экран, принтер, громкоговоритель или в файл. Вывод отладочных сведений в файл называется журналированием.

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

Тестирование программного обеспечения - процесс исследования программного обеспечения (ПО) с целью получения информации о качестве продукта.

Существует множество подходов к решению задачи тестирования и верификации ПО, но эффективное тестирование сложных программных продуктов - это процесс в высшей степени творческий, не сводящийся к следованию строгим и чётким процедурам или созданию таковых.

Качество программных средств можно определить как совокупную характеристику исследуемого ПО с учётом следующих составляющих:

Обработка ошибок в программе

Возникновение ошибок - это часто встречающаяся неприятность в программном обеспечении. Для получения нормальных результатов работы, пользователь должен уметь вовремя замечать и устранять возникающие ошибки.

Самый лучший способ повысить качество ПО это стараться не допускать ошибок в процессе ввода исходного текста.

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

В ходе проверки программного комплекса было обнаружено наличие ошибок таких как:

Неправильная работа запросов (ошибка при вводе формулы). Эти ошибки были устранены путем введения правильных формул.

Ошибка при вводе фамилии клиента, при вводе даты несоответствующего формата, при вводе несуществующего номера абонента.

Эти ошибки были устранены путем правильного ввода соответствующих сведений.

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

Инструкция пользователю

Разработанную программу можно запустить несколькими способами. Например, из программы Microsoft Access из папки, в которой установлена программа «Подключение абонентов к сети». Рекомендуется запустить программу, используя ярлык на Рабочем столе.

После запуска программы «Подключение абонентов к сети» на экране появляется форма запуска программы, в которой имеются две кнопки: кнопка запуска главной формы проекта и кнопка выхода.

При нажатии на кнопку запуска программы на экране появляется главная кнопочная форма проекта.

Кнопочная форма - обыкновенная форма с кнопками, обеспечивающая возможность выполнения запросов, открытия форм и вывод на печать отчетов.

Главная кнопочная форма проекта имеет 3 вкладки: Формы, Шаблоны заявлений и Отчеты.

В первой вкладке «Формы» имеются 5 кнопок, отображающие переходы к соответствующим формам системы. Рассмотрим их подробнее:

Сведения о абонентах;

Сведения о номерах;

Сведения о тарифах.

1. Форма «Реестр подключений» позволяет ввести сведения о всех подключениях салона сотовой связи «РИТМ»

. Форма «Реестр заявлений» позволяет ввести сведения об операциях, связанных с заполнением заявлений по образцу.

1. Форма «Сведения о абонентах»» позволяет ввести данные о клиентах салона сотовой связи «РИТМ»

2. Форма «Сведения о номерах» позволяет ввести данные о абонентских номерах клиентов и подключенных тарифных планах.

. Форма «Сведения о тарифах» позволяет ввести данные об услугах тарифов сети «Мегафон»

Во второй вкладке «Шаблоны заявлений» представлены 6 кнопок, отображающие разновидности шаблонов заявлений по различным проблемам:

· Заявление на восстановление закрытого номера - оформляется в случае прекращения использования абонентского номера более 3-х месяцев по причине блокировки либо потери SIM-карты.

· Заявление на замену SIM карты - оформляется в случае порчи SIM-карты, не подлежащей физическому восстановлению.

· Заявление на перенос ошибочного платежа - оформляется в случае неверного занесения абонентского номера при пополнении счета. Возможно только в случае ошибки при занесении не более 2-х цифр номера.

· Заявление на переоформление договора - оформляется в случае переоформления номера телефона с одного абонента на другого при предоставлении паспорта и при условии регистрации данного номера.

· Заявление на подключение/отключение услуг - оформляется по просьбе абонента в случае добровольного подключения к предоставляемым услугам сети либо отказа от них.

По итогам каждого дня формируется документ «Отправленные заявления», в котором указаны все сведения о абонентах и поданных ими заявлениях, которые рассматриваются и проверяются. Каждому заявлению присваивается статус: Выполнено/Не выполнено. После чего данные направляются в главный центр салона в г.Кисловодск. В итоге по полученным данным сведения заносятся в форму «Отправленные заявления».

Вкладка «Отчеты» главной кнопочной формы включает шесть простых отчетов: Реестр подключений, Реестр заявлений», «Сведения о абонентах», «Сведения о номерах», « Сведения о тарифах», «Отправленные заявления» и пять отчетов по выборке, созданных на основе запросов программы.

Рассмотрим подробнее простые отчеты:

1. Отчет «Реестр заявлений» включает поля: абонентский номер, дата заявления, абонентский номер новый, тип заявления, серия/номер паспорта, ФИО абонента.

2. Отчет «реестр подключений»включает поля: Абонентский номер, серия номер паспорта, дата подключения, тарифный план, подключен.

. Отчет «Сведения о абонентах» включает поля: ФИО абонента, серия номер паспорта, паспорт выдан, домашний адрес.

. Отчет «Сведения о номерах» включает поля: абонентский номер и тарифный план.

. Отчет « Сведения о тарифах» включает поля: тарифный план, Условия тарифа.

Программа формирует следующие отчеты на выборку:

· По номеру абонента;

· По статусу отправленного заявления;

· По тарифному плану;

· По типу заявления;

· По ФИО абонента.

1. Отчет «По номеру абонента» создавался на основе запроса «Выборка по абонентскому номеру».

В представленной форме размещено одно поле с фиксированным списком: Абонентский номер. Поле предназначено для ввода данных, с помощью которых совершается поиск по данному критерию.

В появившемся окне вводим номер телефона, после чего открывается отчет.

2. Отчет «По статусу отправленного заявления» создавался на основе запроса «Выборка по статусу отправленного заявления».

Выбор критерия поиска будет производиться по двум полям: Статус и Создан.

. Отчет «По тарифному плану» создавался на основе запроса «тарифный план по дате».

Выбор критерия поиска будет производиться по двум полям: Дата подключения и Тарифный план.

. Отчет «По типу заявления» создавался на основе запроса «Выборка по типу заявления».

Выбор критерия поиска будет производиться по двум полям: Дата подключения и Тип заявления.

. Отчет «По ФИО абонента» создавался на основе запроса «Выборка по ФИО».

Выбор критерия поиска будет производиться по одному полю: ФИО абонента.

Завершение работы с программой осуществляется с помощью нажатия на кнопку «Выход».

Отладка программы — один их самых сложных этапов разработки программного обеспечения, требующий глубокого знания:

• специфики управления используемыми техническими средствами,

• среды и языка программирования,

• природы и специфики различных ошибок,

• методик отладки и соответствующих программных средств.

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

В целом сложность отладки обусловлена следующими причинами:

• требует от программиста глубоких знаний специфики управления используемыми техническими средствами, операционной системы, среды и языка программирования, реализуемых процессов, природы и специфики различных ошибок, методик отладки и соответствующих программных средств;

• психологически дискомфортна, так как необходимо искать собственные ошибки и, как правило, в условиях ограниченного времени;

• возможно взаимовлияние ошибок в разных частях программы, например, за счет затирания области памяти одного модуля другим из-за ошибок адресации;

• отсутствуют четко сформулированные методики отладки.

В соответствии с этапом обработки, на котором проявляются ошибки, различают (рис. 10.1):


синтаксические ошибки - ошибки, фиксируемые компилятором (транслятором, интерпретатором) при выполнении синтаксического и частично семантического анализа программы; ошибки компоновки - ошибки, обнаруженные компоновщиком (редактором связей) при объединении модулей программы;

ошибки выполнения - ошибки, обнаруженные операционной системой, аппаратными средствами или пользователем при выполнении программы.

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

Следует иметь в виду, что чем лучше формализованы правила синтаксиса языка, тем больше ошибок из общего количества может обнаружить компилятор и, соответственно, меньше ошибок будет обнаруживаться на следующих этапах. В связи с этим говорят о языках программирования с защищенным синтаксисом и с незащищенным синтаксисом. К первым, безусловно, можно отнести Pascal, имеющий очень простой и четко определенный синтаксис, хорошо проверяемый при компиляции программы, ко вторым - Си со всеми его модификациями. Чего стоит хотя бы возможность выполнения присваивания в условном операторе в Си, например:

if (c = n) x = 0; /* в данном случае не проверятся равенство с и n, а выполняется присваивание с значения n, после чего результат операции сравнивается с нулем, если программист хотел выполнить не присваивание, а сравнение, то эта ошибка будет обнаружена только на этапе выполнения при получении результатов, отличающихся от ожидаемых */

Ошибки компоновки. Ошибки компоновки, как следует из названия, связаны с проблемами,

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

Ошибки выполнения. К самой непредсказуемой группе относятся ошибки выполнения. Прежде всего они могут иметь разную природу, и соответственно по-разному проявляться. Часть ошибок обнаруживается и документируется операционной системой. Выделяют четыре способа проявления таких ошибок:

• «зависание» компьютера, как простое, когда удается завершить программу без перезагрузки операционной системы, так и «тяжелое», когда для продолжения работы необходима перезагрузка;

• несовпадение полученных результатов с ожидаемыми.

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

• неверное определение исходных данных,

• накопление погрешностей результатов вычислений (рис. 10.2).

Н е в е р н о е о п р е д е л е н и е и с х о д н ы х д а н н ы х происходит, если возникают любые ошибки при выполнении операций ввода-вывода: ошибки передачи, ошибки преобразования, ошибки перезаписи и ошибки данных. Причем использование специальных технических средств и программирование с защитой от ошибок (см.§ 2.7) позволяет обнаружить и предотвратить только часть этих ошибок, о чем безусловно не следует забывать.

Л о г и ч е с к и е о ш и б к и имеют разную природу. Так они могут следовать из ошибок, допущенных при проектировании, например, при выборе методов, разработке алгоритмов или определении структуры классов, а могут быть непосредственно внесены при кодировании модуля.

К последней группе относят:

ошибки некорректного использования переменных , например, неудачный выбор типов данных, использование переменных до их инициализации, использование индексов, выходящих за границы определения массивов, нарушения соответствия типов данных при использовании явного или неявного переопределения типа данных, расположенных в памяти при использовании нетипизированных переменных, открытых массивов, объединений, динамической памяти, адресной арифметики и т. п.;

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

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

другие ошибки кодирования , например, неправильная реализация логики программы при кодировании, игнорирование особенностей или ограничений конкретного языка программирования.

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

Все указанные выше причины возникновения ошибок следует иметь в виду в процессе отладки. Кроме того, сложность отладки увеличивается также вследствие влияния следующих факторов:

опосредованного проявления ошибок;

возможности взаимовлияния ошибок;

возможности получения внешне одинаковых проявлений разных ошибок;

отсутствия повторяемости проявлений некоторых ошибок от запуска к запуску – так называемые стохастические ошибки;

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

написания отдельных частей программы разными программистами.

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

ручного тестирования;

обратного прослеживания.

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

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

Данный метод часто используют как составную часть других методов отладки.

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

В процессе доказательства пытаются выяснить, все ли проявления ошибки объясняет данная гипотеза, если не все, то либо гипотеза не верна, либо ошибок несколько.

Метод дедукции. По методу дедукции вначале формируют множество причин, которые могли бы вызвать данное проявление ошибки. Затем анализируя причины, исключают те, которые противоречат имеющимся данным. Если все причины исключены, то следует выполнить дополнительное тестирование исследуемого фрагмента. В противном случае наиболее вероятную гипотезу пытаются доказать. Если гипотеза объясняет полученные признаки ошибки, то ошибка найдена, иначе - проверяют следующую причину (рис. 10.4).

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

Второе поколение компьютеров создавалось в период с 1955 по 1964 г.

Важное событие, определившее возможность перехода на новую элементную базу в производстве компьютеров, произошло в 1926 году. Юлиус Эдгар Лилиенфелд (Dr. Julius Edgar Lilienfield) получил патент под названием "Метод и прибор для управления электрическими токами" (Method and apparatus for controlling electric currents), а почти 20 лет спустя, в 1945 году, специалисты компании Bell Laboratories начали изучение полупроводниковых материалов, что в конечном итоге вылилось в создание первого точечного германиевого транзистора. Дальнейшие исследования поупроводниковых материалов привели к созданию плоскостных кремниевых транзисторов.

В 1953 году В Массачусетском технологическом институте был разработан первый экспериментальный компьютер на транзистарах ТХ-0 (в 1955 году он был введен в эксплуатацию).

1953%20MIT%20TX0.jpg

Подчеркнем основные особенности компьютеров 2-го поколения:

  • Переход на полупроводниковую элементную базу повысил надежность вычислительных систем, произошло уменьшение габаритов и энергопотребления, снизилась стоимость компьютера в целом и стоимость выполнения одной операции, возник новый критерий оценки компьютера - цена/производительность.
  • В связи с переходом на ферриты в схемах оперативного запоминающего устройства (ОЗУ) произошло удешевление ОЗУ и системы управления памятью, увеличился объем оперативной памяти. В арифметическое устройство стали встраиваться сверхбыстрые запоминающие устройства- регистры на транзисторах.
  • Появляется новый тип команд, связанный с применением регистров. Расширяется количество устройств ввода/вывода.
  • Появляются внешние запоминающие устройства на магнитных лентах, магнитных барабанах, магнитных дисках, магнитных картах.
  • Кроме устройств считывания и записи на перфоленты появляются устройства вывода на алфавитно-цифровые печатающие устройства, вывод на телетайп, прием и передача данных по телеграфу.
  • Общее устройство управления становилось слишком большим, поэтому появляются дополнительно местные устройства управления.
  • Развиваются языки высокого уровня (Алгол60, Кобол, Фортран2) и трансляторы к ним. Компьютеры стали широко использоваться для экономических расчетов.
  • Появляется пакетная обработка данных. В компьютерах первого поколения вручную выполнялись операции ввода программы и вывода результатов. Во втором поколении применение запоминающих устройств на магнитных лентах позволяло записывать на магнитной ленте несколько программ, которые автоматически выполнялись в компьютере одна за другой и в той же последовательности результаты записывались на другую ленту. Этот вид обработки получил название пакетной обработки. Пакетный режим работы больших универсальных компьютеров второго поколения лишал пользователя

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

В 1951 году М.Уилкс и Д.Стринджер обнародовали идею микропрограммного управления, но только в 1957 году был построен первый компьютер EDSAC-2 c микропрограммным управлением. Сущность микропрограммного управления состоит в том, что любая машинная операция выполняется как последовательность микроопераций.

В 1955 году Белл лаборатория (Bell Laboratories) анонсировала первый полностью транзисторный компьютер TRADIC.

1955.jpg

В 1957 году был выпущен первый специализированный бизнес омпьютер корпорацией NCR под названием NCR304. С первых лет появления компьютеров они применялись не только для расчетов, но и для управления производственными процессами. Компьютеры управляли процессами в доменных печах, прокатных станах, управляли военными обьектами.

В 1958 была создана система SAGE (Semi-Automatic Ground Environment), осуществлявшая объединение радарных станций США и Канады в первую крупномасштабную компьютерную сеть. Воздушная система защиты базировалась на компьютере AN/FSQ-7, известном как Whirlwind II (Вихрь II), компьютер потреблял мощность 1 Мега-ватт для питания 55000 электронных ламп, 175000 диодов, 13000 транзисторов.

1959 году был создан первый мини-компьютер, компьютер, предназначенный для управления технологическими процессами, с обработкой информации о протекающем процессе, под названием PDP1, разработанный корпорацией DEC (Digital Eguipment Corporation).

dec_spacewar.jpg

Мини компьютеры отличаются от компьютеров общего назначения и от специализированных компьютеров, специально предназначенных для управления производственными процессами. Основными особенностями миникомпьютеров являются:

  • использование общей шины;
  • модульность структуры - компьютер состоит из отдельных, конструктивно оформленных модулей, каждый модуль выполняет определенные функции, структуру компьютера можно изменять присоединением дополнительных модулей к общей шине;
  • укороченное слово, так как датчики, поставляющие данные для обработки не имели достаточно высокой точности измерений, кроме того, такая высокая точность не требовалась для управления большинством объектов;
  • уменьшенный обьем оперативной памяти;
  • передовая технология;
  • простая и дешевая периферия;
  • меньший объем программного обеспечения;
  • низкая стоимость.

В СССР в 1961 г. был начат серийный выпуск первой полупроводниковой вычислительной машины "Раздан 2". Машина была предназначена для решения научно-технических и инженерных задач, не требовавших высокой производительности (скорость вычислений - до 5 тысяч операций в 1 секунд). Оперативное запоминающее устройство было выполнено на ферритовых сердечниках. Для расширения круга решаемых задач, требующих большого объема памяти, в машине предусмотрно внешнее запоминающее устройство — накопитель на магнитной ленте.

В 1967 году в России была создана самая мощная вычислительная машина семейства БЭСМ - БЭСМ6, высокопроизводительная и оригинальная по архитектуре отечественная вычислительная машина на транзисторной элементной базе. Это была вычислительная машина мирового уровня.

image004.jpg

В структуру компьютеров второго поколения был введен специализированный процессор, управляющий обменом данных между устройствами ввода/вывода и основной памятью. Это управление осуществляется программой ввода/вывода, которая считывается из основной памяти и выполняется процессором ввода/вывода автономно. Для обеспечения возможности совместной работы процессора ввода/вывода и центрального процессора были введены прерывания работы центрального процессора по сигналу от процессора ввода/вывода.

Появились компьютеры со стеком. Это KDF9 фирмы Electrik (Великобритания) и В5000 фирмы Burroughs (США), выполняющие безадресные команды, стек использовался вместо регистра-аккумулятора, в него последовательно заносились данные, которые извлекались при выполнении операции, результат операции заносился в верхнюю ячейку стека. Машины такой конфигурации получили название стековых.

В апреле 1961 года был введен в строй компьютер FX1, разработанный Линкольновской лабораторией Массачусетского технологического института. Разработка носила экспериментальный характер и преследовала цель - достичь максимальных вычислительных возможностей за счет использования наиболее передовых достижений в технологии. В компьютере впервые в качестве основного запоминающего устройства была использована память на тонких магнитных пленках. Емкость памяти составляла 1024 числа из 13 двоичных разрядов. Полный цикл обращения к памяти составлял 0,37мксек.

В 1959 г. под руководством Н.П.Брусенцова на вычислительном центре Московского университета была разработана малая цифровая вычислительная машина, предназначенная для решения научно-технических и экономических задач средней сложности "Сетунь".

"Сетунь" имела 2 ступени памяти: память на магнитном барабане, емкостью 1944 или 3888 коротких слов, и оперативное запоминающее устройство на ферритовых сердечниках, емкостью 162 коротких слова (пересылка из одного устройства в другое осуществлялось группами по 54 коротких слова.

К вычислительным машинам второго поколения относятся такие отечественные вычислительные машины, как Урал14, Урал16, Минск22, Минск23, Минск32, БЭСМ3, БЭСМ4, М220, М222, БЭСМ6, МИР2, Наири и др.

Компьютер "Атлас" был разработан под руководством Т.Килбурна в Манчестерском университете совместно с фирмой "Ферранти" и в 1961 году был установлен в университете. В компьютере "Атлас" впервые была применена страничная организация машинной памяти, получившая широкое распространение в универсальных компьютерах 60 годов.

В годы с 1955 по 1961 в США фирмой IBM разрабатывался проект "Stretch", оказавший большое влияние на развитие структуры универсальных компьютеров. В проекте были воплощены все известные к 1960 году структурные принципы повышения производительности, такие как:

  • совмещение операций, характерное для мультипрограммирования;
  • разделение времени работы различных блоков и устройств, выполняющих одну команду;
  • cовмещение во времени подготовки и выполнения нескольких команд одновременно;
  • параллельное выполнение нескольких независимых программ.

Наряду с компьютерами фирмы IBM мощные вычислительные системы разрабатывались и другими фирмами. Наиболее мощной вычислительной системой, разработанной до 1965 года был компьютер ", Control Data Corp. 6600". Разработка проекта была начата в 1957 году по заказу Комиссии по атомной энергии США. В состав системы входило 11 устройств обработки данных, в том числе центральный процессор и 10 компьютеров-спутников. Каждый компьютер-спутник имел оперативное запоминающее устройство емкостью 4096 слов по 12 двоичных разряда. Мультипроцессорная организация позволяла эффективно совмещать во времени работу отдельных компонентов системы.

cdc6600computer1964chm.jpg

Компьютер "CDC 6600" использовался при решении научных задач в области ядерной физики. Первый экземпляр компьютера был установлен вычислительным центром " Control Data Corporation" в августе 1964 года в г. Лос-Анжелес. К середине 1965 года было введено еще три экземпляра, один из них был установлен в Европейском центре ядерных исследований. Еще пять компьютеров были установлены в крупнейших атомных научных центрах США.


Процесс отладки включает:

Существуют несколько эмпирических правил проведения тес­тирования программ, обобщающих опыт тестировщиков.

Тестирование - это деятельность, направленная на обнаружение ошибок.

Тестирование модуля иногда включает математическое доказательство.

Тестирование сопряжений (integration testing) - контроль сопряжений между частями системы (модулями, компонентами, подсистемами).

Тестирование внешних функций (external function testing) - контроль внешнего поведения, определенного внешними спецификациями.

Тестирование приемлемости (acceptance testing) - проверка соответствия программы требованиям пользователя.


Стратегия проектирования тестов

Ни одна из этих крайностей не является хорошей стратегией.

Модифицированный нисходящий метод

Метод большого скачка

Метод большого скачка значительно усложняет отладку.

Модифицированный метод сандвича

Сравнение методов тестирования


Второй критерий - время до момента создания первых работающих «скелетных» версий программы, поскольку здесь могут проявиться главные дефекты проектирования.



Рис. 16. Структура пакета из 9 модулей

Оказывается, что при пошаговой сборке сверху-вниз нужно разработать девять заглу­шек, но не нужны драйверы.

При тестировании снизу-вверх процесс организуется следую­щим образом: тестируются модули низшего уровня - М5, М6, М7, М8, М9. Для каждого из них нужен драйвер.

Таким образом, при восходящем тестиро­вании нужно будет разработать максимум восемь драйверов, но заглушки не потребуются.

Несколько иначе организуются испытания коммерческих паке­тов прикладных программ, создаваемых по инициативе разработ­чиков для широкого круга пользователей при отсутствии конкретно­го заказчика.

В последнее время фирмы-разработчики стали выкладывать бета-версии программ на свои Web-сайты, позволяя всем желаю­щим скачивать их, тем самым, увеличивая контингент доброволь­ных тестировщиков. Обратная связь организуется либо через сис­тему конференций на сайте разработчика, либо посредством электронной почты. Отладка программного средства. Основные понятия

Лишь та ошибка, что не исправляется.


Во втором случае стратегия базируется на принципе: каждая команда каждой программы ПС должна проработать хотя бы на одном тесте.

Заповеди отладки программного средства

Автономная отладка программного средства

К достоинствам восходящего тестирования относятся:

Недостатками восходящего тестирования являются следующие его особенности:

К достоинствам нисходящего тестирования относятся следующие его особенности:

Комплексная отладка программного средства

Основными видами испытания программных продуктов (ПП) являются:

Оценку результатов испытания производит комиссия при активном участии разработчиков.

Технологическая схема испытания

Любому виду испытаний должна предшествовать тщательная подготовка.

В подготовку испытаний ПС входят следующие мероприятия:

На основании изложенного можно определить следующие пять этапов испытания:


Рис. 18. Технологическая схема испытания ПС


общее количество дефектов, которое может проявиться за время эксплуатации ПС;

коэффициент сжатия тестов.


В качестве критерия завершенности испытания можно принять достижение требуемого (заданного) значения средней наработки на отказ Т0.

Читайте также: