База знань
Модульне тестування
Модульне тестування (Unit testing)– тестування кожної атомарної функціональності додатку окремо, в штучно створеному середовищі. Саме потреба у створенні штучної робочого середовища для певного модуля, вимагає від тестувальника знань в автоматизації тестування програмного забезпечення, деяких навичок програмування. Дане середовище для деякого юніта створюється за допомогою драйверів і заглушок.
Об’єкт тестування виділений червоним кольором.
Драйвер – визначений модуль тесту, який виконує елемент, що ми тестуємо.
Заглушка – частина програми, яка симулює обмін даними із компонентом, що тестується, виконує імітацію робочої системи.
Заглушки необхідні для:
– імітації відсутніх компонентів для роботи даного елементу;
– подачі або повернення модулю певного значення, можливості надати тестеру самому ввести потрібне значення;
– відтворення певних ситуацій (виключення або інші нестандартні умови роботи елемента).
Розглянемо переваги модульного тестування.
Перш за все, потрібно окреслити рамки, в яких юніт-тестування виправдано. По-перше, архітектура проекту повинна бути спроектована відповідно до ідей ООП (чіткий розподіл на класи, кожен з яких виконує свою певну функцію), що забезпечить систему грамотним розподілом на модулі. Також, модульне тестування має бути менш витратним при пошуку дефектів, ніж інші види тестів і повинне зменшувати час відладки коду.
Що ж стосується безпосередньо переваг:
– модульне тестування мотивує програмістів писати код максимально оптимізованим, проводити рефакторинг (спрощення коду програми, не зачіпаючи її функціональність), так як за допомогою Юніт-тестування можна легко перевірити працездатність розглянутого компонента.
– необхідність відділення реалізації від інтерфейсу (зважаючи на особливості модульного тестування), що дозволяє мінімізувати залежності в системі.
– документація Юніт-тестів може служити прикладом «живого документа» для кожного класу, що тестується даним способом. Модульне тестування допомагає краще зрозуміти роль кожного класу на тлі всієї програмної системи.
– також, при «розробці через тестування», яка активно використовується в екстремальному програмуванні, модульне тестування є одним з основних інструментів, що дозволяє розробляти продукт відповідно до вимог до даного модулю.
Зрозуміло, що отримавши досвід роботи інженером якості, Ви зможете зовсім по-іншому охарактеризувати даний вид тестування. А поки, сподіваємось, дана стаття допоможе Вам підійти на крок ближче до можливості отримання реальної практики.
Зв'язатися з нами
Адрес: г. Киев, 03058, а/я 24
E-mail: info@qalight.com.ua