Cluster Computing

, Volume 20, Issue 1, pp 855–865 | Cite as

Exploratory testing supported by automated reengineering of model of the system under test



Exploratory Testing technique is well applicable to software development projects, where test basis is not available (or at least not complete and consistent to the extent allowing the creation of efficient test cases). The key factor for the efficiency of this technique is a structured process for the recording of explored path in the system under test. This approach also allows the creation of the test cases during exploratory testing process. These test cases can be used in the following re-testing of the system. If performed manually, the efficiency of such process strongly depends on the team organization and systematic work of the individuals in the team. This process can be aided by an automated support. In the paper, a framework, which automatically records selected tester’s actions in the system under test is presented. From these recordings, a model of the screen and action flows is reengineered and test cases are prepared. Tester is also able to define more meta-data in the test cases during this process. The recorded model and defined test cases are then available for the next rounds of testing. The performed case study shows that Exploratory Testing aided by this machine support is less resource demanding than Exploratory Testing performed manually only. Also, larger part of SUT was explored during the tests, when this systematic support was available to testers.


Exploratory testing Model of system under test Model reengineering Model-based testing Generation of test cases from model 


  1. 1.
    Eldh, S., Hansson, H., Punnekkat, S., Pettersson, A., Sundmark, D.: A framework for comparing efficiency, effectiveness and applicability of software testing techniques. In: Proceedings of the Testing: Academic and Industrial Conference—Practice And Research Techniques, 2006. TAIC PART 2006, pp. 159–170 (2006)Google Scholar
  2. 2.
    Tinkham, A., Kaner, C.: Learning styles and exploratory testing. In: Proceedings of the Pacific Northwest Software Quality Conference (PNSQC) (2003)Google Scholar
  3. 3.
    Shufer, I., Ledenev, A., Burg, Y.: System and method for monitoring exploratory testing by a plurality of testers (2013). US Patent 8,555,253Google Scholar
  4. 4.
    Homès, B.: Fundamentals of Software Testing. Wiley, New York (2013)Google Scholar
  5. 5.
    Reeves, J.W.: What is software design. C++ J., 2(2):14–12 (1992)Google Scholar
  6. 6.
    Mesbah, A., Van Deursen, A., Lenselink, S.: Crawling ajax-based web applications through dynamic analysis of user interface state changes. ACM Trans. Web 6(1), 3 (2012)CrossRefGoogle Scholar
  7. 7.
    Bellucci, F., Ghiani, G., Paternò, F., Porta, C.: Automatic reverse engineering of interactive dynamic web applications to support adaptation across platforms. In: Proceedings of the 2012 ACM International Conference on Intelligent User Interfaces, pp. 217–226. ACM (2012)Google Scholar
  8. 8.
    Sacramento, C., Paiva, A.C.R.: Web application model generation through reverse engineering and UI pattern inferring. In: 2014 9th International Conference on the Quality of Information and Communications Technology (QUATIC), pp. 105–115. IEEE (2014)Google Scholar
  9. 9.
    Deutsch, Alin: Sui, Liying, Vianu, Victor: Specification and verification of data-driven web applications. J. Comput. Syst. Sci. 73(3), 442–474 (2007)CrossRefGoogle Scholar
  10. 10.
    Bures, M.: Decision theorem for construction of adaptive hypermedia system. In: 2nd IASTED International Conference on Web Technologies, Applications and Services, pp. 84–89 (2006)Google Scholar
  11. 11.
    Cerny, T., Donahoo, M.J.: On separation of platform-independent particles in user interfaces. Cluster Comput. 18(3), 1215–1228 (2015)CrossRefGoogle Scholar
  12. 12.
    Cerny, T., Macik, M., Donahoo, M.J., Janousek, J.: On distributed concern delivery in user interface design. Comput. Sci. Inform. Syst. 12(2), 655–681 (2015)CrossRefGoogle Scholar
  13. 13.
    Dolezel, M.: Images of enterprise test organizations: factory, center of excellence, or community?. In: International Conference on Software Quality. Complexity and Challenges of Software Engineering in Emerging Technologies, pp. 105–116. Springer (2017)Google Scholar
  14. 14.
    Kumar, B., Singh, K.: Testing uml designs using class, sequence and activity diagrams. Int. J. Innov. Res. Sci. Technol. 2(3), 71–81 (2015)MathSciNetGoogle Scholar
  15. 15.
    Yue, T., Ali, S., Briand, L.: Automated transition from use cases to UML state machines to support state-based testing. In: Modelling Foundations and Applications, pp. 115–131. Springer, Berlin (2011)Google Scholar
  16. 16.
    Lipka, R., Potuzak, T., Brada, P., Hnetynka, P., Vinarek, J.: A method for semi–automated generation of test scenarios based on use cases. In: Software Engineering and Advanced Applications (SEAA), 41st Euromicro Conference on IEEE, pp. 241–244 (2015)Google Scholar
  17. 17.
    Potuzak, T., Lipka, R.: Interface-based semi-automated generation of scenarios for simulation testing of software components. In: SIMUL, pp. 35–42. IARIA (2014)Google Scholar
  18. 18.
    Ricca, F., Tonella, P.: Analysis and testing of web applications. In: Proceedings of the 23rd International Conference on Software Engineering, pp. 25–34. IEEE Computer Society (2001)Google Scholar
  19. 19.
    Morgado, I.C., Paiva, A.C.R.: Testing approach for mobile applications through reverse engineering of UI patterns. In: 2015 30th IEEE/ACM International Conference on Automated Software Engineering Workshop (ASEW), pp. 42–49 (2015)Google Scholar
  20. 20.
    Liu, C.H., Lu, C.Y., Cheng, S.J., Chang, K.Y., Hsiao, Y.C., Chu, W.M.: Capture-replay testing for android applications. In: 2014 International Symposium on Computer, Consumer and Control (IS3C), pp. 1129–1132 (2014)Google Scholar
  21. 21.
    Itkonen, J., Mäntylä, M.V.: Are test cases needed? replicated comparison between exploratory and test-case-based software testing. Empir. Softw. Eng. 19(2), 303–342 (2014)CrossRefGoogle Scholar
  22. 22.
    Itkonen, J., Mäntylä, M.V., Lassenius, C.: Defect detection efficiency: test case based vs. exploratory testing. Proceedings of the First International Symposium on Empirical Software Engineering and Measurement. ESEM ’07, pp. 61–70. IEEE Computer Society, Washington, DC, USA (2007)Google Scholar
  23. 23.
    do Nascimento, L.H.O., Machado, P.D.L.: An experimental evaluation of approaches to feature testing in the mobile phone applications domain. In: Workshop on Domain Specific Approaches to Software Test Automation: In Conjunction with the 6th ESEC/FSE Joint Meeting, pp. 27–33. ACM (2007)Google Scholar
  24. 24.
    Shah, S.M.A., Gencel, C., Alvi, U.S., Petersen, K.: Towards a hybrid testing process unifying exploratory testing and scripted testing. J. Softw. Evol. Process 26(2), 220–250 (2014)CrossRefGoogle Scholar
  25. 25.
    Kim, D.-K., Lee, L.-S.: Reverse engineering from exploratory testing to specification-based testing. Int J Softw Eng Appl 8(11), 197–208 (2014)Google Scholar
  26. 26.
    Sikuli script @ONLINE. (2016)
  27. 27.
    Amalfitano, D., Fasolino, A.R., Tramontana, P., Ta, B.D., Memon, A.M.: Mobiguitar: automated model-based testing of mobile apps. IEEE Softw. 32(5), 53–59 (2015)Google Scholar
  28. 28.
    Entin, V., Winder, M., Zhang, B., Christmann, S.: Combining model-based and capture-replay testing techniques of graphical user interfaces: an industrial approach. In: 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops (ICSTW), pp. 572–577 (2011)Google Scholar
  29. 29.
  30. 30.
    Mugshot: Deterministic Capture and Replay for JavaScript Applications. USENIX (2010)Google Scholar
  31. 31.
    Leotta, M., Clerissi, D., Ricca, F., Tonella, P.: Capture-replay vs. programmable web testing: an empirical assessment during test case evolution. In: 2013 20th Working Conference on Reverse Engineering (WCRE), pp. 272–281 (2013)Google Scholar

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  1. 1.Department of Computer Science, Faculty of Electrical EngineeringCzech Technical UniversityPraha 2Czech Republic

Personalised recommendations