Generation of test cases from functional requirements. A survey Javier J. Gutiérrez, María J. Escalona, Manuel Mejías, Jesús Torres Department of Computer Languages and Systems University of Seville {javierj, escalona, risoto, jtorres}@lsi.us.es Abstract: One of the major quality criteria of a software system is how well it fulfils the needs of users or customers. One technique to verify and improve the grade of fulfilment is system testing. System test cases might be derived from the requirements of the system under test. This paper presents the results of a survey among 13 approaches to drive the generation of test cases from functional requirements. 1. Introduction Software testing is becoming more complex day by day. This complexity enforces using techniques and methods to assure software quality. One of this methods is system testing. The main goal of system testing is to verify that requirements are successfully implemented into system under test. In order words, system testing assures that software system does what it is expected to do. The main artefacts to obtain system test cases are the own requirements of the system under test [Bertolino04]. This process might be driven by systematic methods and tools. Since 2003, we have been studying and comparing existing approaches to derive test cases from the functional specification of the system under test. A preliminary abstract of our survey was presented in SV04 [Gutierrez04]. In this paper we present a more complete survey which validates conclusions exposed in [Gutierrez04] and extends them. Nowadays, use cases are widely used to define functional requirements [Escalona04], so both terms are synonymous in this paper. This work is organized as follows. Section 2 describes already analyzed approaches. Section 3 identifies the solved and unsolved aspects in the process of generation of test cases. Finally, section 4 exposes conclusions and future work.