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...