Сист́емне тестув́ання є одним з рівнів тестування програмного забезпечення. Системне тестування тестує інтегровану систему для перевірки відповідності всім вимогам. Перевірка повноти та правильності документації користувача є важливою частиною системного тестування. Всі тестові комбінації повинні розроблятися тільки з використанням документації користувача.
Мета системного тестування
Метою системного тестування є виявлення протиріч між розробленою системою та первісними цілями її створення. Компонентами системного тестування є розроблена система ПЗ, кінцеві цілі і вся документація, яка додається до системи. Зовнішні специфікації, що становлять основу функціонального тестування, при системному тестуванні не грають ніякої ролі.
Тестування всієї системи
Під час системного тестування перевіряються дві складові системи: база даних і додатки. Однак не завжди вдається провести чітку межу між ними. Наприклад, до чого слід віднести тригери бази даних: до бази даних або до додатка.
Системне тестування якісно відрізняється від інтеграційного й модульного рівнів. Системне тестування розглядає систему, що тестується в цілому й оперує на рівні користувацьких інтерфейсів, на відміну від останніх фаз інтеграційного тестування, що оперує на рівні інтерфейсів модулів. Різні й цілі цих рівнів тестування. На рівні системи часто складно та малоефективно аналізувати проходження тестових траєкторій усередині програми або відслідковувати правильність роботи конкретних функцій. Основне завдання системного тестування — у виявленні дефектів, пов’язаних з роботою системи в цілому, таких як
- невірне використання ресурсів системи,
- непередбачувані комбінації даних користувальницького рівня,
- несумісність із оточенням,
- непередбачувані сценарії використання,
- відсутня або невірна функціональність,
- незручність у застосуванні тощо.
Системне тестування відбувається над проектом у цілому за допомогою методу «чорної скриньки»(або поведінкове тестування - стратегія (метод) тестування функціональної поведінки об'єкта (програми, системи) з точки зору зовнішнього світу, при якому не використовується знання про внутрішній устрій тестованого об'єкта. Під стратегією розуміються систематичні методи відбору та створення тестів для тестового набору. Стратегія поведінкового тесту виходить з технічних вимог і їх специфікацій). Структура програми не має ніякого значення, для перевірки доступні тільки входи й виходи, видимі користувачеві. Тестуванню підлягають коди та документація користувача.
Категорії тестів системного тестування:
- Повнота рішення функціональних завдань.
- Стресове тестування — на граничних обсягах навантаження вхідного потоку.
- Коректність використання ресурсів (витік пам’яті, повернення ресурсів).
- Оцінка продуктивності.
- Ефективність захисту від спотворення даних і некоректних дій.
- Перевірка інсталяції й конфігурації на різних платформах.
- Коректність документації.
Оскільки системне тестування проводиться на користувацьких інтерфейсах, створюється ілюзія того, що побудова спеціальної системи автоматизації тестування не завжди необхідна. Проте обсяги даних на цьому рівні такі, що звичайно ефективнішим підходом є повна або часткова автоматизація тестування, що приводить до створення тестової системи набагато складнішої, ніж система тестування, що застосовується на рівні тестування модулів або їх комбінацій.
Тестування модулів в системному тестуванні
Тестування модулів (або тестування блоків) виконується з окремими компонентами автономно. При об'єднанні окремих компонентів у підсистеми або системи проводиться комплексне тестування теми з метою перевірки правильної спільної роботи її складових частин. При комплексному тестуванні особливу увагу зазвичай приділяється взаємодії компонентів. На противагу цьому при системному тестуванні вся система в цілому зазвичай розглядається як деяка чорна скринька; поведінку цієї системи досліджують, не вникаючи в подробиці окремих її компонентів і взаємодії між ними. Призначенням приймальних випробувань є перевірка придатності системи для експлуатації; такі випробування зазвичай проводяться під контролем постачальника системи.
Що стосується програми, то деякі питання тестування потрібно розглянути з особливою увагою. Найбільш складними і схильними до збоїв фрагменти додатків є інтерфейси зв'язку між частинами нового додатка і існуючими системами. Хоча всі системи проходять тестування на рівні програмних одиниць, необхідно забезпечити коректність всіх інтерфейсів. Суть системного тестування полягає не в тому, щоб перевірити окремі модулі, - це вже зроблено. А в тому, щоб проконтролювати те, як у системі обробляються цілі бізнес-транзакції.
Перевірку коректності ПЗ та його налагодження виробляють на етапі тестування. Тестування поділяють на три стадії: автономне, комплексне і системне. При автономному тестуванні кожен програмний модуль перевіряють за допомогою даних, підготовлюваних програмістом. Модуль, який пройшов автономне тестування, піддають комплексному тестуванню, при якому перевіряють окремі групи програмних модулів. В результаті комплексного тестування можливе виявлення помилок, пропущених при автономному тестуванні. При системному тестуванні відчувають ППП за допомогою незалежних тестів.
Типи тестування, що включає в себе системне тестування
- Тестування графічного інтерфейсу
- Тестування зручності
- Тестування продуктивності ПЗ
- Тестування сумісності
- Тестування навантаження
- Стресове тестування
- Тестування безпеки
- Тестування масштабованості
- Димчасте тестування
- Регресійне тестування
- Інсталяційне тестування
- Тестування доступності
Див. також
Це незавершена стаття про інформаційні технології. Ви можете допомогти проєкту, виправивши або дописавши її. |
Ця стаття не містить посилань на джерела. (серпень 2017) |