Файл: Практична робота №5.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 13.04.2024

Просмотров: 7

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Практична робота № 5

Тема: Нисхідне тестуваня.

Мета: Освоїти на практиці методи спадного тестування програмних продуктів та програмування тимчасових заглушок. Сформувати тестові набори та побудувати діаграму включення модулів.

Теоретичний розділ

Нисхідне тестування (зване також спадною розробкою) не є повною протилежністю висхіднону, але в першому наближенні може розглядатися як таке. При спадному підході програма збирається й тестується «зверху вниз». Ізольовано тестується тільки головний модуль. Після того як тестування цього модуля завершено, з ним з'єднуються (наприклад, редактором зв'язків) один за іншим модулі, безпосередньо викликувані їм, і тестується отримана комбінація. Процес повторюється доти, поки не будуть зібрані й перевірені всі модулі. Варто відзначити, що модулі підєднуються по одному за кожен тест!

При цьому підході негайно виникають два питання: 1. «Що робити, коли тестований модуль викликає модуль більше низького рівня (якого в цей момент ще не існує)?» й 2. «Як подаються тестові дані?»

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

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

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


Перевагою спадного підходу дуже часто вважають відсутність необхідності в драйверах; замість драйверів вам просто варто написати «заглушки».

Спадний метод тестування має, на жаль, деякі недоліки. Основним з них є те, що модуль рідко тестується досконально відразу після його підключення. Справа в тому, що ґрунтовне тестування деяких модулів може зажадати вкрай витончених заглушок. Програміст часто вирішує не витрачати масу часу на їхнє програмування, а замість цього пише прості заглушки й перевіряє лише частину умов у модулі. Він, звичайно, збирається повернутися й закінчити тестування розглянутого модуля пізніше, коли забере заглушки. Такий план тестування — очевидно не краще рішення, оскільки про відкладені умови часто забувають.

Другий тонкий недолік спадного підходу полягає в тому, що він може породити віру в можливість почати програмування й тестування верхнього рівня програми до того, як вся програма буде повністю спроектована. Ця ідея на перший погляд здається економічною, але зазвичай справи виявляються зовсім протилежними. Більшість досвідчених проектувальників визнає, що проектування програми - процес ітеративний. Рідко перший проект виявляється здійсненим. Нормальний стиль проектування структури програми припускає по закінченні проектування нижніх рівнів повернутися назад і підправити верхній рівень, вносячи в нього деякі вдосконалення або виправляючи помилки, або іноді навіть викинути проект і почати все спочатку, тому що розроблювач раптово побачив кращий підхід. Якщо ж головна частина програми вже запрограмована й протестована, то виникає серйозний опір будь-яким поліпшенням її структури. В остаточному підсумку за рахунок таких поліпшень звичайно можна заощадити більше, ніж ті кілька днів або тижнів, які розраховує виграти проектувальник, приступаючи до програмування занадто рано.

Практичний розділ

Завдання до виконання наведені в додатку до роботи.

Виконання роботи передбачає наступну послідовність дій:

  1. Створення (визначення) головного керуючого модуля;

  2. Проектування заглушок кількох типів;

  3. Сторення тестових варіантів;

  4. Виконання тестування;

  5. Оформлення результатів.

Звіт має містити:

1. Схему інтеграції;

2. Тексти заглушок;

3. Тестові варіанти;

4. Результати тестування у вигляді скріншотів.

Контрольні питання


  1. Поясніть коротко принцип нисхідного тестування.

  2. Які труднощі можуть виникнутипри такому методі розробки? Як їх подолати?

  3. Що таке заглушка? В чому її призначення?

  4. Коротко опишіть переваги нисхідного методу. Наведіть приклади.

  5. Коротко опишіть недоліки нисхідного методу. Наведіть приклади.