Test-Driven Development (TDD) is a coding practice that help developers write new code once an automated test fails.
The main goal of TDD is to bring more clarity, simplicity, and accuracy to tests. It begins by designing and developing tests for every small function of an application before the actual coding begins.Acceptance Test Driven Development(ATDD):
This takes TDD one step further where the entire team of stakeholders discusses acceptance criteria much early in the development process. ATDD is quite ideal for agile testing because it helps close the loops between product and dev teams, increases collaboration and brings efficiency.
Behavior Driven Development(BDD):
BDD uses the same principles as TDD but it goes for higher level tests at the business level instead of unit tests. BDD takes the ideal or accepted behavior and asks for tests that even non-developers can understand. It uses the ‘outside in’ approach – implementing only those behaviors that contribute to these business outcomes to inimize redundancy. BDD increases the scope of the feedback loop to include business stakeholders and end users who may not have software development knowledge.Exploratory Testing:
Exploratory testing is the simultaneous process of test design and execution as opposed to scripted testing(with preset procedures and processes). Exploratory tests don’t follow a precise script decided in advance.
In other words, exploratory testing allows testers with the freedom to test the code in an exploratory and somewhat chaotic way. Exploratory tests are then complementary to automated tests, because they aim to find possible issues that are beyond the scope of automated tests.Session based testing:
Session based testing is exploratory testing but with more structure and organization. Where exploratory testing is completely unscripted, there is a question of accountability and expertise of the tester involved.
Session based testing relieves some of these concerns by keeping the essence of exploratory testing with more time-boxed, uninterrupted sessions, testing against a charter and requiring testers to report on the testing that occurred in each session.
Eventually, these sessions are completed with a debrief between testers and managers to analyse the outcomes.
Read more about aligning testing to Continuous Delivery, tools and techniques in the follow-up blog post.TO BE CONTINUED….
Let’s get you started with QMetry®