Pragmatic Approach to Test Case Reuse - A Case Study in Android OS BiDiTests Library

  • Suriya Priya R. Asaithambi
  • Stan Jarzabek
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8919)

Abstract

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.

Keywords

Reusability Test Libraries Test Clones Software Testing Mobile Platform Android Platform Test Libraries Test Construction Approach 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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
  2. 2.
    Asaithambi, S.P.R., Jarzabek, S.: Towards Test Case Reuse: A Study of Redundancies in Android Platform Test Libraries. In: Favaro, J., Morisio, M. (eds.) ICSR 2013. LNCS, vol. 7925, pp. 49–64. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  3. 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. 4.
    Basit, H.A., Jarzabek, S.: A case for structural clones. In: Proc. Int. Workshop on Software Clones (IWSC 2009) (2009)Google Scholar
  5. 5.
    Basit, H.A., Jarzabek, S.: A data mining approach for detecting higher-level clones in software. IEEE Transactions on Software Engineering 35(4), 497–514 (2009)CrossRefGoogle Scholar
  6. 6.
    Beizer, B.: Software testing techniques. Dreamtech Press (2003)Google Scholar
  7. 7.
    Bertolino, A.: Software testing research: Achievements, challenges, dreams. In: 2007 Future of Software Engineering, pp. 85–103. IEEE Computer Society (2007)Google Scholar
  8. 8.
    Cohen, D.M., Dalal, S.R., Fredman, M.L., Patton, G.C.: The AETG system: An approach to testing based on combinatorial design. IEEE Transactions on Software Engineering 23(7), 437–444 (1997)CrossRefGoogle Scholar
  9. 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. 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. 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
  12. 12.
    McGregor, J.D.: Testing a software product line. In: Borba, P., Cavalcanti, A., Sampaio, A., Woodcook, J. (eds.) PSSE 2007. LNCS, vol. 6153, pp. 104–140. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  13. 13.
    Offutt, J., Abdurazik, A.: Generating tests from UML specifications. In: France, R.B. (ed.) UML 1999. LNCS, vol. 1723, pp. 416–429. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  14. 14.
    Riebisch, M., Philippow, I., Götze, M.: UML-based statistical test case generation. In: Akşit, M., Mezini, M., Unland, R. (eds.) NODe 2002. LNCS, vol. 2591, pp. 394–411. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  15. 15.
    Utting, M., Legeard, B.: Practical model-based testing: A tools approach. Morgan Kaufmann (2010) 0080466486Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Suriya Priya R. Asaithambi
    • 1
  • Stan Jarzabek
    • 1
    • 2
  1. 1.School of ComputingNational UniversitySingapore
  2. 2.Faculty of Computer ScienceBialystok University of TechnologySingapore

Personalised recommendations