Search Based Path and Input Data Generation for Web Application Testing

  • Matteo BiagiolaEmail author
  • Filippo Ricca
  • Paolo Tonella
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10452)


Test case generation for web applications aims at ensuring full coverage of the navigation structure. Existing approaches resort to crawling and manual/random input generation, with or without a preliminary construction of the navigation model. However, crawlers might be unable to reach some parts of the web application and random input generation might not receive enough guidance to produce the inputs needed to cover a given path. In this paper, we take advantage of the navigation structure implicitly specified by developers when they write the page objects used for web testing and we define a novel set of genetic operators that support the joint generation of test inputs and feasible navigation paths. On a case study, our tool Subweb was able to achieve higher coverage of the navigation model than crawling based approaches, thanks to its intrinsic ability of generating inputs for feasible paths and of discarding likely infeasible paths.


Web testing Test case generation 


  1. 1.
    Mesbah, A., van Deursen, A.: Invariant-based automatic testing of AJAX user interfaces. In: Proceedings of the 31st International Conference on Software Engineering, ICSE 2009, pp. 210–220. IEEE Computer Society, Washington, DC (2009)Google Scholar
  2. 2.
    Leotta, M., Clerissi, D., Ricca, F., Tonella, P.: Approaches and tools for automated end-to-end web testing. Adv. Comput. 101, 193–237 (2016)CrossRefGoogle Scholar
  3. 3.
    Artzi, S., Dolby, J., Jensen, S.H., Møller, A., Tip, F.: A framework for automated testing of Javascript web applications. In: Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, pp. 571–580. ACM, New York (2011)Google Scholar
  4. 4.
    Marchetto, A., Tonella, P., Ricca, F.: State-based testing of ajax web applications. In: Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation, ICST 2008, pp. 121–130. IEEE Computer Society, Washington, DC (2008)Google Scholar
  5. 5.
    Tonella, P., Ricca, F., Marchetto, A.: Recent advances in web testing. Adv. Comput. 93, 1–51 (2014)CrossRefGoogle Scholar
  6. 6.
    Pacheco, C., Lahiri, S.K., Ernst, M.D., Ball, T.: Feedback-directed random test generation. In: Proceedings of the 29th International Conference on Software Engineering, ICSE 2007, pp. 75–84. IEEE Computer Society, Washington, DC (2007)Google Scholar
  7. 7.
    Yu, B., Ma, L., Zhang, C.: Incremental web application testing using page object. In: Proceedings of the 2015 Third IEEE Workshop on Hot Topics in Web Systems and Technologies (HotWeb), HOTWEB 2015, pp. 1–6. IEEE Computer Society, Washington, DC (2015)Google Scholar
  8. 8.
    van Deursen, A.: Testing web applications with state objects. Commun. ACM 58(8), 36–43 (2015)CrossRefGoogle Scholar
  9. 9.
    Fraser, G., Arcuri, A.: Whole test suite generation. IEEE Trans. Softw. Eng. 39(2), 276–291 (2013)CrossRefGoogle Scholar
  10. 10.
    Mesbah, A., van Deursen, A., Lenselink, S.: Crawling ajax-based web applications through dynamic analysis of user interface state changes. ACM Trans. Web (TWEB) 6(1), 3:1–3:30 (2012)Google Scholar
  11. 11.
    Leotta, M., Stocco, A., Ricca, F., Tonella, P.: Robula+: an algorithm for generating robust xpath locators for web testing. J. Softw. Evol. Process 28(3), 177–204 (2016)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Matteo Biagiola
    • 1
    • 2
    Email author
  • Filippo Ricca
    • 2
  • Paolo Tonella
    • 1
  1. 1.Fondazione Bruno KesslerTrentoItaly
  2. 2.University of GenovaGenoaItaly

Personalised recommendations