Developing a System Verification & Validation Strategy: Considerations and Omissions
System verification & validation – what goes into making a test strategy?
Organizations always have a plan for their products and allocate resources accordingly. However, considering a strategy for testing these products as a preliminary activity is beneficial.
This piece will examine a few things that should be thought about while developing a strategy for System Verification & Validation.
What’s your System Verification & Validation (a.k.a. test) strategy?
Let’s begin by asking the fundamental question that must be answered before any strategic plan can be created –
Do you have an effective test strategy in place?
If you have one already, it will hold information, such as the figure above, detailing which test platforms are used at various levels and stages of development. If you do not, you run the risk of inefficiency (wasting money on unnecessary testing resources, repeating tests, etc.) or ineffectiveness (insufficient testing, delayed testing/defect discovery, undiscovered defects, etc.). And so, an effective test strategy is vital– it is often not appreciated that acquiring test capabilities can take longer than developing the product they will test, hence it needs to be kicked off in advance.
The Key Considerations:
Often the output from testing is seen only as defect discovery, while this is useful (particularly when discovered early), a major advantage of testing is also risk reduction and it is helpful to view the test strategy for a particular project as an exercise to mitigate risks.
As a result, a test strategy should prioritize the following:
Where are the major risks?
When can representative test artefacts be available?
What test methods/test platforms can be used most effectively to find defects or confirm that none exist?
Modularity, Layered Design and Emphasis on the Lower Levels
Test strategies that instil confidence in some elements of a system before tackling the whole product are preferable from both the time as well as a cost perspective. In testing systems, the principle of separation of concerns always comes in handy. It is much easier to achieve test coverage and find route cause at a lower level than at a higher one. There is always a risk of emergent issues when the system elements are put together, but they are much easier to find if defects at lower levels have been discovered and removed.
Design as a Testable Artefact
While devising your test strategy, it is important to remember that testing is an integral part of the entire product development process. Models aren’t the only specifications or requirements that should be reviewed; it’s helpful to think of the design as a testable artefact in its entirety. It is also true that testing does not end once the product is delivered to the market; for instance, conformity of production testing, upgrade testing, testing to find defects that were not found before launch, and testing of the product’s in-market behaviour are all instances of ongoing testing.
Test automation is key
Test automation is essential when products are being created in an agile manner and will need frequent regression tests. It’s also helpful for tracking out difficult-to-reproduce flaws that require careful regulation of multiple factors. Give test automation a shot in your test strategy and break away from the norm.
Include a Plan for Test Data Management
Think about how you’ll manage test data while you create a test strategy. Massive amounts of data will be generated throughout testing, and this data will need to be managed and analysed as part of your test strategy.
Although the areas of testing covered in this piece may be extensive, a few takeaways can be derived from the pointers above to apply to your testing strategy.
If you have any thoughts on this blog post, we would love to hear from you.