Agile Testing

In recent times, software development has to be flexible and dynamic due to ever-changing customer needs and high competitive pressure. This competitive pressure increases the importance of Agile methods in software development and testing practices. Trad

  • PDF / 936,031 Bytes
  • 15 Pages / 439.37 x 666.142 pts Page_size
  • 72 Downloads / 226 Views

DOWNLOAD

REPORT


Abstract In recent times, software development has to be flexible and dynamic due to ever-changing customer needs and high competitive pressure. This competitive pressure increases the importance of Agile methods in software development and testing practices. Traditional testing methods treat development and testing as a two-team two-step process. The process discovers bugs in software at later stage of development. Further, the process frequently leads to an internal division between teams. Agile testing combines test and development teams around the principles of collaboration, transparency, flexibility, and retrospection. This testing enables the organization to be nimble about uncertain priorities and requirements. It helps to achieve higher quality in software products. This chapter with a brief introduction on Agile-based software engineering deals with Agile-based testing. Agile testing focuses on test-first approaches, continuous integration (CI), and build–test–release engineering practices. The chapter also explains advantages and disadvantages of Agile testing practices. The process is explained with an example.



Keywords Agile testing Testing in parallel improvement Test engineering



 Team collaboration  Continuous

1 Introduction In traditional testing, a two-team, two-step process is followed where development team builds software to the state of perfection. Thereafter, testing team strives hard to find bugs in software and sends test report back to the development team. Only minimal collaboration happens between developers and testers through reviewing test case documents, design documents, requirement documents, etc. Sometimes, the reviews are ignored to accommodate change and critical timelines. This traditional process requires more time and money and often leads to an illusory divide J.R. Penmetsa (&) International Game Technology (IGT), Seattle, WA, USA e-mail: [email protected] © Springer Science+Business Media Singapore 2017 H. Mohanty et al. (eds.), Trends in Software Testing, DOI 10.1007/978-981-10-1415-4_2

19

20

J.R. Penmetsa

Fig. 1 Cost of change curve

among developers and testers. The cost of change to fix a bug increases exponentially based on the time delay between the introduction of a bug and its finding. This phenomenon is described in Fig. 1. Testing as close to development as possible is the key to Agile testing. Critics often call traditional methods as heavily regulated, regimented, and micro-managed. New Agile and light-weight methods evolved in mid-1990s to avoid shortcomings in traditional methods. Once Agile manifesto defined in 2001, its practice has come to prominence. The common aspect of all Agile methodologies is delivering software in iterations, keeping user priority in mind. Changes in requirements may change iteration priorities, but it is easy to reschedule the iterations as situation demands. The majority of successful Agile teams used the best development practices to come up with their own flavor of agility. Scrum and XP are two such popular Agile