Анотація
Тестування вже давно є однією з найважливіших частин розробки програмного забезпечення. У зв'язку зі швидким зростанням популярності ав-томатизованого тестування, швидко почали розвиватися програмні продукти, які покликані допомогти з процесом автоматизації тестування, а саме фреймворки. У даній статті розглянуто найбільш популярних на даний час фреймворки для модульного тестування за допомогою мови програмування Java, проведено порівняльний аналіз двох найбільш популярних фреймворків та зроблено висновки за результатами їх порівняльного аналізу. Також, в даній статті розглянуто питання актуальності двох найбільш популярних фреймворків, а саме Junit та TestNG, ґрунтуючись на їх функціональних можливостях, піднімається питання актуальності їхнього функціоналу в сучасних реаліях, і при сучасних підходах до модульного та компонентного тестування й до життєвого циклу програмного забезпечення загалом. Всі порівняння, використані у статті, було зроблено ґрунтуючись на реальному досвіді використання фреймворків. Розглянуто головні функції фреймворків, використання яких базуються на Java-анотаціях і вбудованих параметрах фреймворків, виділено їх переваги та недоліки в JUnit і TestNG відповідно. У статті розглянуто не весь функціонал фреймворків, приведено лише базові функції, які реалізують більшу частину необхідного функціоналу для створення тестових випадків. Особливу увагу в даній статті приділено особливостям групування тестових випадків, заданню залежностей між тестами та розглянуто різні підходи до параметризації тестів (за допомогою створення *.xml файлу (файлів) в TestNG або за допомогою анотації в JUnit), розглянуто також можливості до ігнорування тестів, задання часу на ви-конання тест кейсів та задання передумов та постумов для кожного окремого теста за допомогою анотацій (@beforeSuite, @afterSuite – для створення перед-умов для цілих наборів тестів, @beforeTest, @afterTest – для створення умов для окремих тестів, @beforeMethod та @afterMethod – для створення умов до і після кожного тестового методу), а також задання передумов та постумов для тестових груп у цілому, розглянуто можливість задання порядку виконання тестів.
Посилання
Top 10 java testing frameworks. URL: https://www.lambdatest.com/blog/top-10-java-testing-frameworks/
What is testing? URL: https://testng.org/doc/
Junit. URL: https://junit.org/junit5/docs/current/user-guide/
ISO/IEC/IEEE 29119-1:2017. URL: https://docs.cntd.ru/document/1200134996
Лаврищева Е.М., Грищенко В.Н. Сборочное программирование. Основы индустрии программных продуктов: 2-изд. Дополненное и переработанное. Киев : Наук. думка, 2009. 372 с.
Куликов С.С. Тестирование программного обеспечения. Базовый курс. Минск : Четыре четверти, 2017. 312 с.
Автоматизация процесса тестирования программного обеспечения с применением JUnit. URL: https://cyberleninka.ru/article/n/avtomatizatsiya-protsessa-testirovaniya-programmnogo-obespecheniya-s-primeneniem-junit/viewer
Top 10 java testing frameworks. Access mode: https://www.lambdatest.com/blog/top-10-java-testing-frameworks/
What is testing? Access mode: https://testng.org/doc/
Junit. Access mode: https://junit.org/junit5/docs/current/user-guide/
ISO/IEC/IEEE 29119-1:2017. Access mode: https://docs.cntd.ru/document/1200134996
Lavryshcheva Е.М., Hryshchenko V.N. (2009) Assembly programming. Fundamentals of the software industry: 2nd ed. Augmented and revised. Kyiv: Nauk. dumka, 372p.
Kulikov S.S. (2017) Software testing. Basic course. Minsk: Chetire chetverti, 312p.
Automation of the software testing process using JUnit. Access mode: https://cyberleninka.ru/article/n/avtomatizatsiya-protsessa-testirovaniya-programmnogo-obespecheniya-s-primeneniem-junit/viewer