Mar 26 2009

Model Based Testing of Business Processes

Model based testing has traditionally been used in domains like automotive engineering where Statistical tools like Markov Chains can be used to simulate a large number of test conditions. However, Business Processes in a large Organization can also benefit from Model Driven Testing and this will become more important as “Model Driven Development” becomes more widespread.

Models can be used in Testing in two ways
1. as an aid to manually design test coverage
2. automatically generate the test scripts
While automatic generation of test cases is regarded as a ideal goal, (make changes only to the Model, regenerate test cases), it is also more expensive to implement as an upfront effort. It may be beneficial to initially use models as an aid to manually create the test scripts. The main advantage of this approach is

1.In many projects UML based models are already available which can be used manually, without having to invest in creating the model from scratch.
2.Having models to refer to helps in impact analysis for risk based testing
3.If the test scripts are based on a Business Process Model, it will be easy to eventually use it to automatically generate test scripts

More recently BPMN/BPEL based SOA Solutions have become widespread in large organizations, and can be used for generating test scripts both manually and using software tools. This practice is not very widespread yet, but as BPEL tools become more mature and widely used, it would become easier to use the BPEL artifacts to automatically generate test scripts from them.

One key feature of BPEL is “Programming in the Large” vs. “Programming in the small”. The same concept can be applied to Business Process Testing, where the business needs to be able to visualize “Test Planning in the Large” without getting into technical details of automated testing.

A possible point of conflict from QA point of view would then become the ownership of Business Process Model. Since QA and Development should be separate concerns, it may not be acceptable for Development team to own the common Business Process Model. Many BPMN/BPEL tools are targeted for use by Business Owners, and not by Developers, however in practice, Business Owners typically find it difficult to work with anything which has direct programming implications. It seems logical that Business Process Modeling should be owned by a technical team which is part of Business Group, outside of QA and Development teams.

LEAVE A COMMENT

Subscribe Form

Subscribe to Blog