Semi-automated Algorithm for Complex Test Data Generation for Interface-based Regression Testing of Software Components
Tomas Potuzak, Richard Lipka
DOI: http://dx.doi.org/10.15439/2021F58
Citation: Proceedings of the 16th Conference on Computer Science and Intelligence Systems, M. Ganzha, L. Maciaszek, M. Paprzycki, D. Ślęzak (eds). ACSIS, Vol. 25, pages 501–510 (2021)
Abstract. This paper describes in detail the Complex Object Generation (COG) algorithm, which is a semi-automated algorithm for the generation of instances of classes (i.e., objects) with a complex inner structure for Java and similar languages designed for black-box testing (i.e., without available source code). The algorithm was developed and tested as a stand-alone algorithm and can be used as such (e.g., during unit testing). However, we plan to use it to generate the parameter values of generated method invocations, which is a vital part of our interface-based regression testing of software components.
References
- C. Szyperski, D. Gruntz, and S. Murer, Component Software – Beyond Object-Oriented Programming, ACM Press, New York, 2000.
- T. Potuzak, R. Lipka, and P. Brada, “Interface-based Semi-automated Testing of Software Components,” in Proceedings of the 2017 Federated Conference on Computer Science and Information Systems, Prague, September 2017, pp. 1335-1344, http://dx.doi.org/10.15439/-2017F139
- T. Potuzak and R. Lipka, “Algorithm for Generation of Complex Test Data for Interface-based Regression Testing of Software Compo-nents,” SAC '21: Proceedings of the 36th Annual ACM Symposium on Applied Computing, Virtual Event, Republic of Korea, March 2021, pp. 1305-1308, http://dx.doi.org/10.1145/3412841.3442118
- T. Potuzak and R. Lipka: “Deep Object Comparison for Interface-based Regression Testing of Software Components,” in Proceedings of the 2018 Federated Conference on Computer Science and Information Systems, Poznan, September 2018, pp. 1053-1062, http://dx.doi.org/10.15439/2018F51
- J. T. Chan and W. Yang, “Advanced obfuscation techniques for Java bytecode,” Journal of Systems and Software, vol. 71, No. 1-2, 2004, pp. 1-10, http://dx.doi.org/10.1016/S0164-1212(02)00066-3
- The OSGi Alliance, OSGi Service Platform Core Specification, release 4, version 4.2, 2009.
- M. Bures and B. S. Ahmed, “On the effectiveness of combinatorial interaction testing: A case study,” in 2017 IEEE International Conference on Software Quality, Reliability and Security Companion (QRS-C), July 2017, pp. 69–76, http://dx.doi.org/10.1109/QRSC.-2017.20
- B. S. Ahmed, L. M. Gambardella, W. Afzal, and K. Z. Zamli, “Handling constraints in combinatorial interaction testing in the presence of multi objective particle swarm and multithreading,” Information and Software Technology, vol. 86, pp. 20–36, 2017, http://dx.doi.org/10.1016/j.infsof.2017.02.004
- D. Rubio, Pro Spring Dynamic Modules for OSGiTM Service Platform, Apress, USA, 2009.
- G. J. Myers, T. Badgett, and C. Sandler, The Art o Software Testing, Third Edition, John Wiley and Sons, Inc., Hoboken, 2012.
- P. G. Sapna and H. Mohanty, “Automated Scenario Generation based on UML Activity Diagrams,” International Conference on Information Technology, 2008, December 2008, pp. 209–214, http://dx.doi.org/10.1109/ICIT.2008.52
- S. J. Cunning and J. W. Rozenbiit, “Test Scenario Generation from a Structured Requirements Specification,” IEEE Conference and Workshop on Engineering of Computer-Based Systems, 1999, Proceedings, March 1999, pp. 166–172, http://dx.doi.org/10.1109/- ECBS.1999.755876
- K. Jezek, L. Holy, A. Slezacek, and P. Brada, “Software Components Compatibility Verification Based on Static Byte-Code Analysis,” 39th Euromicro Conference Series on Software Engineering and Advanced Applications, Santander, September 2013, pp. 145-152, http://dx.doi.org/10.1109/SEAA.2013.58
- Mockaroo. Accessed: 2018-35-05. [Online]. Available: https://www.mockaroo.com
- Dtm test xml generator. Accessed: 2018-05-05. [Online]. Available: http://www.sqledit.com/xmlgenerator
- Redgate. Accessed: 2018-03-05. [Online]. Available: http://www.red-gate.com/products/sql-development/sql-data-generator
- Podam - pojo data mocker. Accessed: 2018-03-05. [Online]. Available: https://github.com/mtedone/podam
- R. Lipka, “Automated Generator for Complex and Realistic Test Data,” in 2017 IEEE International Conference on Software Quality, Reliability and Security Companion (QRS-C), July 2017, pp. 628-629, http://dx.doi.org/10.1109/QRS-C.2017.122
- R. Lipka and T. Potuzak, “Automated generator for complex and realistic test data - a case study,” in Communication Papers of the 2018 Federated Conference on Computer Science and Information Systems, Poznan, September 2018, pp. 1053-1062, http://dx.doi.org/-10.15439/2018F214
- D. Marinov and R. O’Callahan, “Object Equality Profiling,” in Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, Anaheim, October 2003, pp. 313-325, http://dx.doi.org/10.1145/-949305.949333
- A. Infante and A. Bergel, “Object Equivalence: Revisiting Object Equality Profiling (An Experience Report),” in Proceedings of the 13th ACM SIGPLAN International Symposium on Dynamic Languages, Vancouver, October 2017, pp. 27-38, http://dx.doi.org/-10.1145/3170472.3133844
- G. M. Rama and R. Komondoor, “A Dynamic Analysis to Support Object-Sharing Code Refactorings,” in Proceedings of the 29th ACM/IEEE international conference on Automated software engineering, Vasteras, September 2014, pp. 713-723, http://dx.doi.org/10.1145/2642937.2642992
- M. J. Steindorfer and J. J. Vinju, “Performance Modeling of Maximal Sharing,” in Proceedings of the 7th ACM/SPEC on International Conference on Performance Engineering, Delft, March 2016, http://dx.doi.org/10.1145/2851553.2851566
- N. Grech, J. Rathke, and B. Fischer, “JEqualityGen: Generating Equality and Hashing Methods,” in Proceedings of the ninth international conference on Generative programming and component engineering, Eindhoven, October 2010, pp. 177-186, http://dx.doi.org/10.1145/1942788.1868320
- F. Naseer, S. U. Rehman, and K. Hussain, “Using Meta-data Technique for Component Based Black Box Testing,” in 2010 6th International Conference on Emerging Technologies, Islamabad, 2010, pp. 276–281, http://dx.doi.org/10.1109/ICET.2010.5638474
- Dynamic JavaFX form generation. Accessed 2019-05-02. [Online]. Available: https://github.com/dooApp/FXForm2
- I. R. Forman, N. Forman, Java Reflection in Action, Manning Publications, 2004.
- Java runtime metadata analysis. Accessed 2019-05-03. [Online]. Available: https://github.com/ronmamo/reflections
- Class Proxy. Accessed 2019-05-03. [Online]. Available: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Proxy.html