Тестування - це процес перевірки функціоналу програми з метою підтвердження того, що вона працює відповідно до певних вимог. Unit-тестування - це тестування, які пишуться, безпосередньо, на рівні розробника (тестування певної сутності - метод або клас). Це вкрай важливий етап розробки ПО, який допомагає створювати якісний продукт.
Юніт-тестування ділиться на дві великі групи:
Ручне виконання тестів без допомоги будь-яких засобів.
Використання спеціальних засобів для автоматизованого тестування
Немає можливості для написання складних тестів для тестування складних моделей поведінки.
Тестировщики можуть написати складні тести для тестування складних моделей програмування
Ручне тестування має низьку надійність, так як вкрай піддається впливу людського фактора.
Автоматизоване тестування точне і надійне.
Великі витрати часу
Пов'язано з тим, що людина має вкрай обмежені можливість в швидкості роботи.
Автоматизовані тести виконуються на порядок швидше, ніж це може зробити людина.
JUnit - це фреймворк, розроблений для тестування програм, написаних з використанням технології Java. Він лежить в основі TDD (Test-Driven Development) і входить в сімейство фрейморков для тестування xUnit.
Головна ідея даного фреймворка - "спочатку тести, потім код". Це означає, що спочатку ми визначаємо, що повинно вийти в результаті роботи того чи іншого шматка коду і пишемо тести, які перевіряють ідентичність результату з потрібним, після чого пишемо сам шматок коду, який і будемо тестувати. Даний підхід збільшує ефективність роботи розробника і дозволяє писати більш стабільний код. В результаті цього ми отримуємо меншу кількість часу, який витрачається на налагодження програми.
- Фреймворк з відкритим вихідним кодом, який використовується для написання і виконання тестів.
- Дозволяє писати код швидше і якісно.
- Вкрай простий у використанні.
- Підтримує анотації для ідентифікації методів.
- Підтримує затвердження для тестування отриманих результатів.
- Тести можуть бути організовані в зв'язки тестів (test suites).
- Має візуальну індикацію стану тестів (червоні - не пройдено, зелені - пройдені).
Тестовий випадок (Test Case) в юніт тестуванні - це частина коду, яка перевіряє, що інша частина коду (зокрема - метод) працює відповідно до певних вимог.
Формально описаний тестовий випадок характеризується відомими вхідними даними і очікуваним висновком програми, який відомий до початку виконання тесту.
Необхідно створювати, як мінімум, два тестових випадку для кожного вимоги - позитивний і негативний. Якщо вимога має під вимоги, кожне з них має тестуватися окремо.
На цьому ми закінчуємо огляд фреймворка JUnit.
У наступній статті ми розглянемо приклад створення простого тесту.