skip to main content
research-article

Model-based Testing of Interactive Systems using Interaction Sequences

Published:18 June 2020Publication History
Skip Abstract Section

Abstract

Testing is an important part of the software engineering process to help ensure that systems will behave as expected. In this paper we investigate interactive system testing, taking into consideration the different components of the system. Interactive systems have three different components, the interactive, functional and overlap. The interactive component is the interface of the interactive system, the functional the underlying instructions of the interactive system, and the overlap component the point at which the interactive and functional components intersect. The interactive and functional components are often tested separately, however, problems can occur where these components overlap. Therefore, in this paper we present a model-based testing approach specifically designed to inspect the overlap component behaviour and to ensure that it behaves as expected.

References

  1. 2017. A General Framework for Comparing Automatic Testing Techniques of Android Mobile Apps.J. Syst. Softw. 125, C (March 2017), 322--343. https://doi.org/10.1016/j.jss.2016.12.017Google ScholarGoogle Scholar
  2. E. Barboni, J.-F. Ladry, D. Navarre, P. Palanque, and M. Winckler. 2010. Beyond Modelling: An Integrated Environment Supporting Co-execution of Tasks and Systems Models. In Proceedings of the 2Nd ACM SIGCHI Symposium on Engineering Interactive Computing Systems (EICS '10). ACM, New York, NY, USA, 165--174. https://doi.org/10.1145/1822018.1822043Google ScholarGoogle Scholar
  3. F. Belli and C. J. Budnik. 2005. Minimal Spanning Set for Coverage Testing of Interactive Systems. In Theoretical Aspects of Computing - ICTAC 2004, Z. Liu and K. Araki (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 220--234.Google ScholarGoogle Scholar
  4. J. Bowen and S. Reeves. 2013. UI-design Driven Model-based Testing. Innovations in Systems and Software Engineering 9, 3 (2013), 201--215. https://doi.org/10.1007/s11334-013-0199--6Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. C. Campos, C. Fayollas, M. Gonçalves, C. Martinie, D. Navarre, P. Palanque, and M. Pinto. 2017. A More Intelligent Test Case Generation Approach Through Task Models Manipulation. Proc. ACM Hum.-Comput. Interact.1, EICS, Article 9 (June 2017), 20 pages. https://doi.org/10.1145/3095811Google ScholarGoogle Scholar
  6. J. C. Campos and M. D. Harrison. 2001. Model Checking Interactor Specifications. Automated Software Engineering 8, 3(01 August 2001), 275--310. https://doi.org/10.1023/A:1011265604021Google ScholarGoogle Scholar
  7. J. C. Campos, J. Saraiva, C. Silva, and J. C. Silva. 2012. GUIsurfer: A Reverse Engineering Framework for User Interface Software. In Reverse Engineering, A.C. Telea (Ed.). In Tech, Rijeka, Chapter 2. https://doi.org/10.5772/32931Google ScholarGoogle Scholar
  8. CNBC. 2017. Uber Suspends Self-driving Car Program after Arizona Crash. Website. Retrieved March 13, 2018 fromhttps://www.cnbc.com/2017/03/26/uber-self-driving-car-arizona-crash-suspended.html.Google ScholarGoogle Scholar
  9. Daily Mail Reporter. 2011. Website. Retrieved August 8, 2018 from http://www.dailymail.co.uk/health/article-1359778/Mother-dies-nurse-administers-TEN-times-prescribed-drug.html, Title = Mother Dies after Nurse makes Error Ad-ministering Drug.Google ScholarGoogle Scholar
  10. United States Food and Drug Administration. 2015. Infusion Pumps. Website. Retrieved August 8, 2018 from http://www.fda.gov/MedicalDevices/ProductsandMedicalProcedures/GeneralHospitalDevicesandSupplies/InfusionPumps/.Google ScholarGoogle Scholar
  11. Google. 2019. Espresso. Website. Retrieved February 11, 2019 from https://developer.android.com/training/testing/espresso/.Google ScholarGoogle Scholar
  12. J. E. Hopcroft. 1979. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading, Mass.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. C. Hu and I. Neamtiu. 2011. Automating GUI Testing for Android Applications. In Proceedings of the 6th International Workshop on Automation of Software Test (AST '11). Association for Computing Machinery, New York, NY, USA, 77--83. https://doi.org/10.1145/1982595.1982612Google ScholarGoogle Scholar
  14. C.-Y. Huang, J.-R. Chang, and Y.-H. Chang. 2010. Design and Analysis of GUI Test-case prioritization using Weight-based methods. The Journal of Systems & Software 83, 4 (2010), 646--659.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. C. N. Ip and D. L. Dill. 1993. Efficient Verification of Symmetric Concurrent Systems. In Computer Design: VLSI in Computers and Processors, 1993. ICCD'93. Proceedings., 1993 IEEE International Conference on. IEEE, 230--234. https://doi.org/10.1109/ICCD.1993.393375Google ScholarGoogle Scholar
  16. J. Jacky. 1997.The Way of Z: Practical Programming with Formal Methods. Cambridge University Press, Cambridge ;New York, NY, USA.Google ScholarGoogle Scholar
  17. S. Jaidka, S. Reeves, and J. Bowen. 2019. A Coloured Petri Net Approach to Model and Analyse Safety-Critical Interactive Systems. (2019). To appear in APSEC 2019.Google ScholarGoogle Scholar
  18. Glenn E. Krasner and Stephen T. Pope. 1988. A Cookbook for Using the Model-view Controller User Interface Paradigm in Smalltalk-80. J. Object Oriented Program.1, 3 (Aug. 1988), 26--49. http://dl.acm.org/citation.cfm?id=50757.50759Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. P. Lee, F. Thompson, and H. Thimbleby. 2012. Analysis of Infusion Pump Error Logs and their Significance for Health Care. British Journal of Nursing (Mark Allen Publishing)21 (April 2012), S12, S14, S16--20.Google ScholarGoogle Scholar
  20. F. Lettner, C. Grossauer, and C. Holzmann. 2014. Mobile Interaction Analysis: Towards a Novel Concept for Interaction Sequence Mining. In Proceedings of the 16th International Conference on Human-computer Interaction with Mobile Devices & Services (MobileHCI '14). ACM, New York, NY, USA, 359--368. https://doi.org/10.1145/2628363.2628384Google ScholarGoogle Scholar
  21. A. Machiry, R. Tahiliani, and M. Naik. 2013. Dynodroid: An Input Generation System for Android Apps. In Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2013). Association for Computing Machinery, New York, NY, USA, 224--234. https://doi.org/10.1145/2491411.2491450Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. P. Masci. 2014. A Preliminary Hazard Analysis for the GIP Number Entry Software.Google ScholarGoogle Scholar
  23. P. Masci, Y. Zhang, P. L. Jones, H. Thimbleby, and P. Curzon. 2014. A Generic User Interface Architecture for Analyzing Use Hazards in Infusion Pump Software. In Proceedings of the 5th Workshop on Medical Cyber-Physical Systems. 1--14.Google ScholarGoogle Scholar
  24. A. Matthews-King. 2018. Faulty Opiate Injection Pumps used in Gosport Scandal to be Reviewed Amid Fears Over Deaths Across NHS, Hunt says. Website. Retrieved July 17, 2018 from https://www.independent.co.uk/news/health/gosport-scandal-opiate-painkillers-jane-barton-patient-deaths-a8415916.html.Google ScholarGoogle Scholar
  25. Moodle. 2020. Disappearing Students. Website. Retrieved February 11, 2020 from https://moodle.org/mod/forum/discuss.php?d=137710.Google ScholarGoogle Scholar
  26. R. M. L. M. Moreira, A. C. Paiva, M. Nabuco, and A. Memon. 2017. Pattern-based GUI testing: Bridging the gap between design and quality assurance. Software Testing, Verification and Reliability 27, 3 (2017), e1629. https://doi.org/10.1002/stvr.1629 arXiv: https://onlinelibrary.wiley.com/doi/pdf/10.1002/stvr.1629 e1629 stvr.1629.Google ScholarGoogle ScholarCross RefCross Ref
  27. G. J. Myers. 2012.The Art of Software Testing(3rd ed.. ed.). John Wiley & Sons, Hoboken, N.J., Chapter 1, 1--5.Google ScholarGoogle Scholar
  28. New Zealand Herald. 2018. Elderly Patient's Cancer goes Unnoticed for Eight Months due to System Failure. Website. Retrieved August 9, 2018 from https://www.nzherald.co.nz/nz/news/article.cfm?c_id=1&objectid=12102251.Google ScholarGoogle Scholar
  29. B. N. Nguyen, B. Robbins, I. Banerjee, and A. Memon. 2014. GUITAR: An Innovative Tool for Automated Testing of GUI-driven Software. Automated Software Engineering 21, 1 (March 2014), 65--105.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. C. Norris IP and D. L. Dill. 1996. Better Verification through Symmetry. Formal Methods in System Design9, 1 (01 August 1996), 41--75. https://doi.org/10.1007/BF00625968Google ScholarGoogle Scholar
  31. P. Oladimeji, H. Thimbleby, and A. L. Cox. 2013. A Performance Review of Number Entry Interfaces. In Human-Computer Interaction -- INTERACT 2013, P. Kotzé, G. Marsden, G. Lindgaard, J. Wesson, and M. Winckler (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 365--382.Google ScholarGoogle Scholar
  32. F. Paternò, C. Santoro, and L. D. Spano. 2012. Improving Support for Visual Task Modelling, In Human-Centered Software Engineering.Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)7623, 299--306.Google ScholarGoogle Scholar
  33. A. M. Porrello. [n. d.]. Death and Denial: The Failure of the THERAC-25, A Medical Linear Accelerator. Website. Retrieved August 8, 2018 from http://users.csc.calpoly.edu/~jdalbey/SWE/Papers/THERAC25.html.Google ScholarGoogle Scholar
  34. C. Romanyk, R. McCallum, and P. Salehi. 2016. A Model Based Approach to Web Application Design for Older Adults using MVC Design Pattern. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Vol. 9752. Springer Verlag, 348--357.Google ScholarGoogle Scholar
  35. P. Salem. 2016. Practical Programming, Validation and Verification with Finite-state Machines: A Library and its Industrial Application. In Proceedings of the 38th International Conference on Software Engineering Companion (ICSE'16). ACM, New York, NY, USA, 51--60. https://doi.org/10.1145/2889160.2889226Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. H. Thimbleby. 2004. User Interface Design with Matrix Algebra. ACM Transactions on Computer-Human Interaction(TOCHI)11, 2 (June 2004), 181--236.Google ScholarGoogle Scholar
  37. H. Thimbleby. 2009. Contributing to Safety and Due Diligence in Safety-critical Interactive Systems Development by Generating and Analyzing Finite State Models. In Proceedings of the 1st ACM SIGCHI Symposium on Engineering Interactive Computing Systems (EICS '09). ACM, New York, NY, USA, 221--230. https://doi.org/10.1145/1570433.1570474Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. H. Thimbleby. 2013. Reasons to Question Seven Segment Displays. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI '13). ACM, New York, NY, USA, 1431--1440. https://doi.org/10.1145/2470654.2466190Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. H. Thimbleby. 2015. Safer User Interfaces: A Case Study in Improving Number Entry. IEEE Transactions on Software Engineering 41, 7 (July 2015), 711--729. https://doi.org/10.1109/TSE.2014.2383396Google ScholarGoogle ScholarCross RefCross Ref
  40. H. Thimbleby, A. Gimblett, and A. Cauchi. 2011. Buffer Automata: A UI Architecture Prioritising HCI Concerns for Interactive Devices. In Proceedings of the 3rd ACM SIGCHI Symposium on Engineering Interactive Computing Systems (EICS '11). ACM, New York, NY, USA, 73--78. https://doi.org/10.1145/1996461.1996497Google ScholarGoogle Scholar
  41. J. Turner. 2019.Supporting Interactive System Testing using Interaction Sequences. Ph.D. Dissertation. The University of Waikato, Hamilton, New Zealand.Google ScholarGoogle Scholar
  42. J. Turner, J. Bowen, and S. Reeves. 2018. Simulating Interaction Sequences. In Proceedings of the ACM SIGCHI Symposium on Engineering Interactive Computing Systems (EICS '18). ACM, New York, NY, USA, Article 8, 7 pages. https://doi.org/10.1145/3220134.3220139Google ScholarGoogle Scholar
  43. J. Turner, J. Bowen, and S. Reeves. 2018. Using Abstraction with Interaction Sequences for Interactive System Modelling. In Software Technologies: Applications and Foundations, M. Mazzara, I. Ober, and G. Salaün (Eds.). Springer International Publishing, Cham, 257--273.Google ScholarGoogle Scholar
  44. M. Utting and B. Legeard. 2007. Practical Model-based Testing : A Tools Approach. Morgan Kaufmann Publishers, San Francisco, CA.Google ScholarGoogle Scholar
  45. L. White and H. Almezen. 2000. Generating Test Cases for GUI Responsibilities Using Complete Interaction Sequences. In Proceedings of the 11th International Symposium on Software Reliability Engineering (ISSRE '00). IEEE Computer Society, Washington, DC, USA, 110--121. http://dl.acm.org/citation.cfm?id=851024.856239Google ScholarGoogle ScholarCross RefCross Ref
  46. L. White, H. Almezen, and N. Alzeidi. 2001. User-Based Testing of GUI Sequences and their Interactions. In Proceedings of the 12th International Symposium on Software Reliability Engineering (ISSRE '01). IEEE Computer Society, Washington, DC, USA, 54--63. http://dl.acm.org/citation.cfm?id=851028.856281Google ScholarGoogle Scholar

Index Terms

  1. Model-based Testing of Interactive Systems using Interaction Sequences

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!