Component-Based Testing – Reusable test steps as building blocks for test cases

At Sinara, testing is an integral part of our software development process and the success of project delivery and launch can depend on the quality of testing applied. Over the years, it is an area in which we have made significant investment, carefully exploring different approaches and developing a comprehensive framework for testing software applications.

The testing phase of any software project is without doubt a vitally important stage of the overall lifecycle that lets developers and users of the system ensure that core functionality has been captured and operates smoothly and as expected.

A complex, multi-layered software application, typical of what we build at Sinara, will have many areas of functionality and features that will need to be tested extensively and repeatedly under different circumstances and with varied input data. Component-based testing is an approach in which testing is defined using a structure that allows common repeated test steps to be identified and reused as the building blocks for other test cases.

At Sinara, we approach this by first defining high-level test cases (HLTCs) to capture all testing requirements. The next step is to build out the HLTCs with test components, which are the commonly executed steps that form the building blocks for the case and can be reused over multiple cases. These are then saved into a library for reuse in future test phases.

An example of where we’ve applied this approach is the order management functionality in our SinaraTLC platform, in which we initially created 3 test components:

  1. Login
  2. Enter an order
  3. Logout

By using these 3 components together, we were able to create multiple variations on order entry such as typical buy/sell orders and more involved entries such as limit orders. The combination of the test components in this example alone was able to yield 40+ different test cases.

Through this methodology, the project teams at Sinara and in turn our clients can benefit with the overall level of effort and time going into writing test specifications being reduced. With common test components shared across multiple test cases, an update to one component can be made rather than multiple updates to individual cases. In turn, over a multi-phase project, testing effort can increasingly be reduced as a test artifact library can be called upon to build out new test cases.

With these advantages, Sinara continues to improve the project experience for clients by delivering well-tested software releases, helping to smooth the transfer into the acceptance testing stage and aiding the transition into production.

Share the Post:

Related Posts