Тестування від кінця до кінця
Наскрізне тестування - це метод тестування програмного забезпечення, який перевіряє все програмне забезпечення від початку до кінця, а також його інтеграцію із зовнішніми інтерфейсами. Метою наскрізного тестування є тестування всього програмного забезпечення на залежності, цілісність даних та зв'язок з іншими системами, інтерфейсами та базами даних для здійснення повного виробничого сценарію.
Поряд із програмною системою вона також перевіряє пакетну обробку / обробку даних з інших вищих та нижчих систем. Звідси і назва "End-to-End" . Наскрізне тестування зазвичай виконується після функціонального та системного тестування. Він використовує фактичне виробництво, таке як дані та тестове середовище, щоб імітувати налаштування в режимі реального часу. Наскрізне тестування також називається ланцюговим тестуванням .
Чому тестування в кінці?
Наскрізне тестування перевіряє повний потік системи та підвищує впевненість шляхом виявлення проблем та збільшення покриття тестуванням підсистем. Сучасні програмні системи складні і взаємопов’язані з безліччю підсистем, які можуть відрізнятися від сучасних систем. Вся система може зруйнуватися внаслідок відмови будь-якої підсистеми, що є основним ризиком, якого можна уникнути наскрізним тестуванням.
Повний процес тестування:
На наступній схемі наведено огляд процесу наскрізного тестування.
Основними видами діяльності, пов’язаними з наскрізним тестуванням, є -
- Вивчення наскрізних вимог до випробувань
- Налаштування тестового середовища та вимоги до апаратного / програмного забезпечення
- Опишіть усі системи та їх підсистемні процеси.
- Опис ролей та відповідальності для всіх систем
- Методологія та стандарти випробувань
- Наскрізне відстеження вимог та проектування тестових кейсів
- Вхідні та вихідні дані для кожної системи
Як створити наскрізні тестові випадки?
Структура дизайну тестування на кінці складається з трьох частин
- Побудуйте функції користувача
- Умови побудови
- Побудуйте тестові випадки
Створення функцій користувача
У рамках побудови користувацьких функцій слід виконувати наступні дії:
- Перелічіть особливості системи та їх взаємопов’язані компоненти
- Перерахуйте вхідні дані, дії та вихідні дані для кожної функції або функції
- Визначте взаємозв’язки між функціями
- Визначте, чи функція може бути багаторазовою чи незалежною
Наприклад - розглянемо сценарій, коли ви входите на свій банківський рахунок і переказуєте гроші на інший рахунок з іншого банку ( підсистема третьої сторони)
- Вхід в банківську систему
- Перевірте суму залишку на рахунку
- Перекажіть деяку суму зі свого рахунку на інший банківський рахунок ( підсистема третьої сторони)
- Перевірте свій останній баланс на рахунку
- Вихід із програми
Умови побудови на основі функцій користувача
У рамках умов побудови виконуються наступні заходи:
- Побудова набору умов для кожної визначеної функції користувача
- Умови включають послідовність, терміни та умови даних
Наприклад -Перевірка інших умов, таких як
Сторінка входу
- Недійсні ім’я користувача та пароль
- Перевірка за допомогою дійсного імені користувача та пароля
- Перевірка надійності пароля
- Перевірка повідомлень про помилки
Сума залишку
- Перевірте поточний баланс через 24 години. (Якщо переказ надіслано в інший банк)
- Перевірте повідомлення про помилку, якщо сума переказу перевищує поточну суму залишку
Складіть тест-сценарій
Побудова сценарію тестування для визначеної функції користувача
В цьому випадку,
- Увійдіть в систему
- Перевірка суми залишку в банку
- Перекажіть суму залишку в банку
Побудуйте кілька тестових кейсів
Створіть один або кілька тестових кейсів для кожного визначеного сценарію. Тестові кейси можуть включати кожну умову як окремий тестовий кейс.
Метрики для наскрізного тестування:
Нижче наведено декілька з багатьох показників, що використовуються для наскрізного тестування.
- Статус підготовки тестового кейсу: надає прогрес у підготовці тестового кейсу проти запланованого
- Щотижневий хід тесту - надає щотижневі подробиці про відсоток завершеного тесту.
- Статус та деталі дефектів - Це дає відсоток відкритих та закритих дефектів за тиждень. Крім того, розподіл дефектів по тижнях залежно від тяжкості та пріоритетності
- Доступність навколишнього середовища - загальна кількість годин "до" / загальна кількість годин, запланованих на день для тестування
Наскрізне тестування проти системного тестування
Наскрізне тестування | Тестування системи |
---|---|
Перевіряє програмну систему, а також взаємопов’язані підсистеми | Перевіряє лише програмну систему відповідно до специфікацій вимог. |
Він перевіряє повний наскрізний потік процесу. | Він перевіряє функціональність та особливості системи. |
Всі інтерфейси, серверні системи будуть розглянуті для тестування | Функціональне та нефункціональне тестування буде розглядатися для тестування |
Він виконується після завершення тестування системи. | Він виконується після інтеграційного тестування. |
Наскрізне тестування передбачає перевірку зовнішніх інтерфейсів, які можуть бути складними для автоматизації. Тому перевага надається ручному тестуванню. | Для тестування системи можна виконати як ручну, так і автоматизацію |
Висновок
У програмній інженерії наскрізне тестування - це процес перевірки програмної системи разом із її підсистемами. Найбільшим випробуванням у цьому тестуванні є достатнє знання всієї системи, а також взаємопов’язаної підсистеми.