Ebook

Loading

Testing software -Agile way

Author
phuongtest
Date
2014-02-20 20:45
Views
45938129
testing agile

Foreword by Mike Cohn xxiii
Foreword by Brian Marick xxv
Preface xxvii
Acknowledgments xxxvii
About the Authors xli
Part I Introduction 1
Chapter 1 What Is Agile Testing, Anyway? 3
Agile Values 3
What Do We Mean by “Agile Testing”? 4
A Little Context for Roles and Activities on an Agile Team 7
Customer Team 7
Developer Team 7
Interaction between Customer and Developer Teams 8
How Is Agile Testing Different? 9
Working on Traditional Teams 9
Working on Agile Teams 10
Traditional vs. Agile Testing 12
Whole-Team Approach 15
Summary 17
Chapter 2 Ten Principles for Agile Testers 19
What’s an Agile Tester? 19
The Agile Testing Mind-Set 20
Applying Agile Principles and Values 21
Provide Continuous Feedback 22
Deliver Value to the Customer 22
Enable Face-to-Face Communication 23
Have Courage 25
Keep It Simple 26
Practice Continuous Improvement 27
Respond to Change 28
Self-Organize 29
Focus on People 30
Enjoy 31
Adding Value 31
Summary 33
Part II Organizational Challenges 35
Chapter 3 Cultural Challenges 37
Organizational Culture 37
Quality Philosophy 38
Sustainable Pace 40
Customer Relationships 41
Organization Size 42
Empower Your Team 44
Barriers to Successful Agile Adoption by Test/QA Teams 44
Loss of Identity 44
Additional Roles 45
Lack of Training 45
Not Understanding Agile Concepts 45
Past Experience/Attitude 48
Cultural Differences among Roles 48
Introducing Change 49
Talk about Fears 49
Give Team Ownership 50
Celebrate Success 50
Management Expectations 52
Cultural Changes for Managers 52
Speaking the Manager’s Language 55
Change Doesn’t Come Easy 56
Be Patient 56
Let Them Feel Pain 56
Build Your Credibility 57
Work On Your Own Professional Development 57
Beware the Quality Police Mentality 57
Vote with Your Feet 57
Summary 58
Chapter 4 Team Logistics 59
Team Structure 59
Independent QA Teams 60
Integration of Testers into an Agile Project 61
Agile Project Teams 64
Physical Logistics 65
Resources 66
Tester-Developer Ratio 66
Hiring an Agile Tester 67
Building a Team 69
Self-Organizing Team 69
Involving Other Teams 69
Every Team Member Has Equal Value 70
Performance and Rewards 70
What Can You Do? 71
Summary 71
Chapter 5 Transitioning Typical Processes 73
Seeking Lightweight Processes 73
Metrics 74
Lean Measurements 74
Why We Need Metrics 75
What Not to Do with Metrics 77
Communicating Metrics 77
Metrics ROI 78
Defect Tracking 79
Why Should We Use a Defect Tracking System (DTS)? 80
Why Shouldn’t We Use a DTS? 82
Defect Tracking Tools 83
Keep Your Focus 85
Test Planning 86
Test Strategy vs. Test Planning 86
Traceability 88
Existing Processes and Models 88
Audits 89
Frameworks, Models, and Standards 90
Summary 93
Part III The Agile Testing Quadrants 95
Chapter 6 The Purpose of Testing 97
The Agile Testing Quadrants 97
Tests that Support the Team 98
Tests that Critique the Product 101
Knowing When a Story Is Done 104
Shared Responsibility 105
Managing Technical Debt 106
Testing in Context 106
Summary 108
Chapter 7 Technology-Facing Tests that Support the Team 109
An Agile Testing Foundation 109
The Purpose of Quadrant 1 Tests 110
Supporting Infrastructure 111
Why Write and Execute These Tests? 112
Lets Us Go Faster and Do More 112
Making Testers’ Jobs Easier 114
Designing with Testing in Mind 115
Timely Feedback 118
Where Do Technology-Facing Tests Stop? 119
What If the Team Doesn’t Do These Tests? 121
What Can Testers Do? 121
What Can Managers Do? 122
It’s a Team Problem 123
Toolkit 123
Source Code Control 123
IDEs 124
Build Tools 126
Build Automation Tools 126
Unit Test Tools 126
Summary 127
Chapter 8 Business-Facing Tests that Support the Team 129
Driving Development with Business-Facing Tests 129
The Requirements Quandary 132
Common Language 134
Eliciting Requirements 135
Advance Clarity 140
Conditions of Satisfaction 142
Ripple Effects 143
Thin Slices, Small Chunks 144
How Do We Know We’re Done? 146
Tests Mitigate Risk 147
Testability and Automation 149
Summary 150
Chapter 9 Toolkit for Business-Facing Tests that
Support the Team 153
Business-Facing Test Tool Strategy 153
Tools to Elicit Examples and Requirements 155
Checklists 156
Mind Maps 156
Spreadsheets 159
Mock-Ups 160
Flow Diagrams 160
Software-Based Tools 163
Tools for Automating Tests Based on Examples 164
Tools to Test below the GUI and API Level 165
Tools for Testing through the GUI 170
Strategies for Writing Tests 177
Build Tests Incrementally 178
Keep the Tests Passing 179
Use Appropriate Test Design Patterns 179
Keyword and Data-Driven Tests 182
Testability 183
Code Design and Test Design 184
Automated vs. Manual Quadrant 2 Tests 185
Test Management 186
Summary 186
Chapter 10 Business-Facing Tests that Critique the Product 189
Introduction to Quadrant 3 190
Demonstrations 191
Scenario Testing 192
Exploratory Testing 195
Session-Based Testing 200
Automation and Exploratory Testing 201
An Exploratory Tester 201
Usability Testing 202
User Needs and Persona Testing 202
Navigation 204
Check Out the Competition 204
Behind the GUI 204
API Testing 205
Web Services 207
Testing Documents and Documentation 207
User Documentation 207
Reports 208
Tools to Assist with Exploratory Testing 210
Test Setup 211
Test Data Generation 212
Monitoring Tools 212
Simulators 213
Emulators 213
Summary 214
Chapter 11 Critiquing the Product Using Technology-
Facing Tests 217
Introduction to Quadrant 4 217
Who Does It? 220
When Do You Do It? 222
“ility” Testing 223
Security 223
Maintainability 227
Interoperability 228
Compatibility 229
Reliability 230
Installability 231
“ility” Summary 232
Performance, Load, Stress, and Scalability Testing 233
Scalability 233
Performance and Load Testing 234
Performance and Load-Testing Tools 234
Baseline 235
Test Environments 237
Memory Management 237
Summary 238
Chapter 12 Summary of Testing Quadrants 241
Review of the Testing Quadrants 241
A System Test Example 242
The Application 242
The Team and the Process 243
Tests Driving Development 244
Unit Tests 244
Acceptance Tests 245
Automation 245
The Automated Functional Test Structure 245
Web Services 247
Embedded Testing 248
Critiquing the Product with Business-Facing Tests 248
Exploratory Testing 248
Testing Data Feeds 249
The End-to-End Tests 249
User Acceptance Testing 250
Reliability 250
Documentation 251
Documenting the Test Code 251
Reporting the Test Results 251
Using the Agile Testing Quadrants 252
Summary 253
Part IV Automation 255
Chapter 13 Why We Want to Automate Tests and What
Holds Us Back 257
Why Automate? 258
Manual Testing Takes Too Long 258
Manual Processes Are Error Prone 259
Automation Frees People to Do Their Best Work 259
Automated Regression Tests Provide a Safety Net 261
Automated Tests Give Feedback, Early and Often 262
Tests and Examples that Drive Coding Can Do More 262
Tests Are Great Documentation 263
ROI and Payback 264
Barriers to Automation—Things that Get in the Way 264
Bret’s List 264
Our List 265
Programmers’ Attitude—“Why Automate?” 265
The “Hump of Pain” (The Learning Curve) 266
Initial Investment 267
Code that’s Always in Flux 269
Legacy Code 269
Fear 269
Old Habits 270
Can We Overcome These Barriers? 270
Summary 271
Chapter 14 An Agile Test Automation Strategy 273
An Agile Approach to Test Automation 274
Automation Test Categories 274
Test Automation Pyramid 276
What Can We Automate? 279
Continuous Integration, Builds, and Deploys 280
Unit and Component Tests 282
API or Web Services Testing 282
Testing behind the GUI 282
Testing the GUI 282
Load Tests 283
Comparisons 283
Repetitive Tasks 284
Data Creation or Setup 284
What Shouldn’t We Automate? 285
Usability Testing 285
Exploratory Testing 286
Tests that Will Never Fail 286
One-Off Tests 286
What Might Be Hard to Automate? 287
Developing an Automation Strategy—Where Do We Start? 288
Where Does It Hurt the Most? 289
Multi-Layered Approach 290
Think about Test Design and Maintenance 292
Choosing the Right Tools 294
Applying Agile Principles to Test Automation 298
Keep It Simple 298
Iterative Feedback 299
Whole-Team Approach 300
Taking the Time to Do It Right 301
Learn by Doing 303
Apply Agile Coding Practices to Tests 303
Supplying Data for Tests 304
Data Generation Tools 304
Avoid Database Access 306
When Database Access Is Unavoidable or Even Desirable 307
Understand Your Needs 310
Evaluating Automation Tools 311
Identifying Requirements for Your Automation Tool 311
One Tool at a Time 312
Choosing Tools 313
Agile-Friendly Tools 316
Implementing Automation 316
Managing Automated Tests 319
Organizing Tests 319
Organizing Test Results 322
Go Get Started 324
Summary 324
Part V An Iteration in the Life of a Tester 327
Chapter 15 Tester Activities in Release or Theme Planning 329
The Purpose of Release Planning 330
Sizing 332
How to Size Stories 332
The Tester’s Role in Sizing Stories 333
An Example of Sizing Stories 334
Prioritizing 338
Why We Prioritize Stories 338
Testing Considerations While Prioritizing 339
What’s in Scope? 340
Deadlines and Timelines 340
Focus on Value 341
System-Wide Impact 342
Third-Party Involvement 342
Test Planning 345
Where to Start 345
Why Write a Test Plan? 345
Types of Testing 346
Infrastructure 346
Test Environments 347
Test Data 348
Test Results 349
Test Plan Alternatives 350
Lightweight Test Plans 350
Using a Test Matrix 350
Test Spreadsheet 353
A Whiteboard 353
Automated Test List 354
Preparing for Visibility 354
Tracking Test Tasks and Status 354
Communicating Test Results 357
Release Metrics 358
Summary 366
Chapter 16 Hit the Ground Running 369
Be Proactive 369
Benefits 370
Do You Really Need This? 372
Potential Downsides to Advance Preparation 373
Advance Clarity 373
Customers Speak with One Voice 373
Story Size 375
Geographically Dispersed Teams 376
Examples 378
Test Strategies 380
Prioritize Defects 381
Resources 381
Summary 382
Chapter 17 Iteration Kickoff 383
Iteration Planning 383
Learning the Details 384
Considering All Viewpoints
Writing Task Cards 389
Deciding on Workload 393
Testable Stories 393
Collaborate with Customers 396
High-Level Tests and Examples 397
Reviewing with Customers 400
Reviewing with Programmers 400
Test Cases as Documentation 402
Summary 403
Chapter 18 Coding and Testing 405
Driving Development 406
Start Simple 406
Add Complexity 407
Assess Risk 407
Coding and Testing Progress Together 409
Identify Variations 410
Power of Three 411
Focus on One Story 411
Tests that Critique the Product 412
Collaborate with Programmers 413
Pair Testing 413
“Show Me” 413
Talk to Customers 414
Show Customers 414
Understand the Business 415
Completing Testing Tasks 415
Dealing with Bugs 416
Is It a Defect or Is It a Feature? 417
Technical Debt 418
Zero Bug Tolerance 418
It’s All about Choices 419
Decide Which Bugs to Log 420
Choose When to Fix Your Bugs 421
Choose the Media You Should Use to Log a Bug 423
Alternatives and Suggestions for Dealing with Bugs 424
Start Simple 428
Facilitate Communication 429
Testers Facilitate Communication 429
Distributed Teams
Regression Tests 432
Keep the Build “Green” 433
Keep the Build Quick 433
Building a Regression Suite 434
Checking the “Big Picture” 434
Resources 434
Iteration Metrics 435
Measuring Progress 435
Defect Metrics 437
Summary 440
Chapter 19 Wrap Up the Iteration 443
Iteration Demo 443
Retrospectives 444
Start, Stop, and Continue 445
Ideas for Improvements 447
Celebrate Successes 449
Summary 451
Chapter 20 Successful Delivery 453
What Makes a Product? 453
Planning Enough Time for Testing 455
The End Game 456
Testing the Release Candidate 458
Test on a Staging Environment 458
Final Nonfunctional Testing 458
Integration with External Applications 459
Data Conversion and Database Updates 459
Installation Testing 461
Communication 462
What If It’s Not Ready? 463
Customer Testing 464
UAT 464
Alpha/Beta Testing 466
Post-Development Testing Cycles 467
Deliverables 468
Releasing the Product 470
Release Acceptance Criteria 470
Release Management 474
Packaging 474
Customer Expectations 475
Production Support 475
Understand Impact to Business 475
Summary 476
Part VI Summary 479
Chapter 21 Key Success Factors 481
Success Factor 1: Use the Whole-Team Approach 482
Success Factor 2: Adopt an Agile Testing Mind-Set 482
Success Factor 3: Automate Regression Testing 484
Success Factor 4: Provide and Obtain Feedback 484
Success Factor 5: Build a Foundation of Core Practices 486
Continuous Integration 486
Test Environments 487
Manage Technical Debt 487
Working Incrementally 488
Coding and Testing Are Part of One Process 488
Synergy between Practices 489
Success Factor 6: Collaborate with Customers 489
Success Factor 7: Look at the Big Picture 490
Summary 491
Glossary 493
Bibliography 501
Index
Total Reply 8

  • 2013-04-22 03:19

    thanks for sharing!


  • 2013-04-29 11:25

    thanks for sharing.


  • 2013-05-07 01:38

    Thanks for sharing


  • 2013-07-21 12:04

    Thank you so much


  • 2013-08-11 13:44

    Thanks for sharing. This is what I needed.


  • 2013-08-31 20:04

    thanks for the great book


  • 2013-09-21 17:02

    excellent book


  • 2014-02-08 22:23

    This book is a guide how to apply agile properly.


