Business analysts often spend a lot of time and efforts when it comes to creating a nice decomposition of an organization´s business architecture. Typically the architecture design is driven by organizational or business area requirements. Depending on the frameworks used such as SCOR®, APQC® or DODAF and NAF the process levels describing the implementation of IT systems may yield to a quite complex architectural construct of nested diagrams and viewpoints. This really challenges QA teams to prepare test-cases for integration and regression tests in the context of user-acceptance testing (UAT) of end-to-end process flows. Here the reverse decomposition technique facilitates the design of perfect test-cases for manual and automated test execution.
Let’s look at a classical functional and business decomposition. The bottom layers describe the process flow using applications with manual, human and service tasks that are supported by applications and IT systems.
The lower implementation levels of the business architecture (dark blue color) are of specific interest. As we have seen in many projects, the implementation levels may grow from 2 up to 10 levels of sub work processes. This makes it next to impossible for a QA team to leverage existing process models (blueprints) to design end-to-end views for integration testing and analyzing the possible sequence of activities through such a decomposition of sub-processes.
The software developed by BPM-X reverses this decomposition and supports QA teams in mastering the inherent complexity of their work. In the BPM-X solution the basic sub-models are aggregated to models on a higher level finally resulting in a single model that is used for testing.
The following example shows a 3 level hierarchy with a top model and nested sub models (source model data).
Running the reverse decomposition on this model data generates a single model with an end-to-end process flow that makes the design of the test cases a lot easier. Based on this target model the BPM-X model-based testing software can help to derive and automatically generate the test-cases. Moreover the generation of test cases can be controlled by quality metrics defining the coverage of activities or paths by test cases.