Naeem Muhammad MSE-2007:27, pp. 54. TEK/avd. för programvaruteknik, 2007.
In market-driven requirements engineering requirements are elicited from various internal and external sources. These sources may include engineers, marketing teams, customers etc. This results in a collection of requirements at multiple levels of abstractions. The Requirements Abstraction Model (RAM) is a Market Driven Requirements Engineering (MDRE) model that helps in managing requirements by organizing them at four levels (product, feature, function and component) of abstraction. The model is adaptable and can be tailored to meet the needs of the various organizations e.g. number of abstraction levels can be changed according to the needs of the organization.
Software requirements are an important source of information when developing high-level tests (acceptance and system level tests). In order to place a requirement on a suitable level, workup activities (producing abstraction or breaking down a requirement) can be performed on the requirement. Such activities on the requirements can affect the test cases designed from them. Organizations willing to adopt the RAM need to know the suitability of the RAM requirements for designing high-level tests.
This master thesis analyzes the requirements at product, feature, function and component level to evaluate their suitability for supporting the creation of high-level system test. This analysis includes designing test cases from requirements at different levels and evaluating how much of the information needed in the test cases is available in the RAM requirements. Test cases are graded on a 5 to 1 scale according to the level of detail they contain, 5 for better detailed and 1 for very incomplete. Twenty requirements have been selected for this document analysis; twenty requirements contain five requirements from each level (product, feature, function and component). Organizations can utilize the results of this study, while making decision to adopt the RAM model.
Decomposition of the tests developed from the requirements is another area that has been explored in this study. Test decomposition involves dividing tests into sub-tests. Some benefits of the test decomposition include better resource utilization, meet time-to-market and better test prioritization. This study explores how tests designed from the RAM requirements support test decomposition, and help in utilizing above listed benefits of the test decomposition.