design product quality software + services engineering day brought to you by ee and twc
Post on 19-Dec-2015
214 views
TRANSCRIPT
Design Product Quality Software + Services
Design Product Quality Software + Services
Engineering Day
Brought to you by EE and TwC
Investigating the Testability of Cloud Application Services
Tariq King, Assistant Professor, NDSUAnnaji Ganti, SDET, Microsoft Dynamics GP
May 3, 2011
Cloud Computing
Delivers Software Applications, Platforms and Infrastructures as services over Web
Software-as-a-Service
Like conventional applications, but hosted and deployed in a cloud environment
Helps end users performa specific task
Provides ubiquitous accessapplications and user data
New application services can be developed by tailoringexisting cloud services
Motivating Research Question #1
What makes SaaS more difficult or easierto test than conventional applications during development and maintenance?
CloudTestability
Impact on Application Development
Dark Side of Cloud Application Testability
Remoteness
InformationHiding
Complexity
StatefulnessHigh Dependability & Performance Requirements
Autonomy
Paradigm Infancy
= Grand Challenge
Bright Side of Cloud Application
Testability Deployed in an Environment Characterized
By…Computation
alPower
Storage
Virtualization
Testing requires lots of resources and such an environment facilitates test execution
Specific Challenge… Towards a Solution
Cloud applications can be built on services that are not locally owned or controlled
Testability is reduced due to lack of controland observation of parts of the application
Question #2: Can we use the test automation tooling, created during service development, to help address this issue?
Question #3 : What about using the cloud itself to address the cloud testability challenges?
Test Support as-a-Service (TSaaS)
Providers A and B Expose Test Support as-a-Service to Provider C
Development Methodology for TSaaS
Automated Test Scripts Used as the Basis for TSaaS Design
Test Libraries
Test Initialization
Test Data
Test Cleanup
Test Methods Provide Reusable Control and Observation Points
Preconditions
Assertions
Inputs
TSaaS Architectural Model
TSaaS Prototype
Lessons Learned
Successful implementation of the prototype validates the TSaaS development method
Merely lays the foundation for investigation into the overall approach
Major factors to success were test case parameterization technique, and runtime virtualization support through Hyper-V API
Technical difficulties: Combination of runtime virtualization, testing, and development
Current Direction: Azure Deployment
Much work still needed to evaluate overall testing approach
Must deploy TSaaS to the cloud and perform controlled experiments
Prototype has been build in a manner that streamlines moving it to Windows Azure
Install Windows Azure SDK and prerequisites
Configure Baseline VHD using Azure SDK
Migrate SQL Server 2008 R2 Data to SQL Azure
Future Vision: A Self-Testable Cloud