Anomaly detection in performance regression testing by transaction profile estimation

As part of the process to test a new release of an application, the performance testing team need to confirm that the existing functionalities do not perform worse than those in the previous release, a problem known as performance regression anomaly. Most existing approaches to analyse performance regression testing data vary according to the applied workload, which usually leads to the need for an extra performance testing run. To ease such lengthy tasks, we propose a new workload‐independent, automated technique to detect anomalies in performance regression testing data using the concept known as transaction profile (TP). The TP is inferred from the performance regression testing data along with the queueing network model of the testing system. Based on a case study conducted against two web applications, one open source and one industrial, we have been able to automatically generate the ‘TP run report’ and verify that it can be used to uncover performance regression anomalies caused by software updates. In particular, the report helped us to isolate the real anomaly issues from those caused by workload changes with an average F1 measure of 85% for the open source application and 90% for the industrial application. Such results support our proposal to use the TP as a more efficient technique in identifying performance regression anomalies than the state of the art industry and research techniques. Copyright © 2015 John Wiley & Sons, Ltd.

[1]  Gregg Rothermel,et al.  An empirical study of regression test application frequency: Research Articles , 2005 .

[2]  RothermelGregg,et al.  An empirical study of regression test application frequency , 2005 .

[3]  PacificiGiovanni,et al.  An analytical model for multi-tier internet services and its applications , 2005 .

[4]  Evgenia Smirni,et al.  Anomaly? application change? or workload change? towards automated detection of application performance anomaly and change , 2008, 2008 IEEE International Conference on Dependable Systems and Networks With FTCS and DCC (DSN).

[5]  Jean C. Walrand,et al.  An introduction to queueing networks , 1989, Prentice Hall International editions.

[6]  Edward D. Lazowska,et al.  Quantitative System Performance , 1985, Int. CMG Conference.

[7]  Miao Wang,et al.  Automatic, load-independent detection of performance regressions by transaction profiles , 2013, JAMAICA 2013.

[8]  Leonid Grinshpan Solving Enterprise Applications Performance Puzzles: Queuing Models to the Rescue , 2012 .

[9]  Edward D. Lazowska,et al.  Quantitative system performance - computer system analysis using queueing network models , 1983, Int. CMG Conference.

[10]  Fan Zhang,et al.  Parameter inference of queueing models for IT systems using end-to-end measurements , 2004, SIGMETRICS '04/Performance '04.

[11]  C. Murray Woodside,et al.  Enhanced Modeling and Solution of Layered Queueing Networks , 2009, IEEE Transactions on Software Engineering.

[12]  Giuseppe Serazzi,et al.  Java Modelling Tools: an Open Source Suite for Queueing Network Modelling andWorkload Analysis , 2006, Third International Conference on the Quantitative Evaluation of Systems - (QEST'06).

[13]  Ying Zou,et al.  Mining Performance Regression Testing Repositories for Automated Performance Analysis , 2010, 2010 10th International Conference on Quality Software.

[14]  Samuel Kounev,et al.  Performance Modeling and Evaluation of Large-Scale J2EE Applications , 2003, Int. CMG Conference.

[15]  James R. Cordy,et al.  Modelling methods for web application verification and testing: state of the art , 2009, Softw. Test. Verification Reliab..

[16]  Asser N. Tantawi,et al.  An analytical model for multi-tier internet services and its applications , 2005, SIGMETRICS '05.

[17]  Miao Wang,et al.  Profile-Based, Load-Independent Anomaly Detection and Analysis in Performance Regression Testing of Software Systems , 2013, 2013 17th European Conference on Software Maintenance and Reengineering.

[18]  Zhen Ming Jiang,et al.  Automated analysis of load testing results , 2010, ISSTA '10.

[19]  Gregg Rothermel,et al.  An empirical study of regression test application frequency , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[20]  Guy Pujolle,et al.  Introduction to queueing networks , 1987 .

[21]  K. Mani Chandy,et al.  Open, Closed, and Mixed Networks of Queues with Different Classes of Customers , 1975, JACM.

[22]  Frank M. Bereznay Did something change? using statistical techniques to interpret service and resource metrics , 2006, Int. CMG Conference.

[23]  Scott F. Midkiff,et al.  Queueing network analysis: concepts, terminology, and methods , 2003, J. Syst. Softw..

[24]  James R. Cordy,et al.  Modelling methods for web application verification and testing: state of the art , 2009 .

[25]  Roberto Turrin,et al.  Robust Workload Estimation in Queueing Network Performance Models , 2008, 16th Euromicro Conference on Parallel, Distributed and Network-Based Processing (PDP 2008).

[26]  Thanh H. D. Nguyen Using Control Charts for Detecting and Understanding Performance Regressions in Large Software , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[27]  Stephen Dawson,et al.  Estimating service resource consumption from response time measurements , 2009, VALUETOOLS.

[28]  Ahmed E. Hassan,et al.  Automatic detection of performance deviations in the load testing of Large Scale Systems , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[29]  Virgílio A. F. Almeida,et al.  Capacity Planning for Web Services: Metrics, Models, and Methods , 2001 .

[30]  Mark Harman,et al.  Reformulating software engineering as a search problem , 2003 .

[31]  Xiao Ma,et al.  Performance regression testing target prioritization via performance risk analysis , 2014, ICSE.

[32]  Yujia Ge,et al.  A Reactivity-based Framework of Automated Performance Testing for Web Applications , 2010, 2010 Ninth International Symposium on Distributed Computing and Applications to Business, Engineering and Science.

[33]  Ray Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[34]  John C. Cherniavsky,et al.  Validation, Verification, and Testing of Computer Software , 1982, CSUR.

[35]  Miao Wang,et al.  Software contention aware queueing network model of three-tier web systems , 2014, ICPE.

[36]  Marko Becker Performance By Design Computer Capacity Planning By Example , 2016 .

[37]  Jing Li,et al.  Specifying and Verifying Web Transactions , 2008, FORTE.

[38]  Ahmed E. Hassan,et al.  Automated detection of performance regressions using statistical process control techniques , 2012, ICPE '12.

[39]  Giuseppe Serazzi Performance Evaluation Modelling with JMT: learning by examples , 2008 .

[40]  Miao Wang,et al.  Transaction Profile Estimation of Queueing Network Models for IT Systems Using a Search-Based Technique , 2014, SSBSE.