0% found this document useful (0 votes)
10 views8 pages

Agile ch-4

Agile Testing is a continuous and collaborative process integrated into development, focusing on delivering business value and enabling rapid feedback. It differs from traditional testing by involving testers throughout the project and emphasizing lightweight documentation and automation. Various testing types, including concurrency, regression, and user experience testing, are essential in Agile to ensure quality and adaptability in fast-paced environments.

Uploaded by

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

Agile ch-4

Agile Testing is a continuous and collaborative process integrated into development, focusing on delivering business value and enabling rapid feedback. It differs from traditional testing by involving testers throughout the project and emphasizing lightweight documentation and automation. Various testing types, including concurrency, regression, and user experience testing, are essential in Agile to ensure quality and adaptability in fast-paced environments.

Uploaded by

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

📘 UNIT IV: Agile Testing

🧪 1. What is Agile Testing?

Agile Testing is a continuous testing process that follows the Agile principles of collaboration,
feedback, and iterative development. It starts early in the development lifecycle and happens
frequently.

🔑 Key Points:

 Testing is integrated into development.


 Done by developers and testers as part of the Agile team.
 Tests are written before, during, and after coding.

🔍 2. What Do We Mean by “Agile Testing”?

Agile Testing:

 Is not a separate phase.


 Happens continuously in small increments.
 Focuses on delivering business value.
 Encourages quick feedback and fast bug detection.
 Uses automated and manual testing collaboratively.

🧪💼 3. A Little Context for Roles and Activities in Agile Testing

Role Agile Testing Responsibility


Developers Write unit tests, integration tests
Testers (QA) Write acceptance tests, exploratory testing, test automation
Product Owner Define acceptance criteria with the team
Scrum Master Facilitates Agile practices

Testing is everyone’s responsibility in Agile!

🧪 4. How is Agile Testing Different from Traditional Testing?

Aspect Traditional Testing Agile Testing


Timing After development Alongside development
Approach Sequential (Phases: Dev → Test) Iterative and continuous
Tester Involvement Late in project Throughout the project
Documentation Heavy test plans Lightweight, evolving
Feedback Delayed Rapid and continuous
Type of Tests Mostly manual Mix of manual and automated
Collaboration Limited (Silos) High (Team-based)

🔟 5. Ten Principles for Agile Testers

1. Provide Continuous Feedback


2. Deliver Value to the Customer
3. Enable Face-to-Face Communication
4. Have Courage to Adapt
5. Keep It Simple
6. Practice Continuous Improvement
7. Respond to Change Quickly
8. Self-organize
9. Focus on People First
10. Enjoy the Process!

💡 6. Applying Agile Principles and Values to Testing

Agile Principle Testing Application Example


Working software over
Test scenarios evolve with user stories
documentation
Customer collaboration Product Owner defines acceptance criteria
Responding to change Test plans adapt to story changes
Testers collaborate with developers and business
Individuals and interactions
owners

Agile Testing applies the Agile Manifesto in the context of ensuring quality at every stage.

✅ Advantages of Agile Testing

1. Early Bug Detection – Continuous testing from the start


2. Faster Feedback Loop – Shorter release cycles
3. Better Collaboration – Testers work closely with devs and product owners
4. Higher Product Quality – Automated tests, CI/CD pipelines
5. Adaptability – Requirements can change mid-sprint
6. Customer Satisfaction – Features tested and refined frequently

❌ Disadvantages of Agile Testing

1. Lack of Documentation – Lightweight documentation may hinder traceability


2. High Involvement Needed – Requires continuous collaboration
3. Requires Skilled Testers – Needs testers to code and understand Agile
4. Frequent Changes – Hard to maintain test cases with shifting requirements
5. Automated Tool Dependency – Over-reliance on tools if not well-balanced

📝 Pointwise Summary

1. Agile Testing is collaborative, continuous, and feedback-driven.


2. It starts early and runs in parallel with development.
3. Testers play active roles in user story refinement and test automation.
4. Agile testing is different from traditional testing in timing, tools, and team integration.
5. 10 Principles guide testers to align with Agile values.
6. Agile Testing focuses on business value, not just functionality.
7. Automated testing is crucial to keep up with fast releases.
8. Traditional QA silos are replaced by cross-functional Agile teams.
📘 Other Types of Testing in Agile

🧪 1. Concurrency Testing

✅ Definition:

Testing how an application handles simultaneous operations from multiple users or processes.

🔍 Focuses On:

 Race conditions
 Deadlocks
 Data corruption

🧪 Example:

Simultaneous bookings on a travel website.

✅ Advantages:

 Uncovers hidden synchronization bugs


 Improves system robustness under load

❌ Disadvantages:

 Difficult to reproduce bugs


 Complex to simulate real-world concurrency

🧪 2. Internationalization and Localization Testing (i18n & L10n)

✅ Internationalization (i18n):

Designing software so it can be adapted to various languages/cultures without code changes.

✅ Localization (L10n):

Adapting software to a specific language, region, or culture (translations, date formats).

🧪 Example:

Changing from English to Japanese, or USD to EUR.

✅ Advantages:

 Expands market reach


 Improves global user experience

❌ Disadvantages:

 Needs native language testers


 Risk of missed cultural context

🧪 3. Regression Testing
✅ Definition:

Testing to ensure that new code changes do not break existing features.

🧪 Techniques:

 Manual re-execution
 Automated test suites

✅ Advantages:

 Ensures product stability


 Detects side effects of changes

❌ Disadvantages:

 Time-consuming if not automated


 High maintenance of test cases

✅ 4. User Acceptance Testing (UAT)

✅ Definition:

Testing by end-users or stakeholders to validate whether software meets business needs.

🧪 Example:

