A Reusable Automated Acceptance Testing Architecture for Microservices in Behavior-Driven Development

Cloud Computing and Mobile Cloud Computing are reshaping the way applications are being developed and deployed due to their unique needs such as massive scalability, guaranteed fault tolerance, near zero downtime, etc. and also daunting challenges such as security, reliability, continuous deployment and update capability. Microservices architecture, where application is composed of a set of independently deployable services, is increasingly becoming popular due to its capability to address most of these needs and challenges. In recent years, the Behavior-Driven Development (BDD) has become one of the most popular agile software development processes, and frequently used in microservices development. The key to success of BDD is the executable acceptance tests that describe the expected behavior of a feature and its acceptance criteria in the form of scenarios using simple and business people readable syntax. The reusability, auditability, and maintainability become some of the major concerns when BDD test framework is applied for each microservice repository and no previous research addresses these concerns. In this paper, we present a reusable automated acceptance testing architecture to address all these concerns.

[1]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[2]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.

[3]  Alistair Cockburn,et al.  Agile Software Development , 2001 .

[4]  John J. Marciniak,et al.  Encyclopedia of Software Engineering , 1994, Encyclopedia of Software Engineering.

[5]  Roy Osherove The Art of Unit Testing: With Examples in .NET , 2009 .

[6]  John S. Willison,et al.  Agile Software Development for an Agile Force , 2004 .

[7]  Martin Kropp,et al.  Automated acceptance test refactoring , 2011, WRT '11.

[8]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

[9]  Mazin S. Yousif,et al.  Microservices , 2016, IEEE Cloud Comput..

[10]  Laurie A. Williams,et al.  Have Agile Techniques been the Silver Bullet for Software Development at Microsoft? , 2013, 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.