Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тестування прог продукт.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
412.16 Кб
Скачать
  1. Основні визначення.

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

Тестування (testing), як ми вже з'ясували, —процесс виконання програми (або частини програми) з наміром (або ціллю) знайти помилки.

Доведення (proof) — спроба знайти помилки в програмі безвідносно до зовнішнього для програми середовища. Більшість методів доказу передбачають формулювання тверджень про поведінку програми і потім вивід і доказ математичниих теорем про правильність програми. Докази можуть розглядатися як форма тестування, хоча вони і не передбачають прямого виконання програми. Багато дослідників вважають доказ альтернативою тестуванню — погляд багато в чому помилковий; детальніше це обговорюється в гл. 17.

Контроль (verification) — спроба знайти помилки, виконуючи програму в тестовій, або модельованою, середовищу.

Випробування (validation) — спроба знайти помилки, виконуючи програму в заданому реальному середовищі.

Атестація (certification) — авторитетне підтвердження правильності програми, аналогічне атестації електротехнічного устаткування Underwriters Laboratories. При тестуванні з метою атестації виконується порівняння з деяким заздалегідь визначеним стандартом.

Відладка (debugging) не є різновидом тестування. Хоча слова «відладка» і «тестування» часто використовуються як синоніми, під ними маються на увазі різні види діяльності. Тестування — діяльність, направлена на виявлення помилок; відладка направлена на встановлення точної природи відомої помилки, а потім — на виправлення цієї помилки. Ці два види діяльності зв'язано — результати тестування є вихідними даними для відладки.

Тестування модуля, або автономне тестування (module testing, unit testing) — контроль окремого програмного модуля, зазвичай в ізольованому середовищі (тобто ізольовано від всіх решти модулів). Тестування модуля інколи включає також мате­матическое доказ.

Тестування сполученні (integration testing) — контроль с­пряження між частинами системи (модулями, компонентами, под­системами).

Тестування зовнішніх функцій (external function testing) — контроль зовнішньої поведінки системи, визначеної зовнішніми специфікаціями.

Комплексне тестування (system testing) — контроль і випробування системи по відношенню до вихідних цілей. Комплексне тестування є процесом контролю, якщо воно виконується в модельованому середовищі, і процесом випробування, якщо виконується в середовищі реальною, життєвою.

Тестування прийнятності (acceptance testing) — перевірка відповідності програми вимогам користувача.

Тестування налаштування (installation testing) — перевірка відповідності кожного конкретного варіанту установки системи з метою виявити будь-які помилки, що виникли в процесі налаштування си­стеми.

Відношення між цими типами тестів і проектної документа­ції, на якій грунтується тест, показані на рис.3

Мал. 2. Спектр підходів до проектування тестів

Мал. 3. Процеси тестування і їх зв'язок з процесами проектування.