By Ray Moore

How to factor in resourcing into your testing

Testing, resource planning, quality management, automated testing, agile

This article was written by Ray Moore and Ashok Raajha.

How to factor in resourcing into your testing 

Ignore testing at your own peril. In fact, testers give the final nod to say your project is ready. They hold the power of ‘go’ or ‘no-go’ to your project. If there are gaps in your testing, it’s likely to show up in the final product.

There are a number of levels to testing. As a rule of thumb, projects follow the software development lifecycle, with specific phases in defining the requirements, designing, building and a test-and-validate phase with extensive testing and finally deployment.

Yet there is a universal problem with testing in IT projects – many rely on testing to occur right at the end of the project. By that stage, it’s often too late. It is possible to address problems, but it becomes very expensive and time consuming to correct issues at that point.

In an ideal scenario, testing and quality management should begin right at the start. Even while drawing up project requirements, you should be pressure testing to ensure those requirements are clear. You can establish at that point whether those requirements are testable at that stage. So, if they are not testable, that means it’s too high level.

Testing and quality management should be conducted throughout the lifecycle of the project. Then the test and validate phase is there to sweep up everything that was left out. 

This allows for all the quality management during the early stages and makes the testing more efficient and effective.

So how do you factor in the golden triangle of resourcing – project scope, team resourcing and budget –  at the planning stages of your project?

To help you to include testing into your next project, we have mapped out the resources required to factor this vital step into your next development.

Automated testing

If you have the time and resources to set up automated testing at the beginning of your project, it will save a lot of time in the long run.

Automated testing gives you a quick cycle of development for creating test cases. It does require dedicated resources and will need to be run in a parallel stream, to ensure the testing happens alongside your main project.

Once your automated testing is set up, it speeds up testing particularly post-project. Highly recommended, but it does require specialist resources.

Resources for automated testing:

Scope Time/Resources Budget
  • Map out processes
  • Build out automations
  • Check cycles work in various scenarios
  • Initial setup time is high, but speeds up rest of the process
  • Implement early in the project for best return on time and investment
  • Costs time/expertise to setup
  • Worth implementing for large-scale projects

Agile methodologies

From an agile perspective, your testing is based on much smaller functional areas, where you test in little chunks. 

For example, in sprint one, you are delivering this particular function, testing is associated with this function. We sign it off, pass it, and close it out. Sprint two is another function, so we do all of our unit testing in sprint and we can close that function off.

The benefit of agile testing approaches is that they’re comprehensive. It provides much more rigorous testing during your build. It uses the same principles, it’s just that your testing is a much shorter cycle, based on much smaller chunks to find a solution. 

As opposed to doing rigorous testing at the end, you are able to see how your solution is evolving and adapt to the issues as they arise.

Naturally, at the end of the project, you will need to put the whole thing together. 

For end-to-end testing, you take the elements you tested in a sprint one coupled with all the other functional elements across the project. Now you get to actually test and see how the whole set hangs together.

Resources for agile methodology:

Scope Time/Resources Budget
  • Build small elements of code at a time
  • Check each element at each stage of development
  • Faster way to test functionality, as each piece is fixed while it is still small
  • Cost efficient as you start to see results early
  • Speeds up testing phase at the end of the project

Troubleshooting

Troubleshooting is best described as an identified issue that needs to be investigated to address the root cause.

The first step is a kind of triage: assessing what is observed and what the issue could be. Secondly, send it to the right person with the right skills to investigate and troubleshoot. Thirdly, identify the issue: once the issue is identified, then you can apply a fix and re-release it.

Depending on the skill set required, there is a long list of specialists who will need to resolve the issue. You will need to identify what the issue is, assign it to the relevant expert. It could be a developer, a configurator, an architect or integration specialist.

  • Developer: To address code or build issues
  • Configurator: Addresses configuration Issues
  • Architect: Looks at solution gaps
  • Integration specialist: Bring various systems together
  • Data specialist: You will need someone from the business who understands the data configuration

This is where an integration partner really adds value to your project, as you have the flexibility to troubleshoot when the issue arises, rather than needing all these people on your team.

For troubleshooting, there is a long list of experts who you need to bring in to address the issue, during the project build it is quick and easy. After the delivery, many enterprises outsource troubleshooting to reduce the costs, and still have access to the experts as and when they need.

Resources for troubleshooting: 

Scope Time/Resources Budget
  • Troubleshooting issues during project build
  • Troubleshooting is fast if you the right skills available
  • It can take much longer as the complexity of the issue increases 
  • During the build process, troubleshooting is quick and easy, as it is factored into the build
  • Troubleshooting after project delivery
  • Can take time to match skills and issue
  • Best to outsource after project delivery to save costs
  • After the build troubleshooting can become expensive

Flexibility in testing support

During the build process, testing is part of the daily problem solving process. You have the full project team as well as developers, architects, configurators all addressing issues as they arise.

As the project begins to mature, the testing takes on more importance to ensure the delivery will meet the requirements.

Once the project is handed over, you want to ensure that you have specialists available to address issues that emerge. So your integration partner is crucial here to offer that skill set when required.

For example, we work with a customer who requires that flexibility. As they are ramping up their testing, we are seeing an increased rate of defects to address, because they are testing across the board. We have been able to expand our team to meet their pace in testing. And by the same token, once they are through the testing phase and they slow down, we can flex and slow down our support team.

Resources for flexible testing: 

Scope Time/Resources Budget
  • Testing and troubleshooting after the project is completed
  • Access to developers, architects, configurators as required
  • Flexible solutions available during the testing phase
  • Or just the right amount of support after the build
  • Sliding scale of costs depending on the support
  • More affordable than having developers on your team

Resource planning for testing

To map out the resources for a project, you need to marry up the number of requirements. This will drive the volume of your testing.

It is important to consider all the other aspects beyond functional testing. There is a whole set of non-functional testing, like security, performance, stress and volume which looks at what point does a system break down from a level of use. Security is another – and increasingly critical – area of testing. 

Invest in a testing strategy

My advice to businesses is to ensure they have a qualified and experienced test lead. They are going to bring to bear the methods, the processes and standards required to ensure that the solution is fit for purpose. At the end of the day, they take responsibility for the final quality of the solution. 

Remember that testers give the final ‘go’ or ‘no-go’ signal to your entire project.

And if you don’t have a mature testing function, then consider bringing in resources specific to the project. That’s where you bring in the specialists like Simplus to build out a testing strategy and ensure you’re covered across your project.

Effortless testing with Simplus

At Simplus, we know that there is a definite art and science with this discipline. We aim to integrate testing into each project as required.

We know that the later you address the testing, the more expensive it becomes and the more likely you are to uncover structural issues that may need addressing. So be sure to implement your testing strategy early – or just contact the specialists at Simplus to save you the stress.


GET IN TOUCH

Related
Posts