With the world shifting to the cloud, Software-as-a-Service (SaaS) is becoming a booming industry. IDC expects the industry will surpass $100 billion by 2018 growing at an annual rate of 21.3%.
However SaaS isn’t such a ‘sure thing’ as people expect. It presents its own unique set of challenges and considerations. For example, service providers face the challenge of delivering high quality SaaS solutions which must continue to work under an enormous number of scenarios.
That’s why you must test your SaaS before you roll it out to users. By minimising or even eliminating downtime you keep your business running at maximum capacity. The average online business has eight days of downtime per year – over a week of lost revenues. That can mean potentially millions in lost revenue.
The importance of SaaS testing can’t be understated. However, by utilising the right tests in the right way you can mitigate your downtime risks when live.
The first key step in testing your SaaS is to make sure you’re taking the correct approach. By understanding the steps, you will ensure a complete and thorough test.
[See Also: The Importance of ServiceNow in Cloud Management]
There are five key steps to assessing your testing needs. They are as follows: understanding your usage patterns, preparing test plans and test suite, preparing your test data and finally, preparing your test environment.
With these five key steps in place you can proceed with your SaaS test knowing that you’ve covered all necessary bases to optimise the test.
From there you need to ensure you’re testing the right areas. By testing the right areas you’ll finish the test with a complete and secured SaaS application. The key areas to test include the network, infrastructure, and the application itself.
Once you’ve gone through the planning and have determined the areas you need to test you need to perform the test.
The test is functionality. Check that you have browser compatibility – a crucial step. From there you should conduct your test in a cloud-based staging environment, doing it in-house can end in disaster. Perform the test across multiple users – this gives you a broad understanding of how it will cope with different users performing different tasks. Then perhaps the most important functional tests is regression testing. Regression testing checks the SaaS to make sure it behaves as it should when interfaced with your existing software. With the functionality test complete, it is then time to check security.
You have to make sure your SaaS is bulletproof. Bugs and vulnerabilities can lead to attacks like cross site scripting, SQL injection, and HTTP header injection. You have to be prepared for these. You need to make sure your network and communications technology is secure. It’s also worth considering to perform penetration testing at this stage to see if you’ve missed anything.
Running scenarios where your SaaS may be vulnerable is recommended. Also make sure you test for PCI compliance, cookie settings, SSL configuration and any possible data leaks.
With functionality and security under your belt, you now must ensure the SaaS is performing optimally. This means testing key metrics and SLAs, testing performance for both web and mobile users and extensive testing to make sure it can handle large numbers of users. One key point is to also test your SaaS in isolation from your network. This way you can identify any network issues and deal with them accordingly.
From there you need to make sure the SaaS can deal with frequent updates, upgrades and patches with as close to zero-downtime as possible. Test to see that you have remote accessibility and speedy response times. Check that your target markets are properly catered for – language and characters can easily turn away users so test its global compatibility. And finally, test for disaster. If it all goes wrong you need to be ready to recover everything.
Of course to perform these test you need the right tools. Traditional functionality test tools are available including, QTP, WinRunner, SilkTest, Selenium and STAFF. Traditional performance testing tools include, LoadRunner, Silk Performer, Jmeter and WebLoad. If you want to access cloud-based tools that do both, you can also try Gomez, SOASTA, uTest and CloudTesting. Of course there are many others but those are a few worth using.
Everything you need to know about outsourcing technology developmentAccess a special Introduction Package with everything you want to know about outsourcing your technology development. How should you evaluate a partner? What components of your solution that are suitable to be handed off to a partner? These answers and more below.