Client validates invoice generation workflow.

✅ Advantages:

 Ensures business satisfaction


 Validates real-world use cases

❌ Disadvantages:

 Non-technical users may miss edge cases


 Needs real data/environment

🧪 5. A/B Testing

✅ Definition:

A comparison test between two versions (A and B) to determine which performs better.

🧪 Example:

Testing two website layouts for click-through rate.

✅ Advantages:
 Data-driven decision-making
 Improves user engagement

❌ Disadvantages:

 Needs large user sample


 May disrupt user experience

🎯 6. User Experience (UX) Testing

✅ Definition:

Testing focused on the feel, usability, and accessibility of the application.

🧪 Example:

Testing whether users can easily complete a checkout process.

✅ Advantages:

 Improves satisfaction and adoption


 Uncovers UI/UX pain points

❌ Disadvantages:

 Subjective results
 Needs user involvement and behavior tracking

🧪 7. The Agile Testing Quadrants

Proposed by Brian Marick – divides Agile tests into 4 quadrants:

Quadrant Type Goal Performed By


Q1 Unit & Component Tests Support developers Developers
Q2 Functional & Story Tests Guide development QA, Dev, PO
Q3 Exploratory, Usability, UAT Critique product End users, QA
Q4 Performance, Security, etc. Evaluate performance and risks Specialists

✅ Advantages:

 Covers all test perspectives (tech & business)


 Aligns testing activities with Agile values

❌ Disadvantages:

 May be complex for small teams


 Needs proper alignment of testers and developers

🧪 8. Planning for Test Automation

Key Considerations:
 What to automate (e.g., regression, unit, integration tests)
 Choosing tools (Selenium, JUnit, Cypress, etc.)
 Creating maintainable test scripts
 Prioritizing test cases with high ROI

✅ Advantages:

 Speeds up regression testing


 Improves consistency and coverage

❌ Disadvantages:

 High initial setup cost


 Needs skilled automation engineers

🧪 9. Test Automation Pyramid (by Mike Cohn)

A model that suggests how much of each test type should be automated.

[ UI Tests ] ← Few
[ Service/API Tests ] ← Some
[ Unit Tests (Logic) ] ← Many

Explanation:

 Unit Tests: Fastest, cheapest, written by developers


 Service/API Tests: Validate logic across modules
 UI Tests: Few, slow, brittle – but necessary

✅ Advantages:

 Encourages layered test design


 Reduces cost of bug fixing

❌ Disadvantages:

 Misuse may lead to over-testing at wrong layer


 UI tests often fragile and flaky

📊 Comparison of Agile Testing Types

Performe Focus Advantag Challenges/Disadvanta


Testing Type Purpose
d By Area es ges
Detects
Ensure correct Thread
race
Concurrency behavior under Developer safety, Hard to replicate,
conditions
Testing simultaneous s, Testers data complex test setup
and
operations integrity
deadlocks
Code is
Internationalizati Prepare app to Developer Code Requires foresight in
easily
on (i18n) support multiple s, QA structure, design
adaptable
Performe Focus Advantag Challenges/Disadvanta
Testing Type Purpose
d By Area es ges
languages/cultur adaptabilit to new
es y languages
Enables
Adapt app to Text,
regional Requires language
Localization specific Translator formats,
reach and expertise, cultural
(l10n) languages/regio s, QA UI,
user sensitivity
ns currencies
comfort
Ensures
Check that stability,
Testers, Previously Time-consuming if not
Regression existing features early bug
Automati developed automated, test case
Testing still work after detection
on features maintenance
changes after
updates
Final
validation
Validate app Business from real May be less technical,
User Acceptance Clients,
meets business functionali users, prone to missing
Testing (UAT) End users
requirements ty increases technical bugs
satisfactio
n
Data-
User
Compare two Product driven
behavior, Requires large user
A/B Testing versions for Owners, decisions,
engageme base, can be intrusive
performance Marketing improves
nt
UX
Boosts
Assess
UX user
User Experience usability, Look, feel, Subjective, requires
Designers, satisfactio
Testing navigation, and ease of use usability feedback loops
Users n, reveals
accessibility
pain points
Visual
planning,
balanced
Categorize all Whole Implementation
Agile Testing Entire coverage
Agile test types testing complexity, needs role
Quadrants Team across dev
for planning strategy alignment
and
business
needs
Reduces
Automate tests manual
Unit,
to speed up Developer effort, High setup cost, brittle
Test Automation Integration
regression and s, QA speeds up UI scripts
, UI levels
CI/CD release
cycles
Efficient,
Guide
cost- Misuse can lead to over-
Test Automation distribution of Developer Unit > API
effective testing at fragile UI
Pyramid test types by s, QA > UI
test layer
level
strategy
🔍 Key Takeaways:

 Concurrency Testing is vital for backend-heavy, multi-threaded systems.


 i18n and l10n are crucial for apps targeting global users.
 Regression Testing is essential in every sprint, best when automated.
 UAT and UX Testing ensure the product meets real-world user needs.
 A/B Testing helps improve conversion and engagement.
 The Agile Testing Quadrants and Test Automation Pyramid are strategic planning
tools.
 Test Automation enables rapid delivery but must be carefully balanced.

📝 Pointwise Summary

1. Agile projects require multiple types of testing: concurrency, regression, UX, UAT, etc.
2. Internationalization and Localization help in global market readiness.
3. Agile Testing Quadrants categorize test focus into 4 areas for planning.
4. Test automation is essential for Agile speed and quality.
5. Automation pyramid guides how much testing to do at each layer.
6. UX, A/B, and UAT bring customer feedback into testing.
7. Planning testing types per sprint goal and risk is crucial for effective Agile delivery.

You might also like