Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Узагальнення та систематизація знань.




Принципирозробкипрограм для тестування

Лекція 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; просмотров: 194.

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