Regression Test Selection for Distributed Software Histories

作者: Milos Gligoric , Rupak Majumdar , Rohan Sharma , Lamyaa Eloussi , Darko Marinov

DOI: 10.1007/978-3-319-08867-9_19

关键词:

摘要: Regression test selection analyzes incremental changes to a codebase and chooses run only those tests whose behavior may be affected by the latest in code. By focusing on small subset of all tests, testing process runs faster can more tightly integrated into development process. Existing techniques for regression consider two versions code at time, effectively assuming where occur linear sequence. Modern processes that use distributed version-control systems are complex. Software version histories generally modeled as directed graphs; addition occurring linearly, multiple related other commands, e.g., branch, merge, rebase, cherry-pick, revert, etc. This paper describes test-selection technique software developed using modern systems. modeling different branch or merge commands directly our technique, it computes safe sets substantially smaller than applying previous linearization history. We evaluate several large open-source projects. The results encouraging: obtained an average 10.89× reduction number over existing while still selecting differ.

参考文章(32)
Stephen S. Yau, Zenichi Kishimoto, METHOD FOR REVALIDATING MODIFIED PROGRAMS IN THE MAINTENANCE PHASE. IEEE. pp. 272- 277 ,(1987)
Ravi Sethi, Jeffrey D. Ullman, Alfred V. Aho, Compilers: Principles, Techniques, and Tools ,(1986)
Stefan Eckhardt, Andreas Michael Mühling, Johannes Nowak, Fast Lowest Common Ancestor Computations in Dags Algorithms – ESA 2007. pp. 705- 716 ,(2007) , 10.1007/978-3-540-75520-3_62
Yasufumi Toyoshima, David Chenho Kung, Pei Hsia, Jerry Gao, Jeremy Lin, Class firewall, test order, and regression testing of object-oriented programs Journal of Object-oriented Programming. ,vol. 8, pp. 51- 65 ,(1995)
M.J. Harrold, M.L. Souffa, An incremental approach to unit testing during maintenance international conference on software maintenance. pp. 362- 367 ,(1988) , 10.1109/ICSM.1988.10188
Peter C. Rigby, Daniel M. German, Christian Bird, Earl T. Barr, Prem Devanbu, What effect does distributed version control have on OSS project organization Proceedings of the 1st International Workshop on Release Engineering. pp. 29- 32 ,(2013) , 10.5555/2663360.2663368
Pavel Sumazin, Giridhar Pemmasani, Steven Skiena, Michael A. Bender, Finding least common ancestors in directed acyclic graphs symposium on discrete algorithms. pp. 845- 854 ,(2001) , 10.5555/365411.365795
Caius Brindescu, Mihai Codoban, Sergii Shmarkatiuk, Danny Dig, How do centralized and distributed version control systems impact software changes international conference on software engineering. pp. 322- 333 ,(2014) , 10.1145/2568225.2568322
Emelie Engström, Mats Skoglund, Per Runeson, Empirical evaluations of regression test selection techniques: a systematic review empirical software engineering and measurement. pp. 22- 31 ,(2008) , 10.1145/1414004.1414011
S. Yoo, M. Harman, Regression testing minimization, selection and prioritization: a survey Software Testing, Verification and Reliability. ,vol. 22, pp. 67- 120 ,(2012) , 10.1002/STV.430