Publication

Model Based Testing - From requirements to tests

Bibliographic Details
Summary:Automating software testing can significantly reduce the effort, time and cost of software testing throughout the entire development life cycle. Model-Based Testing (MBT) is a software testing technique upon which test cases are generated from a model, an intermediate format requirements document, which provides multiple technical concerns of a given software system. This way it is possible to obtain test cases from requirements models to achieve an automation and systematization of the test process, according to certain coverage criteria. RSL stands for "Requirements Specification Language", which is a formal language to support and improve the production of system requirements specification (SRS). Developed at Instituto Superior Técnico, Universidade de Lisboa, this approach arranges the different aspects of Requirement Engineering (RE) into several views containing a set of logical constructs. These constructs are defined as linguistic patterns, grammatical rules that guide the production of understandable and coherent textual sentences. Closing the gap of requirements representation and natural language, which is the root of many requirements quality problems (incorrection, inconsistency, incompleteness, and ambiguousness). This research presents the TSL, acronym for "Testing Specification Language", a model-based testing approach for formal and human-readable specification of test cases that is based on the nomenclature and grammar defined by RSL. By applying Black-Box testing design techniques, TSL allows the construction of three different requirement test patterns, from the perspective of acceptance tests, that are expressed in the RSL approach. Namely, Domain Analysis (equivalence partitioning and boundary value analysis for the definition of structural data class values); Use Case Testing (derivation of tests from the various process flows expressed by the use cases); and State Machine Testing (covering the sequence of states from event-based state transitions). The methodology developed was applied in a case study, a simple fictitious business information system, named "Billing system". This illustrates how TSL supports the testing development cycle as an end-to-end process and the verification of the internal consistency of RSL specification models, leading to an increasing quality of requirements.
Subject:Engenharia electrotécnica, electrónica e informática Electrical engineering, Electronic engineering, Information engineering
Country:Portugal
Document type:master thesis
Access type:Open
Associated institution:Repositório Aberto da Universidade do Porto
Language:English
Origin:Repositório Aberto da Universidade do Porto
Description
Summary:Automating software testing can significantly reduce the effort, time and cost of software testing throughout the entire development life cycle. Model-Based Testing (MBT) is a software testing technique upon which test cases are generated from a model, an intermediate format requirements document, which provides multiple technical concerns of a given software system. This way it is possible to obtain test cases from requirements models to achieve an automation and systematization of the test process, according to certain coverage criteria. RSL stands for "Requirements Specification Language", which is a formal language to support and improve the production of system requirements specification (SRS). Developed at Instituto Superior Técnico, Universidade de Lisboa, this approach arranges the different aspects of Requirement Engineering (RE) into several views containing a set of logical constructs. These constructs are defined as linguistic patterns, grammatical rules that guide the production of understandable and coherent textual sentences. Closing the gap of requirements representation and natural language, which is the root of many requirements quality problems (incorrection, inconsistency, incompleteness, and ambiguousness). This research presents the TSL, acronym for "Testing Specification Language", a model-based testing approach for formal and human-readable specification of test cases that is based on the nomenclature and grammar defined by RSL. By applying Black-Box testing design techniques, TSL allows the construction of three different requirement test patterns, from the perspective of acceptance tests, that are expressed in the RSL approach. Namely, Domain Analysis (equivalence partitioning and boundary value analysis for the definition of structural data class values); Use Case Testing (derivation of tests from the various process flows expressed by the use cases); and State Machine Testing (covering the sequence of states from event-based state transitions). The methodology developed was applied in a case study, a simple fictitious business information system, named "Billing system". This illustrates how TSL supports the testing development cycle as an end-to-end process and the verification of the internal consistency of RSL specification models, leading to an increasing quality of requirements.