SaaS. It sounds like something a teenager might do, but it’s one of the hottest trends in software. SaaS stands for Software-as-a-Service. On-demand software that eliminates many of the purchase-cycle and maintenance frustrations customers experience with packaged software.
You might have heard SaaS referred to as ‘software-on-demand’ and that’s exactly what it is. It’s software delivered 100% over the internet, available to the user on demand, and paid for through a variety of subscription or pay-per-use models. Technically speaking, SaaS is the client-facing application layer of cloud-computing.
SaaS began gaining ground in the late 2000s, primarily in the healthcare and HR markets. As the cost of bandwidth decreased, and customer frustration with packaged software increased, SaaS grew into the powerhouse it is today. Now, offerings in everything from education to design mean you’ve likely used a SaaS platform at least once.
Companies as diverse as employee time-tracking guru TSheets, the ubiquitous newsletter builder Mailchimp, workflow management marvel Trello, or freight broker and load matcher Truckstop.com are all SaaS applications AND leaders in their respective fields. (Shout out to two of this author’s personal favorite SaaS-y apps, Canva and Lucidchart. Between the two I can design graphics, wireframe apps, and create all sorts of circuit or process flows for a monthly subscription price that’s substantially less than traditional software offerings.) ‘Nuff said.
B2B and SaaS
For companies subscribing to a SaaS product, there are many benefits. Chief among them are availability and reliability, fast deployment, reduced dependence on internal IT, customizable consumption, and simplified pricing structures. Factor in the elimination of the software license and upgrade cycle and it almost doesn’t make sense to pay for packaged software any more.
SaaS Testing Challenges
Despite multiple positives, there are still several user concerns that may block adoption of a SaaS product. Issues of cloud-based security, multi-tenant performance, and legacy or enterprise application integration are unique to the SaaS environment, and deserve a specialized testing strategy.
1. Security Testing:
The basic principles of maintaining data security and integrity in the cloud are relevant here, as with any cloud-based platform. SaaS security issues are more complex than simply making data secure, though. Knowing that an app will have multiple tenants, each with their own privacy requirements, privilege levels and behavioral patterns complicates SaaS testing.
- Solution: Include both typical web app security issues and multi-tenant concerns such as access privileges and data integrity in your SQA plan. Test use networks for vulnerabilities and include test scenarios to eliminate security threats.
2. Performance and Scalability Testing:
Scalability is a key component of business growth for the SaaS provider while performance is a key component of client retention. Together, these considerations provide the foundation for a growing and satisfied customer base. Successfully testing this area requires careful consideration of test scenarios, and greater diligence than standard app testing.
- Solution: Model application usage and user mix through a wide variety of scenarios. Load-test using both normal and peak conditions in a variety of environments. Performance test the SaaS app, then scale to testing in the cloud and on mobile. Anticipate as many use scenarios as possible.
3. Integration and API Testing Challenges:
Subscribers who integrate internal or legacy applications with a SaaS app need to be confident their data is merging properly. Additionally, APIs add value to a SaaS product by allowing third party developers to easily customize the app for enterprise needs, yet it can be time consuming to imagine every scenario involved.
- Solution: Develop a SaaS testing plan that validates both inbound and outbound data. Test all APIs for functionality, security, usability, performance, and completeness of documentation. These considerations can be time-consuming to develop test scenarios for. However, failure to spend the time needed to develop scenarios for integration and API testing could lead to a SaaS application that’s not useful for a broad range of subscribers.
SaaS Testing Requires Thoroughness and Mindfulness
The SaaS industry is growing more competitive each year. Customer success is critical in any industry, but exponentially more so for SaaS-based companies. Subscriber expectations for ease of use, integration, security, flexibility and customization are high, and the subscriber model makes loyalty during issues less likely than for licensed software. The complexity of software testing scenarios in a multi-tenant, multi-platform environment creates SaaS testing challenges requiring thorough and mindful consideration.