Testing Practitioner Handbook
上QQ阅读APP看书,第一时间看更新

The importance of automation in DevOps

The foundation of DevOps incorporates built-in automation in the software development life cycle from as early as the requirements phase till the fag end of operations:

  • Manual static testing of requirements is now being replaced by Acceptance Test-Driven Development (ATDD) and/or Behavior-Driven Development (BDD)
  • ATDD and BDD using Cucumber, Fitnesse or RSpec help in documenting requirements, while also automating them
  • This automation is accomplished by Software Development Engineers in Testing (SDETs), who possess both development and testing skills
  • While BDD is taking place, the development team can use xUnit tools such as NUnit or JUnit to work on the Test-Driven Development (TDD)
  • All these tests can be integrated with the Continuous Integration (CI) server in order to initiate test execution along with build creation in the pre-deployment phase

Such techniques bring in the Shift Left approach to quality where a thorough requirements testing and unit testing takes place.

This will not change the fact that requirements may still continue to change throughout the development cycle and that these changes will need to go through a similar automation cycle.

However, it surely takes care of one thing, and that is the existing requirements are well understood by the development and the test teams, bringing the entire team on the same page.