Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Відлагодження і тестування




Цей етап рішення задачі вимагає частих контактів з ЕОМ. Спілкування користувачів з ЕОМ залежить від режимів проходження програм через машину, які забезпечує операційна система (ОС): пакетна (конвеєрна) обробка і інтерактивна обробка (діалог).

Дуже рідко програма після першого введення в комп'ютер (незалежно від режиму обробки в ОС) починає видавати бажані результати, оскільки спроектовані фахівцем структура даних, алгоритм і програма зазвичай містять помилки. Їх треба виявити, усвідомити і виправити. Процес виявлення і виправлення всіх помилок в програмі, допущених на попередніх етапах рішення задачі, а також процес встановлення факту правильного функціонування програми в ЕОМ, називається відлагодженням програми. Основне завдання відлагодження − якнайшвидша локалізація всіх помилок при мінімальних витратах машинного часу. Цей процес вельми трудомісткий, такий, що вимагає великої розумової напруги; витрати машинного часу можуть бути значними. Відлагодження є дуже важливим етапом рішення задачі на ЕОМ, тому даний процес повинен бути наперед продуманий і ретельно спланований.

Процес відлагодження складається з наступних основних кроків:

1) перевірка синтаксичної правильності тексту програми;

2) автономне відлагодження частин програми;

3) комплексне відлагодження програми і алгоритму в цілому.

Синтаксичний контроль тексту програми виконує
транслятор з вхідної мови програмування. Без усунення синтаксичних помилок пошук семантичних і алгоритмічних помилок неможливий.

Автономне відлагодження служить для перевірки роботи алгоритму. Для спрощення відлагодження програм підвищеної складності їх доцільно розчленовувати на незалежні частини (модулі, сегменти). Мови високого рівня дозволяють транслювати і відлагоджувати такі автономні частини окремо, до об'єднання їх в загальну програму. При відлагоджуванні частин програми спочатку перевіряються лінійні ділянки, тобто послідовності операторів мови без циклів і переходів, потім логіка, тобто вибір потрібної гілки алгоритму у разі альтернатив, управління числом повторень в циклах, безумовні переходи і т.п. Для проведення автономного відлагодження необхідно підготувати набір контрольних прикладів − тестів відлагодження, які слугують зразками для порівняння з машинними результатами. Тести обчислюються традиційним способом, тобто вручну із залученням таблиць спеціальних математичних функцій (наприклад, функцій Бесселя, Ханкеля). З точки зору об'єму обчислень тести повинні бути по можливості простими і в той самий час вони повинні забезпечувати перевірку всіх логічних особливостей алгоритму.

Комплексне відлагодження полягає в перевірці правильності виконання всіх автономних частин програми, зв'язаних в єдине ціле за допомогою головної (ведучої) програми. Перевіряються правильність виклику всіх програмних одиниць і обмін даними між ними, а також операції введення і виведення інформації в програмі.

Автономне відлагодження дозволяє виявити основну масу помилок (близько 80%). Проте витрати часу на пошук кожної помилки, що залишилася, у великих програмах з складною логічною структурою може зростати в 10-20 разів. Тому загальна трудомісткість відлагодження програм може бути в кілька разів вища за трудомісткість автономного відлагодження

Автономне і комплексне відлагодження істотно спрощуються, якщо у використовуваній системі програмування є набір спеціальних відлагоджуючих, тестуючих і редагуючих програм.

Завершує комплексне відлагодження розрахунок (прогін) одного-двох контрольних варіантів модельованого на ЕОМ дослідницького завдання, конкретні рішення для яких відомі або легко прогнозуються. Основне завдання тепер – переконатися в повній працездатності і ефективності чисельного методу (дискретній моделі). Звичайні наступні види помилок: неповний облік діапазонів змінних, неправильна оцінка точності початкових, проміжних даних і одержуваних результатів обробки; невірний облік кореляції між різними змінними; неадекватне визначення формалізованих умов в постановці завдання і т.д. Таким чином, процес усунення подібних помилок можна трактувати як уточнення, деталізацію і доопрацювання початкової постановки завдання.

У ряді випадків корисним прийомом виявлення помилок в чисельному алгоритмі є організація контролю фізичного сенсу одержуваних результатів, для чого в завдання доцільно вводити непрямі перевірки або умови, яким повинні задовільняти результати рішення. Ці умови, що безпосередньо в програмі не використовуються, відображають деякі додаткові зв'язки між шуканими величинами. Наприклад, до таких умов відносяться: обмеження на суму нев'язок правих частин при рішенні систем рівнянь алгебри; точність виконання деяких інтегральних співвідношень (законів збереження маси, енергії, імпульсу) при рішенні рівнянь математичної фізики різницевими методами і т.д. У разі порушення таких умов слід припинити обчислення і зайнятися пошуком помилок в алгоритмі або вибраному чисельному методі. Якщо метод і алгоритм виявляться малоефективними (наприклад, повільна збіжність ітерацій, чисельна нестійкість, часті звернення до зовнішньої пам'яті або повільного друку), доведеться зайнятися питаннями їх поліпшення, оптимізації, а іноді і корінної заміни.




Поделиться с друзьями:


Дата добавления: 2014-11-25; Просмотров: 3056; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.