Total 1,424
Number Title Author Date Votes Views
1424
Byte of Python
tanthanh | 2020.05.28 | Votes 0 | Views 45535292
tanthanh 2020.05.28 0 45535292
1423
Surviving the Top Ten Challenges of Software Testing: A People-Oriented Approach (2)
^Software^ | 2019.07.22 | Votes 0 | Views 45966221
^Software^ 2019.07.22 0 45966221
1422
Jmeter Cookbook (1)
VTB | 2019.06.27 | Votes 0 | Views 46398072
VTB 2019.06.27 0 46398072
1421
Java Testing : Maven - Reference (315 Pages) (1)
IT-Tester | 2019.06.26 | Votes 0 | Views 46267823
IT-Tester 2019.06.26 0 46267823
1420
Java Testing : Maven Example (154 Pages)
IT-Tester | 2019.06.26 | Votes 0 | Views 46268506
IT-Tester 2019.06.26 0 46268506
1419
AGILE TESTING - EBOOK (2)
HenryChuks | 2019.05.31 | Votes 0 | Views 45513381
HenryChuks 2019.05.31 0 45513381
1418
“Software Testing Career Package – A Software Tester’s Journey from Getting a Job to Becoming a Test Leader!”
aiitistqb | 2018.10.16 | Votes 0 | Views 45428101
aiitistqb 2018.10.16 0 45428101
1417
Practical Software Testing – New FREE eBook [Download] (2)
aiitistqb | 2018.10.16 | Votes 0 | Views 45459262
aiitistqb 2018.10.16 0 45459262
1416
The Pathologies of Failed Test Automation Projects
aiitistqb | 2018.10.16 | Votes 0 | Views 45318254
aiitistqb 2018.10.16 0 45318254
1415
Selenium WebDriver Practical Guide (4)
meo meo con con | 2018.06.16 | Votes 0 | Views 46094779
meo meo con con 2018.06.16 0 46094779
1414
Python for Informatics
melassiri | 2018.06.04 | Votes 0 | Views 45886570
melassiri 2018.06.04 0 45886570
1413
Hacking - The Art of Exploitation (7)
ravisk | 2018.03.25 | Votes 0 | Views 45487516
ravisk 2018.03.25 0 45487516
1412
Instant Penetration Testing Setting Up a Test Lab How-to (1)
ravisk | 2018.03.24 | Votes 0 | Views 44125169
ravisk 2018.03.24 0 44125169
1411
Practical-Guide-to-Software-System-Testing (3)
ravisk | 2018.03.24 | Votes 1 | Views 46954881
ravisk 2018.03.24 1 46954881
1410
EFFORT estimation software (1)
ravisk | 2018.03.24 | Votes 0 | Views 45784053
ravisk 2018.03.24 0 45784053
1409
Lee Copeland. A Practitioner's Guide to Software Test Design (19)
Unbroken | 2017.12.15 | Votes 0 | Views 45365839
Unbroken 2017.12.15 0 45365839
1408
http response codes (3)
SV369 | 2017.12.14 | Votes 0 | Views 46303151
SV369 2017.12.14 0 46303151
1407
«Hacking Mobile Exposed, Security secrets and solutions» (5)
Unbroken | 2017.12.08 | Votes 0 | Views 46089633
Unbroken 2017.12.08 0 46089633
1406
James A. Whittaker «Exploratory software testing» (8)
Unbroken | 2017.12.08 | Votes 1 | Views 45828590
Unbroken 2017.12.08 1 45828590
1405
FOUNDATIONS OF SOFTWARE TESTING (6)
marklouis | 2017.12.05 | Votes 0 | Views 45734753
marklouis 2017.12.05 0 45734753
1404
Python for informatics (2)
TesterQA | 2017.12.01 | Votes 0 | Views 45579877
TesterQA 2017.12.01 0 45579877
1403
Selenium Testing Tool Cookbook (11)
liliam001 | 2017.11.14 | Votes 0 | Views 44990479
liliam001 2017.11.14 0 44990479
1402
What is SQL Injection? (4)
ArifBaba | 2017.10.28 | Votes 0 | Views 45537468
ArifBaba 2017.10.28 0 45537468
1401
Oracle Middleware Tuning (4)
gpratikg | 2017.10.08 | Votes 0 | Views 45461053
gpratikg 2017.10.08 0 45461053
1400
Microsoft SQL Server 2012 (3)
yoshiharra | 2017.10.08 | Votes 0 | Views 45951136
yoshiharra 2017.10.08 0 45951136
1399
visual studio c sharp
vikasrao | 2017.09.24 | Votes 0 | Views 45570715
vikasrao 2017.09.24 0 45570715
1398
How to Break Web Software: Functional and Security Testing of Web Applications and Web Services (7)
vikasrao | 2017.09.24 | Votes 0 | Views 45368269
vikasrao 2017.09.24 0 45368269
1397
The Art of Unit Testing with Examples in .NET
vikasrao | 2017.09.24 | Votes 0 | Views 45474238
vikasrao 2017.09.24 0 45474238
1396
Scrum (2)
dhoanglong91 | 2017.09.23 | Votes 1 | Views 44875386
dhoanglong91 2017.09.23 1 44875386
1395
Python for Unix and Linux System Administration
Crismachado | 2017.09.22 | Votes 0 | Views 45274963
Crismachado 2017.09.22 0 45274963
1394
Ruby Best Practices (3)
Crismachado | 2017.09.22 | Votes 0 | Views 45096405
Crismachado 2017.09.22 0 45096405
1393
Python in Practice (2)
ManhAnh | 2017.09.05 | Votes 0 | Views 45629241
ManhAnh 2017.09.05 0 45629241
1392
Practical Object-Oriented Design in Ruby (2)
ManhAnh | 2017.09.05 | Votes 0 | Views 44350620
ManhAnh 2017.09.05 0 44350620
1391
Practical Cassandra (2)
ManhAnh | 2017.09.05 | Votes 0 | Views 46045541
ManhAnh 2017.09.05 0 46045541
1390
Development with the Force.com Platform, 3rd Edition (2)
ManhAnh | 2017.09.05 | Votes 0 | Views 46590575
ManhAnh 2017.09.05 0 46590575
1389
Apache Cordova 3 Programming (2)
ManhAnh | 2017.09.05 | Votes 0 | Views 45625962
ManhAnh 2017.09.05 0 45625962
1388
Software Testing - Ron Patton (4)
bugdetective | 2017.09.04 | Votes 0 | Views 46675236
bugdetective 2017.09.04 0 46675236
1387
The Art of Software Testing, 2rd Edition (1)
bugdetective | 2017.09.04 | Votes 0 | Views 45582351
bugdetective 2017.09.04 0 45582351
1386
Explore It!
bugdetective | 2017.09.04 | Votes 1 | Views 45088525
bugdetective 2017.09.04 1 45088525
1385
NoSQl (1)
getmedude | 2017.08.27 | Votes 0 | Views 46444391
getmedude 2017.08.27 0 46444391
1384
Art of testing (10)
dktzm89 | 2017.08.16 | Votes 0 | Views 45789011
dktzm89 2017.08.16 0 45789011
1383
Perl Book (1)
Ravish24 | 2017.08.15 | Votes 0 | Views 45379533
Ravish24 2017.08.15 0 45379533
1382
Automation Testing (5)
Ravish24 | 2017.08.15 | Votes 1 | Views 47341069
Ravish24 2017.08.15 1 47341069
1381
Prince2 model chart
AllGreen | 2017.08.09 | Votes 0 | Views 45109568
AllGreen 2017.08.09 0 45109568
1380
Prince2 for Dummies
AllGreen | 2017.08.09 | Votes 0 | Views 46363667
AllGreen 2017.08.09 0 46363667
1379
Unix and Linux testing (2)
pavan765 | 2017.08.01 | Votes 0 | Views 46520167
pavan765 2017.08.01 0 46520167
1378
Practical Software Testing (6)
Administrator | 2017.07.24 | Votes 0 | Views 45179652
Administrator 2017.07.24 0 45179652
1377
Selenium Notes (1)
masterofall | 2017.07.24 | Votes 0 | Views 46006363
masterofall 2017.07.24 0 46006363
1376
Practical Software Testing
masterofall | 2017.07.24 | Votes 0 | Views 46553369
masterofall 2017.07.24 0 46553369
1375
Lead Generation for Dummies (2)
uday bhaskar | 2017.07.20 | Votes 0 | Views 45835345
uday bhaskar 2017.07.20 0 45835345