enabling automated integration testing of cloud application services in virtualized environments
DESCRIPTION
Enabling Automated Integration Testing of Cloud Application Services in Virtualized Environments. Tariq M. King , Annaji S. Ganti , and David Froslie. Outline. Introduction Background Research Problem Approach Prototype Discussion Related Work Conclusion & Future Work. Introduction. - PowerPoint PPT PresentationTRANSCRIPT
NORTH DAKOTA STATE UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE
© NDSU SOFTWARE TESTING RESEARCH GROUP
Enabling Automated Integration Testing of Cloud Application
Services in Virtualized EnvironmentsTariq M. King, Annaji S. Ganti, and David
Froslie
© NDSU SOFTWARE TESTING RESEARCH GROUP 2
Outline Introduction Background Research Problem Approach Prototype Discussion Related Work Conclusion & Future Work
© NDSU SOFTWARE TESTING RESEARCH GROUP
Cloud provides ubiquitous, on-demand access to computing resources “as services” via the Internet
Operational Perspective Availability, Scalability, Efficiency, …
Development Perspective Reusable Components, Info. Hiding Highly Complex Local Infrastructure
Testing Perspective?
Introduction
3
© NDSU SOFTWARE TESTING RESEARCH GROUP
Cloud poses several new testing challenges but also brings a number of benefits to software testing
Challenges of Testing Cloud Applications High Complexity, Remoteness, Information Hiding,
Autonomy, High Performance and Dependability…
Benefits of Software Testing In The Cloud (STITC) Computational Power and Storage Virtualization
Theme: Use Benefits to Overcome Challenges
Introduction
4
MOTIVATION
© NDSU SOFTWARE TESTING RESEARCH GROUP 5
“Enabling Automated Integration Testing of Cloud Application Services in Virtualized Environments”
STITC is an emerging discipline with potential to significantly change how we do testing
STITC 2010 Workshop focused on three key areas: Testing IN the Cloud – leveraging the cloud
for test execution and testing in a virtualized environment
Testing OF the Cloud – validating applications that are hosted and deployed in the cloud
Testing TO the Cloud – moving the testing process and other assets to the cloud
Introduction RESEARCH POSITION
© NDSU SOFTWARE TESTING RESEARCH GROUP 6
“Services” in cloud computing typically fall into three categories:
Software-as-a-Service | Google Docs, Office Web Apps
Platform-as-a-Service | Google App Engine, Windows Azure
Infrastructure-as-a-Service | Amazon EC2, Rackspace
Background CLOUD COMPUTING
© NDSU SOFTWARE TESTING RESEARCH GROUP 7
Many cloud platforms offer Virtualization support Creating abstract computing resources from
more powerful physical resources
Hosted Architecture
Background VIRTUALIZATION
Hypervisor Architecture
© NDSU SOFTWARE TESTING RESEARCH GROUP 8
To narrow the research scope, we analyze a specific cloud application development scenario
One host (Provider B) is developing an application service that will extend the functionality of a service offered remotely by another host (Provider A)
Research Problem SCOPE
© NDSU SOFTWARE TESTING RESEARCH GROUP 9
Even with its limited scope, the scenario reveals many integration testing issues and challenges: Difficult for Provider B to Setup Some Tests
for his application since he does not have full control and observation of Service A. Possible Solutions?
Developing Accurate Stubs is Hard since Provider B has no knowledge of Service A’s implementation
Provider B Limited to Black Box Testing of those parts of his application implemented by Service A
Service B can Change w/o Provider B’s Knowledge i.e., Update to Service A Need to Retest Service B
Research Problem ISSUES
© NDSU SOFTWARE TESTING RESEARCH GROUP 10
Our approach to the research problem introduces the notion of Test Support as-a-Service (TSaaS)
Prior to deploying Service A, Provider A would have tested it, which typically involves creating: Test Artifacts – Automated Test Drivers and
Stubs A Test Bed – Hardware/Software
Environment
TSaaS seeks to reuse such existing test automation for the development and delivery of a set of test support services for collaborating partners
Approach
© NDSU SOFTWARE TESTING RESEARCH GROUP 11
Provider B has full access to a test copy of Service A Test hooks, instrumentation, and scaffolding
reuse Test data (non-confidential) can be made
available Testing does not interrupt service in
production
Concerns: Maintenance, Scalability, Security
Approach OVERVIEW
Provider A exposes TSaaS to Provider B
© NDSU SOFTWARE TESTING RESEARCH GROUP 12
Hypervisor-Based Virtualization and Secure Access
Approach ARCHITECTURE
© NDSU SOFTWARE TESTING RESEARCH GROUP 13
Approach CONTROL FLOW
Control Flow When Realizing Test Support Services
© NDSU SOFTWARE TESTING RESEARCH GROUP 14
Designed with goal of making its components easily deployable to Windows Azure®
Web & Worker Roles (ASP.NET, IIS7, WCF Services)
VM Role (Windows 2008 R2 Server Image)
Application Domain: Credit Reporting/Banking
Prototype PROOF OF CONCEPT
© NDSU SOFTWARE TESTING RESEARCH GROUP 15
The primary reason for developing the prototype was to investigate the feasibility of implementing TSaaS
Successes Able to quickly develop and expose a cross
section of test support operations for the credit service by reusing its existing test artifacts and tooling Test authoring and execution, code
coverage, error reporting, and server-side diagnostics
Facilitates independently setting up preconditions, applying inputs, making assertions, doing cleanup
Discussion
© NDSU SOFTWARE TESTING RESEARCH GROUP 16
Technical Challenges Locating and Integrating Required
Technologies Combines programming knowledge, test
automation skills, and runtime virtualization expertise
Configuring Virtual Hard Disk Images of Servers Enable Auto-Login, Install Security Patches,
Disable Reboot after Auto-Update, Set User Privileges
Emphasized the importance and need for VM tools for manipulating and updating these images
Discussion ACCIDENTAL DIFFICULTIES
© NDSU SOFTWARE TESTING RESEARCH GROUP 17
Key Research Challenge Provision of standardized interfaces and
guidelines for performing testing in the cloud and developing online test support services for the cloud.
Limitations Lack of formalized evaluation of the
approach Narrow scope of research problem and no
evidence of generality of the approach Feasible to Implement Practical
Discussion
© NDSU SOFTWARE TESTING RESEARCH GROUP 18
Formal modeling and model-based testing criteria for cloud applications (Chan 2009)
Model-driven approach to security testing of cloud applications (Zech 2011)
Industry challenges for runtime integration and testing for software services (Greiler 2009)
Many works on testing and testability of SOA(Mei 2008, O’Brien 2007, Tsai 2006)
Related Work
© NDSU SOFTWARE TESTING RESEARCH GROUP 19
Presented an approach to support integration testing of cloud applications using virtualized environments – Test Support as-a-Service (TSaaS)
Described implementation of a TSaaS Prototype Provides some evidence that approach is
feasible
Future work calls for Evaluation and Extension Azure Experiments, Alternative
Implementation, Standardization, Expand Problem Scope, Benefits Virtualization Benefits/Implications, Performance
Building Self-Testing into the Cloud (STITC 2011)
Conclusion and Future Work
© NDSU SOFTWARE TESTING RESEARCH GROUP 20
Acknowledgements Neha Kale, MS Student (NDSU)
Dr. Scott Tilley, Professor (Florida Tech), and the participants of STITC 2010
Alisson Sol, Knowledge Engineer (Microsoft)
and the participants of 2011 Microsoft Fargo Engineering Day Excellence Expo
CASCON 2011 Reviewers
© NDSU SOFTWARE TESTING RESEARCH GROUP 21
Thank You!Questions?
¿Preguntas?問題Sawwalвопросы質問domandeερωτήσεις