170 likes | 272 Views
Design Product Quality Software + Services. Design Product Quality Software + Services. Engineering Day Brought to you by EE and TwC. Investigating th e Testability of Cloud Application Services. Tariq King, Assistant Professor, NDSU
E N D
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, NDSU Annaji 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? Cloud Testability Impact on Application Development
Dark Side of Cloud Application Testability Remoteness InformationHiding Complexity Statefulness High Dependability & Performance Requirements Autonomy Paradigm Infancy = Grand Challenge
Bright Side of Cloud ApplicationTestability Deployed in an Environment Characterized By… ComputationalPower 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
Automated Test Scripts Used as theBasis for TSaaS Design Test Libraries Test Initialization Test Data Test Cleanup
Test Methods Provide Reusable Control and Observation Points Preconditions Assertions Inputs
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