Вступ до тестування

Вступ до тестування в Java

Maria Milusheva

Senior Software Engineer

Що таке тестування?

Тестування ПЗ:

  • Процес оцінювання ПЗ, щоб визначити, чи відповідає воно заданим вимогам

Тестування буває:

  • Ручне — потрібне, але обмежене й менш надійне
  • Автоматизоване — дає змогу запускати сотні тестів і перевірок за секунди

Ми використаємо JUnit 5 для автоматизованого тестування

Графіка програміста

Вступ до тестування в Java

Граничні випадки

"If it's not tested, it's broken."$^1$

Граничний випадок — вхід або умова на межі типового чи очікуваного

Приклади: змінні на максимальній межі, null або порожні змінні, від'ємні значення

Графіка, що символізує тест

1 Цитата належить Брюсу Еккелю
Вступ до тестування в Java

Приклад неочікуваної поведінки на межі

Розгляньте такий код:

public int addTwoNumbers(int a, int b) {
    return a + b;
}

⚠ Розгляньте вхідні дані 2147483647 (макс. значення int) і 1

➡ Результат: -2147483648 (мін. значення int)

Вступ до тестування в Java

Пригадуємо: розміри змінних — примітиви мають межі

Таблиця з примітивними типами — byte, short, int, long, float, double, char і boolean

Вступ до тестування в Java

Приклад: запуск Ariane 5

Перший політ ракети Ariane 5 у 1996 році:

  • Понад 8 років розробки
  • Вартість понад $370 млн
  • Вибух через 37 секунд після старту
  • Причина — програмна помилка: переповнення short

Запуск ракети Ariane 5 Європейського космічного агентства.

Вступ до тестування в Java

Переваги тестування

  • Захищає від багів на межі
  • Допомагає краще зрозуміти проєкт і вимоги
  • У підсумку пришвидшує розробку
  • Автоматизує контроль вимог
  • Зменшує ризик людської помилки

light_bulb.jpg

1 https://books.google.com/books/about/Clean_Architecture.html?id=8ngAkAEACAAJ
Вступ до тестування в Java

Давайте потренуємось!

Вступ до тестування в Java

Preparing Video For Download...