Agile
Testing Methods
Hi again,
As we talked about Agile
testing in my previous post. Lets now see, what are methods or approaches we
use in Agile testing.
There are four approach
in Agile testing.
Ø Behavior Driven Development
Ø Acceptance Test Driven Development
Ø Exploratory Testing
Ø Session-Based Testing
Let’s start with 1st one.
1.
Behavior
Driven Development /BDD:
The idea of BDD is
that the team creates scenarios, builds tests around those scenarios which
initially fail, and then builds the software functionality that makes the
scenarios pass.
It is
different from traditional Test-Driven Development (TDD) in that complete
software functionality is tested, not just individual components.
Best practices
for Testers to implement BDD:
- Streamline documentation to
ensure the process is efficient
- Embrace a “three amigos”
approach, where the developer, product owner, and tester work together to
define scenarios and tests
- Use a declarative test
framework, such as Cucumber, to specify criteria
- Build automated tests and
reuse them across scenarios
- Have business analysts write
test cases and learn the Gherkin syntax
2.
Acceptance
Test Driven Development/ ATDD:
ATDD involves
the customer, developer, and tester. The acceptance tests represent a user’s perspective
and specify how the system will function. They also ensure that the system
functions as intended. Acceptance tests can often be automated.
Like in the BDD approach, acceptance tests are
written first, they initially fail, and then software functionality is built
around the tests until they pass.
Best practices
for Testers to implement ATDD:
- Interact directly with
customers to align expectations, for example, through focus groups
- Involve customer-facing team
members to understand customer needs, including customer service agents,
sales representatives, and account managers
- Develop acceptance criteria
according to customer expectations
- How should we validate that
the system performs a certain function?
- Will customers want to use the
system when it has this function?
3.
Exploratory
Testing:
Exploratory testing lets testers “play with” the
software in a chaotic way. Exploratory testing is not scripted – testers mimic
possible user behaviors and get creative, trying to find actions or edge cases
that will break the software. Testers do not document the exact process in
which they tested the software, but when they find a defect, they document it
as usual.
Best practices for exploratory testing:
- Organize functionality in the
application, using a spreadsheet, mind map etc.
- Even though there is no detailed
documentation of how tests were conducted, track which software areas were
or were not covered with exploratory testing
- Focus on areas and scenarios in
the software which are at high risk or have high value for users
- Ensure testers document their
results so they can be accountable for areas of software they tested
4.
Session-Based
Testing:
This is like exploratory testing, but is more orderly, aiming to
ensure the software is tested comprehensively.
It adds test charters,
which helps testers know what to test, and test reports which allow testers to
document what they discover during a test. Tests are conducted during time-boxed sessions.
Each session ends with a face-to-face brief between tester(s)
and either the developers responsible, scrum master
or manager, covering the five PROOF points:
- What was done in the test (Past)
- What the tester discovered or
achieved (Results)
- Any problems that got in the way
(Obstacles)
- Remaining areas to be tested
(Outlook)
- How the tester feels about the
areas of the product they tested (Feelings).
Best practices for session-based testing :
- Define a goal so testers are clear
about priorities of testing in the current sprint
- Develop a charter that states
areas of the software to test, when the session will occur and for how
long, which testers will conduct the session, etc.
- Run uninterrupted testing sessions
with a fixed, predefined length
- Document activities, notes, and
also takeaways from the face-to-face brief in a session report
Happy Testing!!!
I have started Agile
series with below post if you are still interested.
How Agile has impact testing
Comments
Post a Comment