Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Узагальнення та систематизація знань.Стр 1 из 3Следующая ⇒
Принципирозробкипрограм для тестування Лекція 1 (2 години) Тема :Застосування технології UniTesK для функціонального тестування моделей апаратного забезпечення Мета:ознайомити студентів з особливостями моделей апаратного забезпечення та методиками програмування для них; визначити особливості тестування моделей апаратного забезпечення; ознайомити з методиками тестування, що пропонуються технологією UniTesK. Література: 1. В.В. Кулямін, А.К. Петренко, А.С. Косачев, И.Б. Бурдонов. ПідхідUniTesKдо розробки тестів. Програмування, 29(6): 25-43, 2003. 2. В. П. Іванников, А.С. Камкін, В.В. Куля мін, А.К. Петренко „Застосування технології UniTesK для функціонального тестування моделей апаратного забезпечення ”, 29(6): 16, 2004 Хід заняття Організаційна частина а) готовність групи до заняття; б) психоемоційний настрій; в) перевірка присутніх; 2. Актуалізація опорних знань студентів: а) повідомлення теми та мети; б) повідомлення основних тез теми. 3. Викладення нового матеріалу: План лекції: 1. Вступ до методологійUniTesK. 2. Короткий огляд технології UniTesK. 3. Архітектура тестової системи UniTesK. 4. Інструмент розробки тестів СTesK. Узагальнення та систематизація знань. Підведення підсумків заняття. 6. Домашнє завдання:вивчити матеріал лекції. 7. Самостійне вивчення:опрацювати теми „Особливості моделей апаратногозабезпечення” та „ТестуванняVerilog-моделей” з Методичного посібника для самостійної роботи або з будь-якого іншого джерела (наприклад, мережі Інтернет). Зміст лекції Технологія тестування UniTesK була розроблена в Інституті системного програмування РАН (ІСП РАН). Первісне й основне призначення технології - розробка якісних функціональних тестів для програмного забезпечення. У даній лекції розглядається нова й досить перспективна область застосування технології UniTesK - функціональне тестування моделей апаратного забезпечення. Під моделями апаратного забезпечення розуміються, насамперед, HDL-моделі (HDL models), тобто моделі, написані на якій-небудь мові опису апаратури (HDL, hardwaredescriptionlanguage), наприклад, на VHDL або Verilog HDL, а також моделі системного рівня, розроблювальні на таких мовах, як System або SystemVerilog. У даній лекції розглянемо моделі цифрового апаратного забезпечення. Відомо, що слабкою ланкою в технологічному ланцюжку проектування складного апаратного забезпечення є функціональна верифікація. Згідно Бергерону (JaniсkBergeron) функціональна верифікація займає близько 70% загальногообсягутрудозатрат, число інженерів, щозаймаються верифікацією, приблизно вдвічі перевершує число проектувальників, а розмір вихідного коду тестів (testbenches) досягає 80% загального розміру коду проекту. Технологія UniTesK і реалізуючі її інструменти були успішно застосовані для тестування різних класів програмних систем: ядер операційних систем, телекомунікаційних протоколів, систем реального часу й т.д. Ключовим моментом в успішності застосування технології UniTesKє гнучка архітектура тестової системи, що дозволяє легко адаптувати технологію до різних класів цільових систем. У лекції розглянемо способи розширення базової архітектури тестової системи UniTesK для функціонального тестування моделей апаратного забезпечення на мовах Verilog HDL і System. Язик Verilog HDL, на ряді з VHDL, є класичною мовою опису апаратури, але, на відміну від останнього, він має близький до мови програмування C синтаксис і стандартний інтерфейс для виклику функцій, написаних на C, що полегшує інтеграцію з інструментом CTesК, крім того, він набагато частіше використовується на практиці для проектування складного апаратного забезпечення. Що стосується System, віна є сучасною й багатообіцяючою мовою системного рівня, що дозволяє моделювати системи зі змішаними апаратними й програмними частинами (HW/SW).Таким чином, це дві досить різні мови: одна - класична мова опису апаратури, інша - сучасна мова системного рівня. Короткий огляд технології UniTesK. Технологія UniTesK була розроблена в ІСП РАН на основі досвіду, отриманого при розробці й застосуванні технології KVEST (kernelverificationandspecificationtechnology). Загальними рисами цих технологій є використання формальних специфікацій у формі перед- і постумовінтерфейснихоперацій і інваріантів типів даних для автоматичної генерації оракулів (компонентів тестової системи, що здійснюють перевірку правильності поводження цільової системи), а також застосування кінцево-автоматних моделей для побудови послідовностей тестових впливів. На відміну від технології KVEST, у якій для специфікації вимог використовуваласьмова RSL (RAISE specificationlanguage), технологія UniTesK використовуєрозширення широко відомих мов програмування. На даний момент в ІСП РАН розроблені інструменти, що підтримують роботу зрозширенняммов C, Java і C#: CTes , J@T і Ch@se відповідно. Архітектура тестової системи UniTesK. Архітектура тестової системи UniTesK була розроблена на основі багаторічного досвіду тестування промислового програмного забезпечення з різних предметних областей і різного ступеня складності. Облік цього досвіду дозволив створити гнучку архітектуру, засновану на наступному поділізавдання тестування на підзавдання: • Побудова послідовності тестових впливів, націленої на досягнення потрібного покриття. • Створення одиничного тестового впливу в рамках послідовності. • Установленнязв'язку між тестовою системою й реалізацією цільової системи. • Перевірка правильності поводження цільової системи у відповідь на одиничний тестовий вплив. Для рішення кожного із цихпідзавдань передбачені спеціальні компоненти тестової системи: для побудови послідовності тестових впливів і створення одиничних впливів – обхідник таітератор тестових впливів, для перевірки правильності поводження цільової системи - оракул, для встановлення зв'язку між тестовою системою й реалізацією цільової системи - медіатор. Розглянемо докладніше кожний із зазначених компонентів.
Мал.5.1. Архітектура тестової системи UniTesК. Обхідник є бібліотечним компонентом тестової системи UniTesK і призначений разом зітератором тестових впливів для побудови послідовності тестових впливів. В основі обхідника лежить алгоритм обходу графустанів кінцевого автомата, що моделює цільову систему на деякому рівні абстракції. Ітератор тестових впливів працює під управлінням обхідника й призначений для перебору в кожному досяжному стані кінцевого автомата припустимих тестових впливів. Ітератор тестових впливів автоматично генерується з тестового сценарію, що представляє собою опис кінцево-автоматної моделі цільової системи. Оракул оцінює правильність поводження цільової системи у відповідь на одиничний тестовий вплив. Він автоматично генерується на основі формальних специфікацій, що описують вимоги до цільової системи у вигляді перед- і постумовінтерфейсних операцій і інваріантів типів даних. Медіатор зв'язує абстрактні формальні специфікації, що описують вимоги до цільової системи, з конкретною реалізацією цільової системи. Траса тесту відбиває події, що відбуваються в процесі тестування. На основі траси можна автоматично генерувати різні звіти, що допомагають в аналізі результатів тестування. Інструмент розробки тестів CTesК. Інструмент CTesК, є реалізацією концепції UniTesК для мови програмування C. Для розробки компонентів тестової системи в ньому використається язик SeС (specificationextensionof C), що є розширенням ANSI C. Інструмент CTesК містить у собі транслятор з язика SeС в C, бібліотеку підтримки тестової системи, бібліотеку специфікаційнихтипів і генератори звітів. Для користувачів Windows є модуль інтеграції в середовище розробки Microsoft VisualStudio 6.0. Компоненти тестової системи UniTesК реалізуються в інструменті CTesК за допомогою спеціальних функцій язика SeС, до яких відносяться: • специфікаційні функції - містять специфікацію поводження цільової системи у відповідь на одиничний тестовий вплив, а також визначення структури тестового покриття; • медіаторні функції - зв'язують специфікаційні функції з тестовими впливами на цільову систему; • функція обчислення стану тесту - обчислює стан кінцевого автомата, що моделює цільову систему. • сценарні функції - описують набір тестових впливів для кожного досяжного стану тесту. На даний момент досвід застосування технології UniTesк і інструмента CTesС для тестування моделей апаратного забезпечення обмежується невеликими прикладами. Багато складних питань такі, як декомпозиція специфікацій для спрощення опису складних систем, тестування систем з таймерами, а також тестування систем зі змішаними апаратними й програмними частинами залишилися в лекції нерозглянутими. Те ж відноситься до питань про можливість більше тісної інтеграція технології UniTesK і інструмента CTesС з конкретними симуляторами й бібліотеками.
Лекція 2 (2 години) Тема: Супровід програмного забезпечення Мета:ознайомити студентів зі стандартами, що застосовуються до супроводу; вивчити етапи супроводу та типи супроводу програмного забезпечення. Література: 1. Основи програмної інженерії (по SWEBOK)Російський переклад SWEBOK 2004 з примітками та коментарями підготований Сергієм Орликом при участі Юрія Булуя. Додаткові розділи написані Сергієм Орликом Хід заняття Організаційна частина а) готовність групи до заняття; б) психоемоційний настрій; в) перевірка присутніх; 2. Актуалізація опорних знань студентів: а) повідомлення теми та мети; б) повідомлення основних тез теми. 3. Викладення нового матеріалу: 1. Основні поняття супроводу програмного забезпечення 2. Завдання, що вирішуються на етапі супроводу. 3. Категорії супроводу програмного забезпечення. 4. Проблеми, що виникають на етапі супроводу. План лекції: Узагальнення та систематизація знань. |
||
Последнее изменение этой страницы: 2018-05-10; просмотров: 229. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |