CIDER : ІНСТРУМЕНТ АВТОМАТИЗАЦІЇ ТЕСТУВАННЯ C++ БІБЛІОТЕК

  • Mykhailo Hulevych
Ключові слова: автоматизація тестування, генерація скриптів, регресивне тестування, C , оптимізація, гармонічний пошук, покриття коду

Анотація

Програмне тестування є однією з найважливіших частин життєвого циклу розробки продукту. Компанії стикаються з значними ризиками, пов'язаними з відмовами програм, включаючи фінансові та репутаційні, тому цікавляться вкладенням часу та грошей у нові методи тестування та забезпечення якості. Програми, написані на C++, відомі своєю високою продуктивністю, але складні у зв'язку зі специфікою мови. У той же час автоматизовані інструменти, які доступні переважно для програм з графічним інтерфейсом користувача не є ефективними для тестуванням регресії вбудованих модулів. Таким чином, навіть часткова автоматизація таких процесів може мати позитивний вплив у відношенні оптимізації часу тестування регресії. У статті розглянута техніка тестування запису та відтворення виконання програми на рівні компонентів. Запропонований інструмент генерує сценарії тестування під час виконання програми, надаючи змогу виконувати ручне тестування та одночасно розширювати базу даних автоматизованого виконання компонентних тестів. Експерименти показали, що результати покриття коду таких сценаріїв є на високому рівні і мають тенденцію до покращення через алгоритмічну оптимізацію.

Завантаження

Дані про завантаження поки що недоступні.

Посилання

1. Yunho, K., Kim, M. and Kim, Y. (2022), “CITRUS: Automated Unit Testing Tool for Real-world C++ Programs”, 2022 IEEE Conference on Software Testing, Verification and Validation (ICST), Valencia, Spain, pp. 400–410, doi: https://doi.org/10.1109/ICST53961.2022.00046
2. Li, G., Ghosh, I. and Rajan, S. P. (2011), “KLOVER: A Symbolic Execution and Automatic Test Generation Tool for C++ Programs”, Computer Aided Verification 23rd International Conference, Springer, Berlin, Heidelberg, doi: https://doi.org/10.1007/978-3-642-22110-1_49
3. (2024), The LLVM compiler infrastructure, available at: http://www.llvm.org/
4. Zhang, S., Saff, D., Bu, Y. and Ernst, M.D. (2011), “Combined Static and Dynamic Automated Test Generation”, ISSTA '11: Proc. of the 2011 Int. Symp. on Software Testing and Analysis, N-Y, pp. 353–363, doi: https://doi.org/10.1145/2001420.2001463
5. (2024), Hjson, a user interface for JSON, available at: https://hjson.github.io
6. (2024), Light-weight, simple and fast XML parser for C++ with XPath support, available at: https://pugixml.org/
7. (2024), Simplified Wrapper and Interface Generator, available at: https://www.swig.org
8. (2024), The Programming Language Lua, available at: https://www.lua.org
9. Geem, Z., Kim, J. and Loganathan, G. (2001), “A new heuristic optimization algorithm: Harmony search”, Simulation, vol. 76, no. 2, pp. 60–68, doi: https://doi.org/10.1177/0037549701076002
10. Yang, X.-S. (2009), “Harmony Search as a Metaheuristic Algorithm”, Music-Inspired Harmony Search Algorithm: Theory and Applications, Studies in Computational Intelligence, vol. 191, Springer Berlin, Editor Z. W. Geem, 2009, pp. 1–14, doi: https://doi.org/10.1007/978-3-642-00185-7_1
11. Zalewski, M. (2024), American fuzzy lop (2.52b), available at: https://lcamtuf.coredump.cx/afl
Опубліковано
2024-04-30
Як цитувати
Hulevych Mykhailo Cider : інструмент автоматизації тестування c++ бібліотек / Mykhailo Hulevych // Системи управління, навігації та зв’язку. Збірник наукових праць. – Полтава: ПНТУ, 2024. – Т. 2 (76). – С. 74-77. – doi:https://doi.org/10.26906/SUNZ.2024.2.074.
Розділ
Інформаційні технології