- •I. Вступ.
- •Загальні поняття.
- •Основні визначення.
- •II. Основна частина.
- •Філософія тестування
- •Інтеграція модулів.
- •Висхідне тестування.
- •Низхідне тестування.
- •Модифікований низхідний метод
- •Метод великого стрибка.
- •Метод сандвіча
- •Модифікований метод сандвіча.
- •Порівняльна характеристика методів тестування.
- •III. Випробування програмних продуктів (аналіз).
- •Мета і особливості випробуванні.
- •Технологічна схема випробування.
- •Планерування і оцінка завершеності випробувань.
- •Стенди відладки і випробування програм.
- •IV. Сертифікація програмних продуктів.
- •Стандартизація систем якості.
- •Класифікація показників якості
- •Вибір номенклатури показників якості
- •Групи показників якості
- •Список використаної літератури:
- •Майерс. Мистецтво тестування програмного забезпечення.
- •Майерс. Надійність програмного забезпечення.
- •Кулаків. Управління якістю програмного забезпечення.
Основні визначення.
Хоча в тестуванні можна виділити декілька різних процесів, такі терміни, як тестування, відладка, доведення, контроль і випробування, часто використовуються як синоніми і, на жаль, для різних людей мають різний сенс. Хоча стандартних, загальноприйнятих визначень цих термінів немає, спроба сформулювати їх була зроблена на симпозіумі по тестуванню програм. Нашу класифікацію різних форм тестування ми почнемо з того, що дамо ці визначення, злегка їх доповнивши і розширивши їх список.
Тестування (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. Процеси тестування і їх зв'язок з процесами проектування.
