Agile testing is a part of the DevOps strategy. It follows the same principles as agile software development where requirements are created gradually through customers, developers, and testing teams. Agile testing is also continuous, meaning that testing begins at the start of a project and continues on through quality assurance testing and development.
Yet, like many other testing strategies, agile testing has several different methodologies. Below is an explanation of the five main types of agile testing:
Behavior Driven Development (BDD)
Behavior Driven Development (BDD) is all about communication. Its goal is to improve communication between project stakeholders to ensure that everyone understands each new feature before development. BDD also uses “scenarios,” created by testers, developers, and business analysts, that shows how a certain feature will behave under certain circumstances or specifications.
Acceptance Test Driven Development (ATDD)
If BDD is about communication, then Acceptance Test Driven Development (ATDD) is all about gathering input from different members of the team. Typically this involves customers, developers, and testers. Customers will tell you what’s wrong with your product, developers will tell you how to solve it, and testers will tell you what might go wrong with the potential solution.
Next is exploratory testing. This is an informal type of manual test where the tester goes through the application with no specific structure or checklist involved. While the process seems random and “on the fly,” testers also need to be aware of how and where problems might occur. By working through a product naturally, instead of with a checklist, you could find issues that traditional testing methods missed.
Test-Driven Development (TDD)
As the name suggests, test-driven development (TDD) is all about tests. You typically use TDD with unit and component tests, both of which can be automated. When using TDD, you begin by first figuring out what it is you want to test, writing that test, and then creating a user story (an explanation of a feature from the point of view of the end user) to go with it. So, for example, you’ll decide to deploy a unit test, write the unit test, and then craft a user story afterwards.
The final agile methodology is session-based testing. Similar to exploratory testing, session-based testing ensures that you’ve covered all your bases in terms of testing. However, the major difference is that session-based testing has more structure. Instead of testing as you go, you test with a goal in mind. You’ll use test charters to determine what to test and then test reports to show what was found.
Here at Beta Breakers, we deploy DevOps strategies such as agile testing for many of our clients. To learn more, contact us today.