SaaS Testing Overview - Foundation
SaaS Testing Overview - Foundation
Outline
SaaS Introduction
SaaS Challenges
Key Challenges
SaaS Testing
How to approach SaaS testing? How SaaS Testing is different? SaaS Test Tools
What is SaaS?
SaaS Introduction
Platform
Infrastructure
SaaS Definition
Software as a service (SaaS), sometimes referred to as "software on demand," is software that is 100% deployed over the internet . With SaaS, a provider licenses an application to customers as a service on demand, through a subscription or a "pay-as-you-go" model.
Wikipedia definition
Multi-tenant Efficient
Scalable
Configurable
Why SaaS?
SaaS Introduction
SaaS
Provider
Customer
Customer
Provider
Installation
Client - Server
Central
Upgrades
Shorter, frequent
Platform
Multi-version
Single-version
SaaS
High, Critical
Low
Multi-tenancy
No
Yes
Backward compatibility
No
Yes
Maintenance
Customer
Provider
Cost, Allocation
High, CapEx Close the deal, License Revenue Initial sale + maintenance
Profits
Ecosystem
SaaS (Software)
PaaS (Platform) IaaS
(Infrastructure)
Starting point to every service within cloud computing ecosystem Highest on the maturity level and growth curve amongst XaaS Highest revenue generating service within cloud model for next several years
SaaS Catalysts
Intrigue of access to unlimited Computing and storage resources, made available and paid for only as needed (Pay as you go) Decreasing cost of bandwidth Customer frustration with traditional software buying cycle (license, maintenance contract, upgrades) Perceived increase in control over the vendor relationship Early SaaS success stories Salesforce.com, WebEx, etc. Demonstrate broader value proposition You focus on your application and not on infrastructure
SaaS Introduction
In-Stat research on vertical market adoption shows the healthcare market is currently most satisfied with hosted applications, with education identified as an important potential target market also.
All research points out that SaaS has been adopted heavily in :
HR applications (ERP,
Salesforce automation, eRecruiting)
CRM Healthcare
Challenges
SaaS Challenges
Numerous Challenges
Security
Performance
Availability
SLA
Data Integrity
Privacy
Regulatory
Integration
Multi-tenancy
Lack of confidence
SaaS Testing
SaaS Testing
The average enterprise IT department devotes up to 50 percent of its entire technology infrastructure to development and test, with up to 90 percent of the available test infrastructure remaining idle. IBM Research
Cloud Testing
Those using cloud facilities to run applications, 49.8% said they were doing so experimentally or for prototyping; 28.6% for noncritical business applications and 21.6% for business critical applications Evans Data Survey
The average online business had 8 days of downtime a year due to performance issues leading to lost revenues Aberdeen Group
Overall growth in Cloud Computing (investment, revenue, ROI, market cap, etc.) is leading to a marked increase in adoption of SaaS Testing
SaaS Testing
Testing Testing SaaS Using Using Cloud Cloud Testing applications using the cloud-based hardware, software, infrastructure and computing resources. Tests performed like performance, load & stress, security and compatibility
Easier
No client-server installation
No multiplatform support No multiple version upgrades No backward compatibility
Challenges
Frequent live upgrades Too many pages Multiple privileges
Approach
SaaS Testing
Test in a multi-user environment where different users are performing different activities.
Software Performance Assurance Confidential
Test for possible attacks Test roles and privileges in multi-tenant environment
Many roles and privilege levels
Test all the upgrades to detect broken security, Ensure security patches are not missed Test data security / integrity among multiple tenants
Software Performance Assurance Confidential
Tests tampering with the licensing mechanism; gaining unauthorized access to application data, editing registry entities or configuration files
Test load characteristics, ramp up rate, protocols, load origination, Establish ability to test performance of your SaaS isolated fashion so that network related issues can be identified and passed to network infrastructure and internet providers
Global users make this complicated as somewhere in the world someone might be accessing your application
Thoroughly test in staging environment before perform upgrade ass this is one of the most complex features
Disaster Recovery
Shutdown to bring up application quickly: server configuration; install and deploy software ; restore data Roll back to last known stable data
Localization
Make sure it supports international characters as SaaS application can be accessed from anywhere in the world Optimize by supporting target market language
Test Tools
SaaS Testing
Functional
Performance
LoadRunner, Rational Robot, Rational Performance Tester Silk Performer Jmeter, Grinder, WebLoad, OpenSTA
Conclusion
Conclusion
Customers buy each month keep them happy
SaaS is only a delivering model, customers will not compromise on functionality, stability, security, and performance. They will not switch to SaaS it if not better than traditional systems.
You need to pay more attention to stuff like accessibility, security, deployments. The way you earn reputation Dont buy cloud-based test solution just because you are testing SaaS. In most cases, traditional test solutions work just fine and save your 30% 50% cost.