N ORTH D AKOTA S TATE U NIVERSITY D EPARTMENT OF C OMPUTER S CIENCE © NDSU S OFTWARE T ESTING R ESEARCH G ROUP An Introduction to Test Support-as-a-Service Presenter: T ariq M. King University-Industry Consortium Meeting May 12, Moorhead, MN, USA
© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Outline Introduction Background Motivation Test Support-as-a-Service Conclusion Questions 2
© NDSU S OFTWARE T ESTING R ESEARCH G ROUP National Defense Industrial Association states that Software Testing In The Cloud (STITC) is an area that will grow in importance in the next few years STITC is an emerging discipline that has potential to significantly change the way testing is done STITC lies at the intersection of software testing, cloud computing, and system migration, and can be divided into three facets: Testing IN, OF, and TO the Cloud Introduction 3
© NDSU S OFTWARE T ESTING R ESEARCH G ROUP The cloud provides ubiquitous, on-demand access to computing resources “as services” via Internet Software-as-a-Service | Google Docs, Office Web Apps Platform-as-a-Service | Google App Engine, Windows Azure Infrastructure-as-a-Service | Amazon EC 2, Rackspace Background 4 CLOUD COMPUTING
© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Creating abstract computing resources from more powerful physical resources Background 5 VIRTUALIZATION
© NDSU S OFTWARE T ESTING R ESEARCH G ROUP The process of operating software under specified conditions, observing the results, and making an evaluation of the software. [IEEE Std.] Testing is the primary means of validation used in the software industry, and can account for as much as 50 to 75 percent of software development costs Automating the testing process is not an easy task but can have long-term benefits: Reduced costs, time, and risks Increased coverage Background 6 SOFTWARE TESTING
© NDSU S OFTWARE T ESTING R ESEARCH G ROUP What makes cloud-based applications easier or more difficult to test than conventional applications during development and maintenance? Motivation 7 TESTING OF THE CLOUD Cloud Testability Impact on Application Development
© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Dark Side of Cloud Testability 8 Remoteness Information Hiding Complexity Statefulness High Dependability & Performance Requirements Autonomy Paradigm Infancy
© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Bright Side of Cloud Testability 9 Computational Power Storage Testing requires lots of resources and the cloud is certainly powerful enough to handle it Virtualization
© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Test Support as-a-Service (TSaaS) 10 Provider A and B in a Cloud Community Expose TSaaS to Provider C
© NDSU S OFTWARE T ESTING R ESEARCH G ROUP TSaaS Development Methodology 11 Describes How To Extend Existing Test Automation To Develop TSaaS for Partners
© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Major Components of the TSaaS Architecture TSaaS Architecture 12
© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Designed for the Windows Azure Cloud Platform TSaaS Prototype 13 PROOF OF CONCEPT
© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Building the prototype established the feasibility of TSaaS development but still much work to be done to evaluate the proposed testing approach Seeking to apply TSaaS in the context of a real world problem where various aspects of the approach would be practically useful Collaborative or “Community Cloud” Testing plays a central or vital role Benefit from virtualization or simulation Possible cloud or testing projects for consortium. Research Status and Conclusion 14
© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Acknowledgements 15 Annaji Ganti, PhD Student, NDSU David Froslie, Test Architect, Microsoft Fargo Dr. Scott Tilley, Professor, Florida Tech Reviewers and participants of the 2010 Workshop on Software Testing in the Cloud
© NDSU S OFTWARE T ESTING R ESEARCH G ROUP Thank You! 16 Questions? ¿Preguntas? 問題 Sawwal вопросы 質問 domande ερωτήσεις