35
AGILE TESTING Sudipta Lahiri 19/06/2022 1

Training - Agile Testing

Embed Size (px)

DESCRIPTION

This is a training that I conducted on Agile Testing. There is a lot of confusion around how Testing Professionals are impacted when they move from Traditional development models to Agile development models. This training attempted to clear some of the confusion around that.

Citation preview

Page 1: Training - Agile Testing

10/04/2023

1

AGILE TESTING

Sudipta Lahiri

Page 2: Training - Agile Testing

10/04/2023

2

Agile Testing

Agile testing is a software testing practice that follows the principles of agile software development (wikipedia)

Involves all members of a cross-functional agile team, with special expertise contributed by testers, to ensure delivering the business value desired by the customer at frequent intervals, working at a sustainable pace

Page 3: Training - Agile Testing

10/04/2023

3

The role of Agile Testing

Agile teams do need testers People with strong testing skills They might need QA in a different

form/shape! Your function is to support the business

by helping them understand the business and acceptance criteria Understand risks!

Page 4: Training - Agile Testing

10/04/2023

4 The 9 principles...

Page 5: Training - Agile Testing

10/04/2023

5

Testing moves the project forward...

Page 6: Training - Agile Testing

10/04/2023

6

Testing is not a phase

Page 7: Training - Agile Testing

10/04/2023

7

Everybody tests! Everyone Tests

On traditional projects, independent testers are responsible for all test activities.

In Agile, getting the testing done is the responsibility of the whole team. Yes, testers execute tests. Developers do too.

The need to get all testing done in an iteration may mean that the team simply cannot do as much in each sprint as they originally thought. If yes, then Agile has made visible the impedance

mismatch between test and dev that already existed. The team was not going as fast as they thought. They

appeared to be going quickly because the developers were going fast. But if the testing isn't done, then the features aren't done, and the team just does not have the velocity they think.

Goldratt's TOC says that the whole team can only go as fast as the slowest part. To go faster, the team has to widen the throughput of

the slowest part of the process. Eliminate the bottleneck; everyone tests.

Page 8: Training - Agile Testing

10/04/2023

8

Reduce feedback latency

Page 9: Training - Agile Testing

10/04/2023

9

Case Study:Test Planning for one release – in 2011

IR Activities Dev BuildPlanned Start

Planned End Team

Cal Days

Total PDs

Resources Rate items

Pre Release 17-01-11 08-02-11Defect Validation - Merges ~ all 6.2 HF1 -6.2HF6 = 150 defects QA -Aryaans 3 12 4 15/day/person

Test Case Development QA 10 60 6~1000 TCs

CHR CFT QA ,QA Aryaans 2 8 4IR1 16-02-11 17-02-11 01-03-11

Regression Testing ~Tier3 (1000 testcases)-need to skip incase of bandwidth issue QA -Aryaans 3 10.5 3.5 100 tc/day/personTest Case Development QA6.3 CHR Testing [Estimated Cases ~ 1000] QA 5 25 5 100TC/day/person 1000Merge Defect Validation all 6.2 HF1 -6.2HF5 defects QA 2 6 3 15 defects /day /person

IR2 01-03-11 02-03-11 08-03-11Regression Testing ~6000 testcases (Tier1,Tier2 and Tier3 ;these are non automated cases of the modules related to the defects tagged for 6.3 on dhruva) 5 65 13 7000Defect Validation - Defect Validation - QA Initiator Closure ~ 50 + - CHR Defects ~100 QA - Aryaans + 1 QA 1 4 4 15/day/person 200

IR3 10-03-11 11-03-11 16-03-11Defect Validation - Merges ~75 QA Aryaans 0.5 1.5 3Regression Testing(Unexecuted) ~ 100 testcases QA Aryaans 0.5 1.75 3.5 50/day/personInitiator Closure Defect Validation (CHR + Regression ) ~75 QA Aryaans 1.5 4.5 3

IR4 18-03-11 21-03-11 23-03-11Only rejected defects and automation run critical fixes QA Aryaans 1 1 1

Acceptance Scenario and Unautomated sanity Testing QA Aryaans 1 2 2Release Packaging QA 2 2 1

TOTAL 203 pds

4 QA Aryaans - 5 cal days -(2000 testcases)10 Resources - 80 tc/day/person to fill in the

bandwidth for execution of 4000 testcases for 5 cal days

So, 60mm of DCUT needed 20-25mm (10mm for testing + 10 developers for supporting all defects from testing) over a period of 6-8 weeks to make a release!This also, meant a requirements had to be frozen 5-6 months before release date.

