Pattern-based generation of test plans for open distributed processing systems

Acceptance testing is a time-consuming task for complex software systems that have to fulfil a large number of requirements. To reduce efforts in acceptance testing, we have developed an approach that exploits redundancies and implicit relations in requirements specifications which are based on multi-viewpoint techniques, such as RM-ODP. We use linguistic analysis techniques, requirements clustering algorithms and pattern-based requirements collection for reducing the total number of test cases that are derived from the requirements specification. In particular, we present new capabilities for automatically deriving semi-formal test plans and acceptance criteria from the clustered informal textual requirements. Tool support for automated detection of redundancies and implicit relations is extended by new functionalities regarding measurement and the generation of quality plans. We apply our solution particularly in planning, procurement and acceptance testing of national electronic identification (eID) systems. In summary, we show that linguistic analysis and clustering techniques can help testers in understanding the relations between requirements and for improving test planning.

[1]  Anil K. Jain,et al.  Data clustering: a review , 1999, CSUR.

[2]  Scott O. Bradner,et al.  Key words for use in RFCs to Indicate Requirement Levels , 1997, RFC.

[3]  Sean McDonald,et al.  Software Test Automation , 1999 .

[4]  Walter P. Bond,et al.  Toward software requirements modularization using hierarchical clustering techniques , 2005, ACM Southeast Regional Conference.

[5]  Tathagat Varma,et al.  Automated software testing: introduction, management and performance , 2000, SOEN.

[6]  Haiyan Zhao,et al.  An approach to constructing feature models based on requirements clustering , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[7]  Daniel M. Berry,et al.  AbstFinder, a prototype abstraction finder for natural language text for use in requirements elicitation: design, methodology, and evaluation , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[8]  Pei Hsia,et al.  Another approach to system decomposition: requirements clustering , 1988, Proceedings COMPSAC 88: The Twelfth Annual International Computer Software & Applications Conference.

[9]  George A. Miller,et al.  WordNet: A Lexical Database for English , 1995, HLT.

[10]  David R. Dowty,et al.  Word Meaning and Montague Grammar , 1979 .

[11]  Zude Li,et al.  An Approach to Requirements Encapsulation with Clustering , 2007, WER.

[12]  Michael Geisser,et al.  Evaluating the Applicability of Requirements Engineering Tools for Distributed Software Development , 2007 .

[13]  Gregor Engels,et al.  Semi-automated Test Planning for e-ID Systems by Using Requirements Clustering , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[14]  Ben Segal,et al.  CERN EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH , 2001 .

[15]  T. A. Wiggerts,et al.  Using clustering algorithms in legacy systems remodularization , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[16]  J. Wegener,et al.  Test Case Design by Means of the CTE XL , 2000 .

[17]  Bradley S. Green Software test automation , 2000, SOEN.

[18]  Russ Abbott Program design by informal English descriptions , 1983, CACM.

[19]  P. Hsia,et al.  Incremental delivery using abstract data types and requirements clustering , 1992, Proceedings of the Second International Conference on Systems Integration.