Experiences with Cloud Technology to Realize Software Testing Factories

Experiences with Cloud Technology to Realize Software Testing Factories

Alan W. Brown (IBM Rational and University of Surrey, UK)
Copyright: © 2015 |Pages: 27
DOI: 10.4018/978-1-4666-6539-2.ch032

Abstract

In enterprise software delivery, the pursuit of software quality takes place in the context of a fundamental paradox: balancing the flexibility that drives speed of delivery with the rigor required to verify that what is being delivered is complete, correct, and appropriate for its intended use. One common approach to address this concern is to create “software testing factories” with the aim of increasing testing efficiency by standardizing and speeding up delivery of testing services. To achieve this balance, software testing factories are turning to cloud-based infrastructures as an essential delivery approach. Cloud technology exhibits characteristics that make adoption of software testing factories particularly attractive: elasticity of resources, ease of deployment, and flexible pricing. In this chapter, the author examines the role and structure of software testing factories and their realization using cloud technology, illustrates those concepts using real world examples, and concludes with some observations and a discussion on future directions.
Chapter Preview
Top

Background

Over 40 years ago, the original NATO reports (Naur & Randell, 1968; Randell & Buxton, 1969) focused attention on some of the core elements of an industrialized approach to enterprise software delivery; increasing productivity and quality of software delivery in the face of severe skills shortages, the importance of standardized processes to improve predictability, and the role of measurement and metrics in gaining insight into project progress and for optimizing development and delivery activities.1 In the succeeding years there was a great deal of attention turned toward these themes, particularly in understanding how different forms of software process improvement could raise the quality and consistency of software delivery (Hunter & Thayer, 2001; Humphrey, 1991). This resulted in “spiral” and “iterative” models of software development (Boehm, 1988; Krutchen, 2002), and measured improvement schemes such as the Capability Maturity Model (CMM) (CMU, 2010).

More recent work on the industrialization of software has focused attention towards automation and verification aspects of software production (Clements & Northrop, 2001). From one perspective, component-based design techniques and reuse libraries were seen to be the central elements to create catalogs of parts for assembly of systems from pre-developed pieces (Brown, 2000). While from another perspective the key to automation was the role of more formal modeling languages amenable to improved analysis techniques from which working systems could be generated (Greenfield et al., 2004).

Complete Chapter List

Search this Book:
Reset