ABSTRACT
Collaboration intensive systems like social networks support the interaction of multiple end-users playing different roles such as "friend" or "post owner". To ensure that end-users achieve the intended type of collaboration, systematic testing can be an effective means. However, manually creating effective test cases is cumbersome and error prone as the amount of end-users interactions to test grows exponentially with the number of involved end-users and roles.
In this paper, we present a novel approach for automatic test case generation via modeling user collaborations as synchronized, non-deterministic Finite State Machines. As our preliminary evaluation shows, such collaboration models are effective and efficient: compared to collaboration-unaware alternatives, we generated test cases which achieve higher code coverage and trigger more errors, up to 10X faster.
- K. Starbird and L. Palen, "Working and sustaining the virtual "disaster desk"," in Computer Supported Cooperative Work, CSCW'13, 2013, pp. 491--502. Google ScholarDigital Library
- L. Northrop et al. "Ultra-Large-Scale Systems - The Software Challenge of the Future," Carnegie Mellon, Tech. Rep., 2006.Google Scholar
- L. A. Clarke et al. "Using software engineering technology to improve the quality of medical processes," in Int. Conf. on Software Engineering (ICSE'08), 2008, pp. 889--898. Google ScholarDigital Library
- R. M. Hierons et al. "Using formal specifications to support testing," ACM Computing Surveys, vol. 41, no. 2, pp. 9:1--9:76, Feb. 2009. Google ScholarDigital Library
- A. C. Dias Neto et al. "A survey on model-based testing approaches: A systematic review," in Proc. of the Intl. Workshop on Empirical Assessment of Software Engineering Languages and Technologies (WEASELTech '07), 2007, pp. 31--36. Google ScholarDigital Library
- H. Muccini et al. "Using software architecture for code testing," IEEE Trans, on Software Eng., vol. 30, no. 3, pp. 160--171, 2004. Google ScholarDigital Library
- A. Stefanescu et al. "Mbt4chor: A model-based testing approach for service choreographies," in Proc. of the European Conf. on Model Driven Architecture - Foundations and Applications (ECMDA-FA '09), 2009, pp. 313--324. Google ScholarDigital Library
- C. Dorn and R. N. Taylor, "Architecture-driven modeling of adaptive collaboration structures in large-scale social web applications," in Proc. of the Intl. Conf. on Web Information Systems Engineering (WISE 12), 2012, pp. 143--156. Google ScholarDigital Library
- R. N. Taylor et al. Software Architecture: Foundations, Theory, and Practice, Wiley Publishing, 2009. Google ScholarDigital Library
- C. Ellis, "Team automata for groupware systems," in Proc. of the Intl. Conf. on Supporting Group Work: the Integration Challenge (GROUP '97), 1997, pp. 415--424. Google ScholarDigital Library
- M. Schur et al. "Mining behavior models from enterprise web applications," in Proc. of the 2013 9th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2013), 2013, pp. 422--432. Google ScholarDigital Library
- I. Beschastnikh et al. "Inferring models of concurrent systems from logs of their behavior with CSight," in Proc. of the 36th Intl. Conf. on Software Engineering (ICSE 2014), 2014, pp. 468--479. Google ScholarDigital Library
- D. Jackson, Software Abstractions: Logic, Language, and Analysis, The MIT Press, 2006. Google ScholarDigital Library
- M. Broy et al. Model-Based Testing of Reactive Systems: Advanced Lectures (Lecture Notes in Computer Science), 2005. Google ScholarDigital Library
- S. Anand et al. "An orchestrated survey of methodologies for automated software test case generation," Journal of Systems and Software, vol. 86, no. 8, pp. 1978 -- 2001, 2013. Google ScholarDigital Library
- M. Utting and B. Legeard, Practical Model-Based Testing: A Tools Approach, Morgan Kaufmann, 2007. Google ScholarDigital Library
- M. Utting et al. "A taxonomy of model-based testing approaches," Software Testing Verification & Reliability, vol. 22, no. 5, pp. 297--312, Aug. 2012. Google ScholarDigital Library
- J.-R. Abrial, The B-book: Assigning Programs to Meanings, Cambridge University Press, 1996. Google ScholarDigital Library
- R.-J. Back and R. Kurki-Suonio, "Decentralization of process nets with centralized control," in Proc. of the Symposium on Principles of Distributed Computing (PODC '83), 1983, pp. 131--142. Google ScholarDigital Library
- A. Basu et al. "Rigorous component-based system design using the BIP framework," Software, IEEE, vol. 28, no. 3, pp. 41--48, May 2011. Google ScholarDigital Library
- D. Cofer et al. "Compositional verification of architectural models," in Proc. of the Intl. Conf. on NASA Formal Methods (NFM'12), 2012, pp. 126--140. Google ScholarDigital Library
Index Terms
- Model-based testing of end-user collaboration intensive systems
Recommendations
FSM-based testing from user defined faults adapted to incremental and mutation testing
We study the problem of deriving a test suite with guaranteed fault coverage from a given finite state machine specification with respect to some given user defined faults. We consider the case when an implementation under test can have more states than ...
Model-based testing of automotive software: some challenges and solutions
DAC '15: Proceedings of the 52nd Annual Design Automation ConferenceAutomotive software has been growing in size, criticality and complexity with each new generation of vehicles. Testing at the model and code level is an important step in validating the software against various types of defects that may be introduced in ...
Model-based mutation testing of reactive systems: from semantics to automated test-case generation
Theories of Programming and Formal MethodsIn this paper we give an overview of our work on combining model-based testing and mutation testing. Model-based testing is a black-box testing technique that avoids the labour of manually writing hundreds of test cases, but instead advocates the ...
Comments