0% found this document useful (0 votes)
3 views11 pages

Agile Testing Strategy

Agile testing is an iterative process that occurs alongside development, utilizing various strategies such as Test Driven Development (TDD), Behaviour Driven Development (BDD), and Continuous Testing. Key benefits of these strategies include improved collaboration, early issue detection, and ensuring software quality from the start. The Agile Testing Quadrants model categorizes tests based on their purpose, aiding in effective testing approaches.

Uploaded by

Ishaan katara
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views11 pages

Agile Testing Strategy

Agile testing is an iterative process that occurs alongside development, utilizing various strategies such as Test Driven Development (TDD), Behaviour Driven Development (BDD), and Continuous Testing. Key benefits of these strategies include improved collaboration, early issue detection, and ensuring software quality from the start. The Agile Testing Quadrants model categorizes tests based on their purpose, aiding in effective testing approaches.

Uploaded by

Ishaan katara
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Agile Testing Strategy

Lecture 25

Testing Strategies in Agile


Software Development
Dr. TANVI GAUTAM
(Assistant Professor – Senior Grade)
https://www.testingxperts.com/blog/regression-testing-agile
Agile testing is a continuous process of testing in Agile software
development methodology. Unlike traditional testing, Agile testing starts
early and happens alongside development in short iterative cycles called
sprints.
Agile testing strategies are as follows:

- Test Driven Development (TDD)


- Behaviour Driven Development (BDD)
- Acceptance Test Driven Development (ATDD)
- Exploratory Testing
- Continuous Testing
- Regression Testing
- Risk Based Testing
- Pair TEsting
- Agile Testing Quadrants
1. Test-Driven Development (TDD)

Definition: TDD is a process where tests are written before writing the actual
code.
● Steps:
- Write a test for a small function.
- Run the test (it fails).
- Write code to pass the test.
- Refactor the code.
- Repeat.

Example: If you need to write a login feature, first write a test case checking if valid
credentials allow access—then build the logic to pass the test.
Benefits:
Ensures quality from the beginning.
Reduces debugging time.
Definition: BDD is an extension of TDD where tests are written in natural,
human-readable language, involving all stakeholders.
● Syntax: Given ➜ When ➜ Then
Example:
- Given the user is on the login page
- When they enter valid credentials
- Then they should be redirected to the dashboard
● Tools: Cucumber, JBehave
● Benefits:
○ Improves collaboration between developers, testers, and business
teams.
○ Easy to understand test scenarios.
Definition: In ATDD, acceptance tests are created based on user stories
and requirements before development starts.
● Participants: Developers, Testers, Product Owners

● Example: A user story for booking a ticket might have an acceptance


test verifying that the booking confirmation is sent by email.

● Benefits:

○ Clear understanding of requirements.

○ Helps ensure the software meets business goals.


Definition: Testing without predefined test cases—the tester actively
explores the application, learning as they go.
● Why it’s important: Often uncovers issues that automated or scripted
tests miss.
● When to use:
○ When time is short.
○ For new features or early prototypes.
● Benefits:
○ Encourages creativity.
○ Useful for UI/UX feedback and usability testing.
5. Continuous Testing
Definition: Tests are executed automatically as part of the Continuous
Integration/Continuous Deployment (CI/CD) pipeline.
● Tools: Jenkins, GitLab CI, CircleCI, Travis CI

● Example: Every time code is committed, automated tests run to ensure


nothing is broken.

● Benefits:

○ Fast feedback for developers.

○ Detects issues early in the lifecycle.


6. Regression Testing
Definition: Re-running tests to make sure new code hasn’t broken
existing functionality.
● Automated Regression Suites: Used in every sprint.

● Important for: Stable releases and refactored code.

● Benefits:

○ Prevents old features from failing.

○ Saves time in long-term testing cycles.


7. Risk-Based Testing
Definition: Focuses on testing the most critical and high-risk areas first.
● Steps:

○ Identify risks based on feature complexity or customer impact.

○ Prioritize testing efforts accordingly.

● Benefits:

○ Efficient use of time and resources.

○ Minimizes failure in crucial areas.


8. Pair Testing
Definition: Two team members (often a developer and a tester) work
together at the same computer to test the software.

● Types:
○ Developer + Tester
○ Tester + Tester

● Benefits:
○ Knowledge sharing.
○ Faster identification of issues.
9. Agile Testing Quadrants
This model helps classify different types of tests based on their purpose:

Quadrant Type Purpose


Q1 Unit Tests, Support developers
Component Tests

Q2 Functional Tests, Support the


Story Tests business

Q3 Exploratory, Critique the product


Usability Tests

Q4 Performance, Validate the


Security Tests product

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy