йти помилки в програмі безвідносно до зовнішньої для програми середовищі. Більшість методів докази передбачає формулювання тверджень про поведінку програми і потім висновок і доказ математичних теорем про правильність програми. Докази можуть розглядатися як форма тестування, хоча вони і не передбачають прямого виконання програми. Багато дослідників вважають доказ альтернативою тестуванню - погляд багато в чому помилковий.
Контроль (verification) - спроба знайти помилки, виконуючи програму в тестовій, або модельованої, середовищі.
Випробування (validation) - спроба знайти помилки, виконуючи програму в заданій реальному середовищі.
Атестація (certification) - авторитетне підтвердження правильності програми, аналогічне атестації електротехнічного обладнання Underwriters Laboratories. При тестуванні з метою атестації виконується порівняння з деяким наперед визначеним стандартом.
Налагодження (debugging) не є різновидом тестування. Хоча слова «налагодження» і «тестування» часто використовуються як синоніми, під ними маються на увазі різні види діяльності. Тестування - діяльність, спрямована на виявлення помилок; налагодження спрямовано встановлення точної природи відомої помилки, а потім - на виправлення цієї помилки. Ці два види діяльності пов'язані - результати тестування є вихідними даними для налагодження.
Тестування модуля, або автономне тестування (module testing, unit testing) - контроль окремого програмного модуля, зазвичай в ізольованому середовищі (т. е. ізольовано від всіх інших модулів). Тестування модуля іноді включає також математичне доказ.
Тестування сполученні (integration testing) - контроль сполученні між частинами системи (модулями, компонентами, підсистемами).
Тестування зовнішніх функцій (external function testing) - контроль зовнішнього поводження системи, певного зовнішніми специфікаціями.
Комплексне тестування (system testing) - контроль та/або випробування системи по відношенню до вихідних цілям. Комплексне тестування є процесом контролю, якщо воно виконується в моделюється середовищі, і процесом випробування, якщо виконується в середовищі реальної, життєвої.
Тестування прийнятності (acceptance testing) - перевірка відповідності програми вимогам користувача.
Тестування налаштування (installation testing) - перевірка відповідності кожного конкретного варіанту установки системи з метою виявити будь-які помилки, що виникли в процесі налаштування системи.
2. Тестування ПЗ
. 1 Класифікація видів тестування
Тестування ПЗ - це процес його дослідження з метою отримання інформації про якість. Метою тестування є виявлення дефектів у ПЗ. За допомогою тестування не можна довести відсутність дефектів і коректність функціонування аналізованої програми. Тестування складних програмних продуктів є творчим процесом, що не сводящимся до слідування строгим і чітким процедурам.
Тестування програмного забезпечення охоплює цілий ряд видів діяльності, дуже аналогічний послідовності процесів розробки програмного забезпечення. Сюди входять постановка задачі для тесту, проектування, написання тестів, тестування тестів і, нарешті, виконання тестів і вивчення результатів тестування. Вирішальну роль відіграє проектування тесту.
Склад і зміст документації, супутньої процесу тестування, визначається закордонним стандартом IEEE 829-2008 Standard for Software Test Documentation.
Існує кілька підстав, за якими прийнято виробляти класифікацію видів тестування.
. По об'єкту тестування
· Функціональне тестування (functional testing)
· Навантажувальне тестування (performance/load/stress testing)
· Тестування зручності використання (usability testing)
· Тестування інтерфейсу користувача (UI testing)
· Тестування безпеки (security testing)
· Тестування локалізації (localization testing)
· Тестування сумісності (compatibility testing)
. За знанням про тестованої системі
· Тестування методом «чорного ящика» (black box)
· Тестування методом «білого ящика» (white box)
· Тестування методом «сірого ящика» (grey box)
. За рівнем автоматизації
· Ручне тестування (manual testing)
· Автоматизоване тестування (automated testing)
. За ступенем ізольованості
·...