Abstract
The quality of software components will greatly impact the quality of software end-products built from them. The traditional static and dynamic methods in software test have their limits and need to improve in component test area. The static test method has high runtime performance but low development productivity and is normally used for component interface test for its simplicity. The dynamic test method has high development productivity but low runtime performance and is normally used for business scenario test for its flexibility. While in time-critical applications, for example a financial trading system, the performance test of various business scenarios might produce high development cost due to low productivity of the static method. To solve this problem, this paper proposes a flexible and efficient approach to component test in time-critical scenarios. Inspired by the respective advantages of two traditional methods, runtime performance and development productivity are both achieved in this approach by rapid creation of test suites in a simple domain specific language and instant execution of them in a web-based service. A pilot project has successfully validated this approach in an inter-bank trading component test.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Crnkovic, I.: Component-based software engineering–new challenges in software development. Softw. Focus 2(4), 127–133 (2001)
Medvidovic, N., Taylor, R.N.: Software architecture: foundations, theory, and practice. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, vol. 2. ACM (2010)
Pohl, K., Böckle, G., van Der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Berlin (2005). https://doi.org/10.1007/3-540-28901-1
Nadareishvili, I., et al.: Microservice Architecture: Aligning Principles, Practices, and Culture. O’Reilly Media Inc., Newton (2016)
Mcllroy, M.D., et al.: Mass-produced software components. In: Proceedings of the 1st International Conference on Software Engineering, Garmisch Pattenkirchen, Germany (1968)
Griss, M.L.: Software reuse: architecture, process and organization for business success. In: Tools. IEEE (1998)
Randell, B.: The 1968/69 NATO software engineering reports. In: History of Software Engineering, p. 37 (1996)
Royce, W.W.: Managing the development of large software systems: concepts and techniques. In: Proceedings of the 9th International Conference on Software Engineering. IEEE Computer Society Press (1987)
Abrahamsson, P., et al.: Agile software development methods: review and analysis. In: Proceedings of the Espoo, pp. 3–107 (2002)
Software Testing Life Cycle (STLC), Software Testing Fundamentals. http://softwaretestingfundamentals.com/software-testing-life-cycle/
Fowler, M.: Domain-Specific Languages. Pearson Education, London (2010)
Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)
Fewster, M., Graham, D.: Software Test Automation: Effective Use of Test Execution Tools. ACM Press/Addison-Wesley Publishing Co., New York (1999)
Memon, A.M., Pollack, M.E., Soffa, M.L.: Using a goal-driven approach to generate test cases for GUIs. In: Proceedings of the 1999 International Conference on Software Engineering. IEEE (1999)
Clarke, J.M.: Automated test generation from a behavioral model. In: Proceedings of Pacific Northwest Software Quality Conference. IEEE Press (1998)
Amalfitano, D., et al.: Using GUI ripping for automated testing of Android applications. In: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering. ACM (2012)
Vieira, M., et al.: Automation of GUI testing using a model-driven approach. In: Proceedings of the 2006 International Workshop on Automation of Software Test. ACM (2006)
Wikipedia: Comparison of GUI testing tools. https://en.wikipedia.org/wiki/Comparison_of_GUI_testing_tools
Rutherford, M.J., Wolf, A.L.: A case for test-code generation in model-driven systems. In: Pfenning, F., Smaragdakis, Y. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 377–396. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-39815-8_23
Xu, D.: A tool for automated test code generation from high-level petri nets. In: Kristensen, L.M., Petrucci, L. (eds.) PETRI NETS 2011. LNCS, vol. 6709, pp. 308–317. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21834-7_17
Sturmer, I., Conrad, M.: Test suite design for code generation tools. In: 2003 Proceedings of the 18th IEEE International Conference on Automated Software Engineering. IEEE (2003)
Saff, D., Ernst, M.D.: Reducing wasted development time via continuous testing. In: International Symposium on Software Reliability Engineering. IEEE (2003)
Giudice, D.L.: The Forrester Waveâ„¢: Modern Application Functional Test Automation Tools, Q4 2016. Gartner, 5 December 2016
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Bao, X., Wang, Z., Chen, X. (2019). A Flexible and Efficient Approach to Component Test in Time-Critical Scenarios. In: Peng, X., Ampatzoglou, A., Bhowmik, T. (eds) Reuse in the Big Data Era. ICSR 2019. Lecture Notes in Computer Science(), vol 11602. Springer, Cham. https://doi.org/10.1007/978-3-030-22888-0_1
Download citation
DOI: https://doi.org/10.1007/978-3-030-22888-0_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-22887-3
Online ISBN: 978-3-030-22888-0
eBook Packages: Computer ScienceComputer Science (R0)