Software Quality Assurance Using Cloud Computing: Case Study
Oral Defence Date:
Professors Dragutin Petkovic, Jozo Dujmovic; and CCLS Research Assoc. Mike Wong
Cloud computing is becoming increasingly popular by providing low cost computing platform for many applications such a high performance computing and quality assurance (QA). It provides three main types of services through Internet: software-as-a-service (SaaS), platform-as-a-service (PaaS) and infrastructure-as-a-service (IaaS which can be rented over network and charged only for actual usages. The FEATURE project, which is developing at San Francisco State University (SFSU) jointly with Stanford Helix Group, provides tools for modeling functional sites in protein and metal ion structures. With the evolvement of the FEATURE project, new test cases were needed to extend the new cross-platform FEATURE 3.0. Complete FEATURE 3.0 testing required number of different hardware and operating systems, requiring expensive purchases and maintenance of those platforms and long testing times. In order to reduce the budget and improve the performance of testing, cloud computing IaaS model of service was explored as an alternative, using Amazon Cloud Services. In this project, we accomplished two main goals: 1) We developed new testing sequences using Perl for the new FEATURE version 3.0 such as selectable properties; 2) We developed cloud testing framework using Python and implemented in on Amazon Elastic Cloud Computing (EC2) and Amazon Elastic Block Storage (EBC). This framework was used to launch and complete testing of FEATURE 3.0 on number of virtual machines instantiated on EC2 in order to test on all combinations of hardware and operating systems and to generate reports automatically. This solution offered significant savings in cost and time.
software quality assurance, cloud computing, Amazon EC2/EBS