Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 4 Проектування.doc
Скачиваний:
13
Добавлен:
19.11.2019
Размер:
720.9 Кб
Скачать

Стратегії тестування

Для оцінки закінченості і коректності виконання програми бази даних може використовуватися кілька різних стратегій тестування. Основні з них перераховані нижче.

  • "згори-вниз" тестування.

  • "знизу-вгору" тестування.

  • Тестування потоків.

  • Інтенсивне тестування.

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

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

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

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

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

Деякі системи створюються з метою роботи в конкретних режимах максимального чи мінімального навантаження. Стратегія інтенсивного тестування призначена для перевірки можливості системи справлятися з запланованим навантаженням. Таке тестування часте включає серію тестів з поступово зростаючим навантаженням і продовжується доти, поки система не вийде з ладу. Ця стратегія володіє двома основними перевагами: вона перевіряє поводження системи, а також натискає на систему, викликаючи появу збоїв, що не могли б бути виявлені в звичайних умовах експлуатації.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]