Our Blog

where we write about the things we love

03

Sep

Let's be proactive and make testing an integral part of every project

User Acceptance Testing (UAT) is an essential part of Intergen’s toolkit to ensure the successful delivery of our customers’ solutions. Testing is also an integral part of ensuring we have a happy customer when it comes to user acceptance. User acceptance will also impact the level of support required during warranty. A well tested system will require less support after Go Live.

So, for any service delivery organisation, it is critical to ensure UAT is carried out in a structured fashion. Service providers should not just throw the system over the fence, so to speak, and expect the customer to work through UAT with little assistance.

So how can we help our customers with UAT? First of all, we need to ensure everybody understands what is meant by UAT. UAT is not training, familiarisation or functional testing – it’s about ensuring the new system works and integrates with the customer’s business processes. The software needs to support the business, not create road blocks. So even if it functionally works, it doesn’t mean it is fit for the business purpose.  The customer needs to create a User Acceptance Test Plan based around their related business processes to ensure the new system functions as expected. In theory, they should be able to complete this from the original requirements; in practice they probably need more visualisation of what the end system will look like. However, the requirements are a good starting point – we just need to help them at every stage to visualise the system and translate that into a practical user acceptance test plan.

Just like development, testing is an iterative process – so start with each requirement and evolve the test plans as the system takes shape. This applies to developers for system and functional testing, and customers conducting UAT. Whilst customers are typically responsible for developing UAT test plans, the best results are achieved when there is collaboration between the parties involved. In an ideal world, we should have UAT Test Plan Templates ready and also run a workshop for the customer to ensure they understand their role and what is expected of them for UAT. We can also share functional test plans as the project progresses towards UAT to help them get to the next level. A test plan also serves to validate the original requirements both in our eyes and from the customer’s perspective. In a former life, I was responsible for user acceptance testing of a system. We ended up re-engineering the system, because some business processes had not even been considered. So UAT is a powerful tool both for the customer and the developer. Testing needs to be managed as it progresses. This is not just about fixing defects as quickly as possible, but managing trends. There are two key indicators that need monitoring:

  • Test coverage, and
  • Number of operating system defects

The first iteration of a test plan may only have a few test cases planned – over time this may develop into several hundred. Once the number of test cases stabilises, then you should have got to the point where all foreseeable scenarios have a reasonable level of testing and you should have reasonable test coverage. Focus on the business areas that are impacted the most or pose the highest business risk and work outwards from there.

The number of priority defects outstanding serves as an indicator of readiness (for Go Live or the next phase). If defects are fixed quicker than UAT discovers them, then you are well on the way to completing UAT. When the number of L1 defects is down to single figures or ideally zero, then you should be ready to go live. Conversely, if defects are occurring at a faster rate than you can fix them – you’re way off go live – and possibly in trouble!

So where to from here? Let’s define what we need to help both the project manager and the customer:

  • Testing workshop material to help the customer understand their responsibilities and how to develop a practical test plan
  • Test plan templates to help develop a structured test plan (ideally tailored to an application type)
  • Test metrics collection spreadsheet for test case execution and defect collection

Being the ‘last cab off the rank,’ testing often gets squeezed as the go live date approaches. Ensuring testing gets visibility early in the project lifecycle takes the pressure off providers and the customer. Testing is a shared responsibility between the vendor and the customer. Everyone has a part to play to ensure testing is effective and successful.

If you have some ideas about how to improve our testing techniques or areas you need assistance with, then I encourage you to share your thoughts with your colleagues and assist us to make testing a great experience for everyone.

And don’t forget we have a strong QA team at Intergen who can help you with your test plans. And if you’d like to see our testing methodology, please let us know.

Posted by: John Gale | 03 September 2008

Tags: User Acceptance Testing


Top Rated Posts

Blog archive

Stay up to date with all insights from the Intergen blog