Automated event trace analysis for regression testing
Abstract
Modern IT systems become more and more distributed, both in literal sense - as business logic spreads across applications running in several different network domains, and in a metaphorical sense - as expert knowledge about system's inner working spreads across different outsource companies and hundreds of documents. In this paper we are discussing regression testing as one of the issues related to that trend. When it comes to testing, quality of specifications is a major issue. They are either unmanageably big and outdated, or very much fragmented - each specifying its own module, but lacking perspective on how system works as a whole. In our practice, it often comes down to reverse engineering to discover what exactly different parts of the system are expecting from each other, but such ad hoc techniques are not welcome in the domain of testing. Different approach relies on analyzing system's events trace that is provided either by business activity monitoring tools, transaction logs or, simply, log files. There is a lot of different data mining techniques already developed; we are mostly interested in process mining as a way of discovering system's decision model. A key factor of any process mining application is the algorithm of discovering events relation. It can be either generic algorithm like Alpha-algorithm or a specific algorithm tailored for a particular set of possible events. In this paper we provide an outline for a specific algorithm that we use to discover events relation in a special environment. The environment we are using is specifically designed for the goal and has central part in the process. It is used for mediating interactions happening between system's modules in run-time as a discrete process thus providing us with a very straightforward way of determining events causality.
References
1. W. van der Aalst. Business alignment: using process mining as a tool for Delta analysis and conformance testing. Requirements Engineering, 10(3):198–211, August 2005.
2. A. Adriansyah and J. Buijs. Mining Process Performance from Event Logs. Business Process Management Workshops, 2013.
3. V.N. Fedotov. Run-time monitoring for model-based testing of distributed systems. SYRCoSE 2012.
4. V.N. Fedotov. Service-oriented approach to integration testing in distributed systems. SYRCoSE 2010.
5. R. Hewett. Mining software defect data to support software testing management. Applied Intelligence, 34(2):245–257, September 2009.
6. M. Last, M. Friedman, A. Kandel. The data mining approach to automated software testing. Proceedings of the ninth ACM SIGKDD international conference on Knowledge discovery and data mining - KDD '03, page 388, 2003.
7. J. Luo, S.M. Bridges. Mining fuzzy association rules and fuzzy frequency episodes for intrusion detection. International Journal of Intelligent Systems, 15(I):1–36, 2000.
8. W. van der Aalst, T. Weijters, and L. Maruster. Workflow mining: discovering process models from event logs. IEEE Transactions on Knowledge and Data Engineering, 16(9):1128–1142, September 2004.
Review
For citations:
Fedotov V. Automated event trace analysis for regression testing. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2013;24. (In Russ.)