We still had

regression leaks!

Page 10: Training - Agile Testing

10/04/2023

10

Execution Today

Team is delivering continuously...Changes to scope can be taken anytime and delivered in 3-4 weeksTesting is part of the Development processEveryone tests! Development automates UTC; Testing automates ST

Page 11: Training - Agile Testing

10/04/2023

11

Tests Represent Expectations

Page 12: Training - Agile Testing

10/04/2023

12

Fix bugs asap... keep the code clean

Page 13: Training - Agile Testing

10/04/2023

13

Reduce test documentation overhead

Lightweight Documentation: Instead of writing verbose, comprehensive test documentation, Agile testers: Use reusable checklists to suggest tests Focus on the essence of the test rather than the

incidental details Use lightweight documentation styles/tools Capturing test ideas in charters for Exploratory Testing Leverage documents for multiple purpose

Leverage One Test Artifact for Manual and Automated Tests Today, we invest in extensive, heavyweight step-by-

step manual test scripts in Word or a test management tool

Instead, capture expectations in a format supported by automated test frameworks like FIT/Fitnesse. The test could be executed manually More importantly that same test artifact becomes an

automated test when the programmers write a fixture to connect the test to the software under test.

Page 14: Training - Agile Testing

10/04/2023

14

Tested is part of “DONE”

Page 15: Training - Agile Testing

10/04/2023

15

Test Driven (not Testing Last)

Page 16: Training - Agile Testing

10/04/2023

16 4 key practices

Page 17: Training - Agile Testing

10/04/2023

17

Automated Unit/Integration tests

Page 18: Training - Agile Testing

10/04/2023

18

Test Driven Development

Page 19: Training - Agile Testing

10/04/2023

19

Automated System-Level Regression Tests

Page 20: Training - Agile Testing

10/04/2023

20

Acceptance Test Driven Development

Page 21: Training - Agile Testing

10/04/2023

21

In summary...

Page 22: Training - Agile Testing

10/04/2023

The testing pyramid...

UI(5%)Services

(15%)Unit Tests(80%)

UI

Services

Unit Tests

22

Ideal State In most environments

Manual

COST

ROI

Page 23: Training - Agile Testing

10/04/2023

23

But let us understand this in more detail

Page 24: Training - Agile Testing

10/04/2023

24

Impact of Agile Requirements Agile testing must be iterative Agile testers cannot rely on having

complete specifications Agile testers must be flexible

The techniques exist to make this possible...

Page 25: Training - Agile Testing

10/04/2023

25

Testing in the Agile world...

Page 26: Training - Agile Testing

10/04/2023

26

Let us discuss these test cycle more... Development Team Testing:

Agile teams will take a whole team approach Testers are embedded in the development team, working side by side

to build the system Focus of their testing efforts are often on confirmatory testing Developer regression testing or better Test-Driven Development (TDD).

Parallel independent testing. Continuous independent testing parallel to construction iterations

throughout the lifecycle.  Goal: find defects that got past the development team

Perform higher forms of testing such as system integration testing, security testing, usability testing

Need significant testing skills, complex tools, and often complex pre-production testing environments

10-15:1 ratio between people on the 2 teams In larger organizations, one team can support several development

teams

Release Testing Additional testing at the end of the lifecycle

Page 27: Training - Agile Testing

10/04/2023

27

TestAutomation

Page 28: Training - Agile Testing

10/04/2023

28

Where can you apply automation?

Page 29: Training - Agile Testing

10/04/2023

29

TDD

Test-First-Development

Developer TDD Technical doc - JIT Seen more with pair

programming “Test Immediately”

after approach What happens when

we extend this to the next level...

Page 30: Training - Agile Testing

10/04/2023

30

ATDD

TDD at the requirement level Acceptance TC is a

expectation of the customer

Write a single acceptance test; make code changes to pass it

Requirement spec (JIT) If you do ATDD, you don’t

need to TDD necessarily Also, called BDD or user-

story driven development

Page 31: Training - Agile Testing

10/04/2023

31

Some industry trends...

Page 32: Training - Agile Testing

10/04/2023

32

Some industry trends...

Page 33: Training - Agile Testing

10/04/2023

33

Implications for Test Practioners Become generalizing specialists Be flexible.  Be prepared to work closely with

developers. Once again, be flexible.  Focus on value-added activities and again... Be flexible

Page 34: Training - Agile Testing

10/04/2023

34

Finally... Why Agile Testing works?