Типи тестування ПЗ (100 прикладів)
Що таке тип тестування програмного забезпечення?
Тип тестування програмного забезпечення — це класифікація різних дій тестування за категоріями, кожна з яких має визначену мету тестування, стратегію тестування та результати тестування. Метою типу тестування є перевірка програми, що тестується (AUT) для визначеної цілі тестування.
Наприклад, мета тестування доступності полягає в тому, щоб підтвердити доступність AUT для людей з обмеженими можливостями. Отже, якщо ваше програмне рішення має бути дружнім до вимкнення, ви перевіряєте його на тестові випадки доступності.
Види тестування ПЗ
Перелік 100 типів тестування програмного забезпечення разом із визначеннями. Необхідно прочитати будь-якому спеціалісту з контролю якості. Вважайте це своїм посібником для всіх типів тестування програмного забезпечення.
- Приймальні випробування: Формальне тестування, яке проводиться, щоб визначити, чи відповідає система критеріям прийнятності, і щоб клієнт міг визначити, приймати чи ні систему. Зазвичай виконується замовником. Читайте більше на Тестування прийняття
- Тестування доступності: Тип тестування, який визначає придатність продукту для людей з обмеженими можливостями (глухих, сліпих, розумово відсталих тощо). Процес оцінювання проводиться особами з обмеженими можливостями. Читайте більше на Тестування доступності
- Активне тестування: Тип тестування, що полягає у введенні тестових даних і аналізі результатів виконання. Зазвичай його проводить команда тестувальників.
- Гнучке тестування: Практика тестування програмного забезпечення, яка відповідає принципам гнучкого маніфесту, наголошуючи на тестуванні з точки зору клієнтів, які використовуватимуть систему. Зазвичай це виконується групами QA. Читайте більше на Agile тестування
- Тестування на вік: Тип тестування, який оцінює здатність системи працювати в майбутньому. Процес оцінювання проводиться командами тестування.
- Спеціальне тестування: Тестування проводиться без планування та документації – тестувальник намагається «зламати» систему, випадково пробуючи функціональність системи. Його виконує команда тестувальників. Читайте більше на Спеціальне тестування
- Альфа-тестування: Альфа-тестування — це тип тестування програмного забезпечення, який проводиться на сайті розробника для виявлення помилок, проблем із зручністю використання та прогалин у функціональності перед випуском продукту для бета-тестування. Це залучає внутрішніх тестувальників, таких як розробники та групи контролю якості, а іноді й вибір кінцевих користувачів у контрольованому середовищі. Читайте більше на Альфа-тестування
- Перевірка тверджень: Тип тестування, що полягає в перевірці, чи умови підтверджують вимоги до продукту. Його виконує команда тестувальників.
- Тестування API: Техніка тестування подібна до модульного тестування тим, що націлена на рівень коду. Тестування API відрізняється від модульного тестування тим, що зазвичай це завдання контролю якості, а не завдання розробника. Читайте більше на Тестування API
- Тестування всіх пар: Комбінаторний метод тестування, який перевіряє всі можливі дискретні комбінації вхідних параметрів. Виконується тестовими групами.
- Автоматизоване тестування: Техніка тестування, яка використовує інструменти автоматизованого тестування для контролю налаштування середовища, виконання тесту та звітування про результати. Він виконується комп’ютером і використовується всередині команд тестування. Читайте більше на Автоматичне тестування
- Тестування базового шляху: Механізм тестування, який отримує логічну міру складності процедурного дизайну та використовує це як керівництво для визначення базового набору шляхів виконання. Він використовується командами тестування під час визначення тестових випадків. Читайте більше на Тестування базового шляху
- Тестування зворотної сумісності: Метод тестування, який перевіряє поведінку розробленого програмного забезпечення зі старими версіями тестового середовища. Виконується командою тестування.
- Бета-тестування: Остаточне тестування перед випуском програми для комерційних цілей. Зазвичай це роблять кінцеві користувачі або інші особи.
- Еталонне тестування: Техніка тестування, яка використовує репрезентативні набори програм і даних, призначених для оцінки продуктивності апаратного та програмного забезпечення комп’ютера в певній конфігурації. Виконується тестовими групами. Читайте більше на Тестування контрольних показників
- Тестування інтеграції Big Bang: Техніка тестування, яка інтегрує окремі програмні модулі лише тоді, коли все готово. Виконується тестовими групами.
- Тестування бінарної переносимості: Техніка, яка перевіряє виконувану програму на переносимість між системними платформами та середовищами, як правило, на відповідність специфікації ABI. Виконується тестовими групами.
- Перевірка граничних значень: Техніка тестування програмного забезпечення, у якій тести розроблені для включення представників граничних значень. Це виконується групами тестування якості. Читайте більше на Перевірка граничних значень
- Інтеграційне тестування знизу вгору: Під час інтеграційного тестування знизу вгору спочатку розробляється модуль найнижчого рівня, а інші модулі, які йдуть до «основної» програми, інтегруються та тестуються по одному. Зазвичай це виконується групами тестування.
- Тестування гілок: Техніка тестування, при якій усі гілки вихідного коду програми тестуються принаймні один раз. Це робить розробник.
- Тестування широти: Набір тестів, який використовує всі функціональні можливості продукту, але не перевіряє детальні функції. Виконується тестовими групами.
- Тестування чорного ящика: Метод тестування програмного забезпечення, який перевіряє функціональність програми без певних знань про код/внутрішню структуру програми. Тести базуються на вимогах і функціональності. Його виконують команди QA. Читайте більше на Тестування чорного ящика
- Тестування на основі коду: Техніка тестування, яка використовує інфраструктури тестування (наприклад, xUnit), які дозволяють виконувати модульні тести, щоб визначити, чи різні розділи коду діють належним чином за різних обставин. Виконується командами розробників.
- Тестування на сумісність: Техніка тестування, яка перевіряє, наскільки добре працює програмне забезпечення в певному апаратному/програмному забезпеченні/операційній системі/мережевому середовищі. Виконується тестовими групами. Читайте більше на Тестування сумісності
- Порівняльне тестування: Техніка тестування, яка порівнює сильні та слабкі сторони продукту з попередніми версіями чи іншими подібними продуктами. Може виконуватися тестувальником, розробниками, менеджерами або власниками продуктів. Читайте більше на Тестування компонентів
- Тестування компонентів: Техніка тестування подібна до модульного тестування, але з вищим рівнем інтеграції – тестування виконується в контексті програми, а не просто безпосередньо тестує певний метод. Може виконуватись командами тестування або розробників.
- Тестування конфігурації: Техніка тестування, яка визначає мінімальну та оптимальну конфігурацію апаратного та програмного забезпечення, а також вплив додавання або модифікації ресурсів, таких як пам’ять, диски та ЦП. Зазвичай це виконують інженери з тестування продуктивності. Читайте більше на Тестування конфігурації
- Тестування покриття умов: Тип тестування програмного забезпечення, у якому кожна умова виконується шляхом визначення істинності та хибності кожним із способів принаймні один раз. Зазвичай його створюють команди автоматизованого тестування.
- Тестування відповідності: Тип тестування, який перевіряє, чи розроблено систему відповідно до стандартів, процедур і настанов. Зазвичай це виконується сторонніми компаніями, які пропонують бренд «Certified OGC Compliant».
- Тестування паралелізму: Багатокористувацьке тестування, спрямоване на визначення ефектів доступу до того самого коду програми, модуля або записів бази даних. Зазвичай це роблять інженери продуктивності. Читайте більше на Тестування паралелізму
- Тестування відповідності: Процес перевірки того, що реалізація відповідає специфікації, на якій вона заснована. Зазвичай це виконується тестовими групами. Читайте більше на Тестування відповідності
- Контекстне тестування: Техніка гнучкого тестування, яка підтримує безперервну та творчу оцінку можливостей тестування в світлі виявленої потенційної інформації та цінності цієї інформації для організації в конкретний момент. Зазвичай це виконується групами гнучкого тестування.
- Тестування перетворення: Тестування програм або процедур, які використовуються для перетворення даних із існуючих систем для використання в системах заміни. Зазвичай це виконується групами QA.
- Тестування покриття рішень: Тип тестування програмного забезпечення, у якому кожна умова/рішення виконується шляхом встановлення значення true/false. Зазвичай це робиться групами автоматизованого тестування.
- Руйнівні випробування: Тип випробування, при якому випробування проводяться до руйнування зразка, щоб зрозуміти конструктивні характеристики зразка або поведінку матеріалу під різними навантаженнями. Зазвичай це виконується групами QA.
Детальніше про це Деструктивне тестування - Тестування залежностей: Тип тестування, який перевіряє вимоги додатка щодо попереднього програмного забезпечення, початкових станів і конфігурації, щоб підтримувати належну функціональність. Зазвичай це виконується тестовими групами.
- Динамічне тестування: Термін, який використовується в інженерії програмного забезпечення для опису тестування динамічної поведінки коду. Зазвичай це виконується групами тестування. Читайте більше на Динамічне тестування
- Тестування домену: Техніка тестування білого ящика, яка містить перевірку того, що програма приймає лише дійсні вхідні дані. Зазвичай це роблять команди розробників програмного забезпечення та іноді команди тестування автоматизації.
- Тестування обробки помилок: Тип тестування програмного забезпечення, який визначає здатність системи належним чином обробляти помилкові транзакції. Зазвичай це виконується групами тестування.
- Наскрізне тестування: Подібно до системного тестування включає в себе тестування повного прикладного середовища в ситуації, яка імітує реальне використання, наприклад, взаємодію з базою даних, використання мережевих комунікацій або взаємодію з іншим апаратним забезпеченням, програмами чи системами, якщо необхідно. Його виконують команди QA. Читайте більше на Наскрізне тестування
- Випробування на витривалість: Тип тестування, який перевіряє витоки пам’яті чи інші проблеми, які можуть виникнути під час тривалого виконання. Зазвичай це виконують інженери з продуктивності. Читайте більше на Випробування на витривалість
- Дослідницьке тестування: Техніка чорного ящика виконується без планування та документації. Зазвичай його проводять ручними тестерами. Читайте більше на Дослідницьке випробування
- Тестування розділення еквівалентності: Техніка тестування програмного забезпечення, яка розділяє вхідні дані програмного блоку на розділи даних, з яких можна отримати тестові приклади. це зазвичай виконується групами QA. Читайте більше на Тестування розділення еквівалентності
- Тестування введення несправності: Елемент комплексної стратегії тестування, який дозволяє тестувальнику зосередитися на тому, як тестована програма здатна обробляти винятки. Його виконують команди QA.
- Формальна перевірка Тестування: Дія доведення або спростування правильності намічених алгоритмів, що лежать в основі системи, щодо певної формальної специфікації чи властивості за допомогою формальних методів математики. Зазвичай це виконується групами QA.
- Функціональне тестування: Тип тестування чорної скриньки, який базує свої тестові приклади на специфікаціях програмного компонента, що тестується. Виконується тестовими групами. Читайте більше на Функціональне тестування
- Тестування Fuzz: Техніка тестування програмного забезпечення, яка надає недійсні, неочікувані або випадкові дані на вході програми – спеціальна область тестування на мутації. Fuzz-тестування виконується тестовими командами. Читайте більше на Тестування нечіткістю
- Тестування Gorilla: Техніка тестування програмного забезпечення, яка зосереджена на інтенсивному тестуванні одного конкретного модуля. Це виконується групами із забезпечення якості, як правило, під час повного тестування.
- сірий Box Тестування: Поєднання чорного Box і Білий Box Методології тестування: перевірка частини програмного забезпечення на відповідність його специфікаціям, але з використанням певних знань про його внутрішню роботу. Його можуть виконувати команди розробників або тестувальників.
- Тестування скляної коробки: Подібно до тестування білої скриньки, засноване на знанні внутрішньої логіки коду програми. Виконується командами розробників.
- Тестування програмного забезпечення GUI: Процес тестування продукту, який використовує графічний інтерфейс користувача, щоб переконатися, що він відповідає письмовим специфікаціям. Зазвичай це роблять команди тестування. Читайте більше на Тестування програмного забезпечення GUI
- Тестування глобалізації: Метод тестування, який перевіряє належну функціональність продукту з будь-якими налаштуваннями культури/мови з використанням усіх можливих типів міжнародних даних. Його виконує команда тестувальників. Читайте більше на Тестування глобалізації
- Тестування гібридної інтеграції: Техніка тестування, яка поєднує методи інтеграції «зверху вниз» і «знизу вгору», щоб отримати переваги такого роду тестування. Зазвичай це виконується групами тестування.
- Інтеграційне тестування: Етап тестування програмного забезпечення, на якому окремі модулі програмного забезпечення об’єднуються та тестуються як група. Зазвичай його проводять команди тестування. Читайте більше на Інтеграційне тестування
- Тестування інтерфейсу: Тестування, проведене для оцінки того, чи системи або компоненти правильно передають дані та керування одна одній. Зазвичай це виконується командами тестування та розробників. Читайте більше на Тестування інтерфейсу
- Тестування установки/видалення: Робота із забезпечення якості, яка зосереджена на тому, що потрібно буде зробити клієнтам, щоб успішно встановити та налаштувати нове програмне забезпечення. Це може включати повні, часткові або процеси встановлення/видалення оновлень і зазвичай виконується інженером з тестування програмного забезпечення разом із менеджером конфігурації.
- Тестування інтернаціоналізації: Процес, який гарантує, що функціональність продукту не порушується, а всі повідомлення належним чином екстернілізуються під час використання різними мовами та місцевістю. Зазвичай це виконується групами тестування.
- Міжсистемне тестування: Техніка тестування, зосереджена на перевірці правильності роботи взаємозв’язків між програмами. Зазвичай це виконується командами тестувальників.
- Тестування на основі ключових слів: Також відомий як тестування на основі таблиць або тестування за допомогою слів дії — це методологія тестування програмного забезпечення для автоматизованого тестування, яка розділяє процес створення тесту на два окремі етапи: етап планування та етап впровадження. Він може використовуватися групами ручного або автоматизованого тестування. Читайте більше на Тестування на основі ключових слів
- Тестування навантаження: Техніка тестування, яка висуває вимоги до системи чи пристрою та вимірює їх реакцію. Зазвичай його проводять інженери з продуктивності. Читайте більше на Тестування навантаження
- Тестування локалізації: Частина процесу тестування програмного забезпечення, зосереджена на адаптації глобалізованої програми до певної культури/мови. Зазвичай це роблять команди тестувальників. Читайте більше на Тестування локалізації
- Тестування циклу: Техніка тестування білого ящика, яка використовує програмні цикли. Виконується командами розробників. Читайте більше на Тестування циклу
- Ручне тестування за сценарієм: Метод тестування, за якого тестові випадки розробляються та переглядаються командою перед виконанням. Це робиться групами ручного тестування.
- Тестування ручної підтримки: Техніка тестування, яка передбачає перевірку всіх функцій, які виконують люди під час підготовки даних і використання цих даних з автоматизованої системи. його проводять команди тестування.
- Тестування на основі моделі: Застосування дизайну на основі моделі для проектування та виконання необхідних артефактів для виконання тестування програмного забезпечення. Зазвичай це виконується тестовими групами. Читайте більше на Тестування на основі моделі
- Тест на мутації: Метод тестування програмного забезпечення, який передбачає зміну вихідного коду програм або байт-коду невеликими способами, щоб перевірити частини коду, до яких рідко або ніколи не звертаються під час звичайного виконання тестів. Зазвичай його проводять тестувальники. Читайте більше на Тестування мутацій
- Тестування на основі модульності: Техніка тестування програмного забезпечення, яка вимагає створення невеликих незалежних сценаріїв, які представляють модулі, розділи та функції програми, що тестується. Зазвичай це виконує команда тестувальників.
- Нефункціональне тестування: Техніка тестування, яка зосереджена на перевірці програмного додатку на його нефункціональні вимоги. Може проводитися інженерами з продуктивності або групами ручного тестування. Читайте більше на Нефункціональне тестування
- Негативний тест: Також відомий як «тест на невдачу» – метод тестування, метою якого є показати, що компонент або система не працює. Виконується ручними або автоматичними тестерами. Читайте більше на Негативне тестування
- Operaнаціональне тестування: Техніка тестування, яка проводиться для оцінки системи або компонента в її робочому середовищі. Зазвичай це виконується тестовими групами. Читайте більше на Operaнаціональне тестування
- Тестування ортогонального масиву: Систематичний статистичний спосіб тестування, який можна застосувати для тестування інтерфейсу користувача, системного тестування, регресійного тестування, тестування конфігурації та тестування продуктивності. Його виконує команда тестувальників. Читайте більше на Тестування ортогонального масиву
- Тестування пар: Техніка розробки програмного забезпечення, за якої два члени команди працюють разом за однією клавіатурою, щоб перевірити програмне забезпечення. Один проводить тестування, а інший аналізує або переглядає тестування. Це можна зробити між одним тестувальником і розробником або бізнес-аналітиком або між двома тестувальниками, коли обидва учасники по черзі керують клавіатурою.
- Пасивне тестування: Техніка тестування полягає в моніторингу результатів працюючої системи без введення будь-яких спеціальних тестових даних. Його виконує команда тестувальників.
- Паралельне тестування: Техніка тестування, яка має на меті переконатися, що нову програму, яка замінила свою стару версію, встановлено та працює правильно. Його проводить команда тестувальників. Читайте більше на Паралельне тестування
- Тестування шляху: Типове тестування білого ящика, яке має на меті задовольнити критерії покриття для кожного логічного шляху через програму. Зазвичай це виконує команда розробників. Читайте більше на Тестування шляху
- Випробування на проникнення: Метод тестування, який оцінює безпеку комп’ютерної системи або мережі шляхом імітації атаки зі зловмисного джерела. Зазвичай вони проводяться спеціалізованими компаніями з тестування на проникнення. Читайте більше на Тестування проникнення
- Тестування продуктивності: Функціональне тестування, яке проводиться для оцінки відповідності системи або компонента визначеним вимогам до продуктивності. Зазвичай його проводить інженер з продуктивності. Читайте більше на Тестування продуктивності
- Кваліфікаційне тестування: Тестування на відповідність специфікаціям попереднього випуску, зазвичай проводиться розробником для споживача, щоб продемонструвати, що програмне забезпечення відповідає визначеним вимогам.
- Ramp Тестування: Тип тестування, що полягає в постійному підвищенні вхідного сигналу, доки система не вийде з ладу. Його може проводити команда тестування або інженер з продуктивності.
- Регресійне тестування: Тип тестування програмного забезпечення, спрямоване на виявлення помилок програмного забезпечення після внесення змін до програми (наприклад, виправлення помилок або створення нових функцій) шляхом повторного тестування програми. Виконується тестовими групами. Читайте більше на Регресійне тестування
- Тестування відновлення: Техніка тестування, яка оцінює, наскільки добре система відновлюється після збоїв, апаратних збоїв або інших катастрофічних проблем. Виконується тестовими групами. Читайте більше на Тестування відновлення
- Тестування вимог: Техніка тестування, яка підтверджує, що вимоги є правильними, повними, однозначними та логічно послідовними, і дозволяє розробити необхідний і достатній набір тестових випадків на основі цих вимог. Його виконують команди QA.
- Тестування безпеки: Процес визначення того, що інформаційна система захищає дані та підтримує функціональність належним чином. Його можуть виконувати команди тестувальників або спеціалізовані компанії з тестування безпеки. Читайте більше на Тестування безпеки
- Тестування на осудність: Техніка тестування, яка визначає, чи нова версія програмного забезпечення працює достатньо добре, щоб прийняти її для серйозного тестування. Виконується тестовими групами. Читайте більше на Перевірка розумності
- Тестування сценарію: Тестування, яке використовує сценарії, засновані на гіпотетичній історії, щоб допомогти людині продумати складну проблему або систему для середовища тестування. Виконується тестовими групами. Читайте більше на Тестування сценарію
- Тестування масштабованості: Частина батареї нефункціональних тестів, яка перевіряє програмне забезпечення для вимірювання його здатності до масштабування – будь то підтримуване навантаження користувача, кількість транзакцій, обсяг даних тощо. Його проводить інженер продуктивності. Читайте більше на Тестування масштабованості
- Тестування заяв: Тестування білого ящика, яке задовольняє критерій, згідно з яким кожен оператор у програмі виконується принаймні один раз під час тестування програми. Зазвичай це виконує команда розробників.
- Статичне тестування: Форма тестування програмного забезпечення, де програмне забезпечення фактично не використовується, воно перевіряє головним чином правильність коду, алгоритму чи документа. Його використовує розробник, який написав код. Читайте більше на Статичне тестування
- Тестування стабільності: Техніка тестування, яка намагається визначити, чи відбудеться збій програми. Зазвичай його проводить інженер з продуктивності. Читайте більше на Тестування на стабільність
- Випробування диму: Техніка тестування, яка перевіряє всі основні компоненти програмної системи, щоб переконатися, що вони працюють належним чином. Зазвичай димове тестування проводиться групою тестувальників одразу після створення збірки програмного забезпечення. Читайте більше на Тестування диму
- Тестування зберігання: Тип тестування, який перевіряє, що програма, що тестується, зберігає файли даних у правильних каталогах і резервує достатньо місця для запобігання неочікуваному завершенню внаслідок браку місця. Зазвичай це виконує команда тестувальників. Читайте більше на Тестування зберігання
- Стрес-тестування: Техніка тестування, яка оцінює систему або компонент на рівні або поза межами встановлених вимог. Зазвичай його проводить інженер з продуктивності. Читайте більше на Стрес-тестування
- Структурне тестування: Техніка тестування «білого ящика», яка враховує внутрішню структуру системи або компонента та гарантує, що кожен оператор програми виконує призначену для нього функцію. Зазвичай це виконують розробники програмного забезпечення.
- Тестування системи: Процес тестування інтегрованої апаратної та програмної системи для перевірки того, що система відповідає заданим вимогам. Його проводять команди тестування як у середовищі розробки, так і в цільовому середовищі. Читайте більше на Тестування системи
- Тестування системної інтеграції: Процес тестування, який перевіряє співіснування програмної системи з іншими. Зазвичай це виконується групами тестування. Читайте більше на Тестування системної інтеграції
- Інтеграційне тестування зверху вниз: Техніка тестування, яка передбачає початок із верхньої частини системної ієрархії в інтерфейсі користувача та використання заглушок для тестування зверху вниз, доки не буде реалізовано всю систему. Його проводять команди тестування.
- Тестування потоку: Варіант техніки тестування зверху вниз, де поступова інтеграція компонентів слідує за впровадженням підмножин вимог. Зазвичай це виконується групами тестування. Читайте більше на Тестування потоків
- Upgrade Тестування: Техніка тестування, яка перевіряє, чи можна належним чином використовувати ресурси, створені за допомогою старіших версій, і чи не заперечується навчання користувача. Виконується тестовими групами.
- Модульне тестування: Метод перевірки програмного забезпечення та валідації, за якого програміст перевіряє, чи окремі одиниці вихідного коду придатні для використання. Зазвичай його проводить команда розробників. Читайте більше на Unit Testing
- Тестування інтерфейсу користувача: Тип тестування, який виконується для перевірки зручності програми. Виконується тестовими групами. Читайте більше на Тестування інтерфейсу користувача
Бонус!!! Завжди корисно знати кілька додаткових
- Тестування зручності використання: Техніка тестування, яка перевіряє легкість, з якою користувач може навчитися працювати, готувати вхідні дані та інтерпретувати вихідні дані системи чи компонента. Зазвичай це виконується кінцевими користувачами. Читайте більше на Тестування на зручність
- Тестування обсягу: Тестування, яке підтверджує, що будь-які значення, які можуть стати великими з часом (наприклад, накопичені підрахунки, журнали та файли даних), можуть бути прийняті програмою та не призведуть до припинення роботи програми чи погіршення її роботи будь-яким чином. Зазвичай його проводить інженер з продуктивності. Читайте більше на Тестування обсягу
- Тестування вразливостей: Тип тестування, який стосується безпеки програми та має на меті запобігти проблемам, які можуть вплинути на цілісність і стабільність програми. Його можуть виконувати внутрішні команди тестування або передати спеціалізованим компаніям. Читайте більше на Тестування вразливостей
- Тестування білого ящика: Техніка тестування базується на знанні внутрішньої логіки коду програми та включає такі тести, як охоплення операторів коду, гілок, шляхів, умов. Його виконують розробники програмного забезпечення. Читайте більше на Тестування білого ящика
- Тестування робочого процесу: Методика наскрізного тестування за сценарієм, яка дублює певні робочі процеси, які, як очікується, використовуватиме кінцевий користувач. Зазвичай його проводять команди тестування. Читайте більше на Тестування робочого процесу
На цьому список завершується. Сподіваюся, вам сподобалося його читати. Щоб знайти відповідні інструменти для цього типу тестування та інших, перегляньте цю колекцію інструменти тестування.