Pragmatic Approach to Test Case Reuse - A Case Study in Android OS BiDiTests Library
Test libraries explode in size, but both practitioners and researchers report much redundancy among test cases. Similar functions require similar test cases. Redundancy may be particularly overwhelming in test libraries for mobile computing, where we need to test the same functionality implemented on various models/brands of mobile phones. Redundancies create reuse opportunities. We propose a generic adaptive test template (GATT) approach to contain explosion of test libraries by reusing common recurring test patterns instead of enumerating the same test case in many variant forms. The objective is to ease the test development and maintenance effort. The process starts with automated detection of test clones. We represent a group of similar test cases by a test template along with specifications for automated generation of test cases in a group. We illustrate GATT with examples from Android OS test libraries, and evaluate its benefits and trade-offs. The approach scales to large test libraries and is oblivious to application domains or programming languages. GATT is practical as it focuses on managing test libraries without affecting the follow up test execution. Therefore, it smoothly blends with any other existing techniques and tools used for testing.
KeywordsReusability Test Libraries Test Clones Software Testing Mobile Platform Android Platform Test Libraries Test Construction Approach
Unable to display preview. Download preview PDF.
- 1.Asaithambi, S.P.R., Jarzabek, S.: Generic adaptable test cases for software product line testing: Software product line. In: Proceedings of the 3rd Annual Conference on Systems, Programming, and Applications: Software for Humanity, pp. 33–36. ACM (2012)Google Scholar
- 3.Basit, H.A., Ali, U., Haque, S., Jarzabek, S.: Things structural clones tell that simple clones don’t. In: 28th IEEE International Conference on Software Maintenance (ICSM), pp. 275–284. IEEE (2012)Google Scholar
- 4.Basit, H.A., Jarzabek, S.: A case for structural clones. In: Proc. Int. Workshop on Software Clones (IWSC 2009) (2009)Google Scholar
- 6.Beizer, B.: Software testing techniques. Dreamtech Press (2003)Google Scholar
- 7.Bertolino, A.: Software testing research: Achievements, challenges, dreams. In: 2007 Future of Software Engineering, pp. 85–103. IEEE Computer Society (2007)Google Scholar
- 9.Gnesi, S., Latella, D., Massink, M.: Formal test-case generation for UML statecharts. In: Proceedings of the Ninth IEEE International Conference on Engineering Complex Computer Systems, pp. 75–84 (2004)Google Scholar
- 10.Hartman, A.: Software and hardware testing using combinatorial covering suites. In: Graph Theory, Combinatorics and Algorithms, pp. 237–266. Springer (2005)Google Scholar
- 11.Kraft, N., Bonds, B., And Smith, R.: Cross-language clone detection. In: Proceedings of the 20th International Conference on Software Engineering and Knowledge Engineering, SEKE (2008)Google Scholar
- 15.Utting, M., Legeard, B.: Practical model-based testing: A tools approach. Morgan Kaufmann (2010) 0080466486Google Scholar