agile testing practicesproduct owner: focused on roi and owns priorities on the backlog pigs and...

107
Agile Testing Practices Megan S. Sumrell Director of Transformation Services Valtech

Upload: others

Post on 21-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Agile Testing Practices

Megan S. SumrellDirector of Transformation ServicesValtech

Page 2: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Introductions

About us…Now about you…

Your nameYour companyYour roleYour experience with Agile or Scrum?

Personal Expectations

Page 3: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Agenda

IntroductionsAgile OverviewTraditional QA TeamsTraditional Automation ApproachesRole of an Agile TesterTesting Activities

Refine Acceptance CriteriaTDDManual / Exploratory TestingDefect ManagementDocumentationPerformance TestingRegression Testing

Page 4: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Agenda Continued

Test Automation on Agile TeamsTesting on a Greenfield ProjectTesting on a Legacy ApplicationEstimation SessionsSprint Planning MeetingsRetrospectivesInfrastructureSkills and TitlesClosing

Page 5: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Agile Overview

Page 6: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Agile Manifesto

"We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more."

Page 7: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Scrum

Page 8: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Terms and Definitions

User Story: high level requirementsProduct Backlog: list of prioritized user storiesSprint : one cycle or iteration (usually 2 or 4 weeks in length)Daily Stand-up: 15 minute meeting every day to review statusScrum Master: owns the Scrum process and removes impedimentsProduct Owner: focused on ROI and owns priorities on the backlogPigs and Chickens

Page 9: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Traditional QA Teams

Page 10: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

How are you organized?When do you get involved in the project?What does your “test phase” look like?What testing challenges do you have?

Page 11: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Traditional Test Automation

Page 12: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Automation Challenges

Cost of toolsHard to learnCan’t find timeMaintenanceUI dependentOnly a few people can run them

Page 13: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Traditional Test Pyramid

UNIT TESTS

Business Rules

GUI TESTS

Page 14: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Will these strategies work in an Agile environment?

Page 15: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Food for Thought…….

“Tests play several pivotal roles during the software development process. First, tests unambiguously communicate how things are supposed to work. Second, they provide feedback on whether the system actually works the way it is supposed to work. Third, tests provide the scaffolding that allows developers to make changes throughout the development process…”

Lean Software Development – Mary and Tom Poppendieck

Page 16: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Role of An Agile Tester

Page 17: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Role of “QA” on an Agile Team

Testing starts with the specification, not verificationFocus on acceptance criteriaFocus on automation, not manual testingUser Stories are not done until the automated acceptance tests are passingForces the team to think about testability at the beginning

Page 18: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Testing Activities

Page 19: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Testing Activities

Refine acceptance criteriaTest Driven DevelopmentManual / Exploratory TestingDefect ManagementDocumentationPerformance TestingRegression Testing

Page 20: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Refine Acceptance Criteria

Page 21: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Requirements vs. Tests

Page 22: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Refine Acceptance Tests

• Who?– Analysts, Testers,

Developers, PO• How?

– Collaborate!– Build executable

requirements if possible• Why?

– Avoids misinterpretation of the requirements

– Full transparency into the test cases

– Sets expectations

Page 23: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

ATDD: Acceptance Test Driven Development

Development is driven by examplesAcceptance testing happens before development startsBusiness facing testsRepresent workflows and business logic rules

Page 24: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Some Questions to Ask…….

What else do the developers need to know about this user story?What can go wrong during the story?What am I assuming?Are there circumstances when this story may behave differently?

Page 25: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Workshop: Let’s write some acceptance tests….

User Story: As a mathematician, I want to be able to use the calculator to divide numbers and get the answer so that I can solve problems.

Acceptance Tests:Verify that the division is correctVerify that the answer is in ##.## format

Page 26: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Workshop - continued

User Story: As a user, I want to search for a name so that I can find that person’s phone number.Acceptance Tests:

Search by first or last name‘Like’ match searchResults are in first name, last name, phone number order

Page 27: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Test Driven Development

Page 28: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

TDD is not unit testingTDD is not writing tests where it is easy to do itTDD is not testing after you have codedTDD is not manually testing your code

TDD IS ABOUT TESTING FIRST

TDD: Test Driven Development

Page 29: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

TDD is not magicTo be effective, tests must be:• Accurate• Appropriate• Sufficient

TDD: Test Driven Development

Page 30: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

TDD is a discipline that developers must adoptTesters can help educate developers on how to write good tests

Developers tend to test what worksTesters tend to look for what breaks

TDD: Test Driven Development

Page 31: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS
Page 32: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

testDivideByZero extends TestCase {Calculator calc = new Calculator();try {

calc.divide(6, 0);fail(“No exception was thrown”);

} catch(MathException e) {assertEquals(“Cannot divide by zero”, e.message());

}}

Write the Test

Page 33: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Before:

public int divide(int divisor, intdividend) {

return divisor / dividend;}

Write the Code

Page 34: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Write the Code

After:

public int divide(int dividend, int divsor) {if (divisor == 0)

throw new MathException(“Cannot divide by zero”);

return divisor / dividend;}

Page 35: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Refactor

Remove duplicationImprove implementationSimplify

Page 36: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS
Page 37: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Exploratory Testing

Page 38: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Exploratory Testing

• Who?– Testers

• How?– Paired testing

• Why?– Ensure all negative or

unusual paths are covered

– Paired testing adds value

Page 39: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Session Based Exploratory Testing

James and Jonathan Bach – 2000Consists of the following:

CharterSessionSession ReportDebrief

“Exploratory testing is simultaneous learning, test design, and test execution.”

-James Bach

Page 40: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Workshop - Create Charters

Think about buying something on-line. What charters would you create for exploratory testing on an on-line checkout system

Page 41: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Defect Management

Page 42: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Defect Management

• Who?– Testers (sometimes

Analysts)• How?

– Verify that unit tests were written

– Add automated tests for the future

• Why?– Ensure that the defects

were fixed– Automate tests to ensure it

doesn’t break again

Page 43: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Documentation

Page 44: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Workshop: Documentation

What do you document on your agile teams?What are your test artifacts?

Page 45: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Eliminate Waste

Ensure all artifacts are valuableDon’t create things people won’t useDon’t Repeat Yourself (DRY)

If a test can take the replace of a requirements document, don’t write both

Don’t do more than is necessaryIf a wireframe sketch is sufficient to describe a GUI, don’t spend the time and money to create a photo-realistic mock-up

Page 46: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Performance Testing

Page 47: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Performance Testing

• Who?– Performance Testers

• How?– Map test cases to

performance requirements

• Why?– Uncover performance

issues early!!!

Page 48: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Regression Testing

Page 49: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

How can you regression test every iteration?

Automation (lots and lots of it!)Should happen every dayImmediate feedback when code changes are made

Page 50: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Test Automation on Agile Teams

Page 51: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Agile Test Pyramid

GUI TESTS

Business Rules

UNIT TESTS

Page 52: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Automate Acceptance Tests

• Who?– Testers and Developers

• How?– Collaborate!– Work to automate defined

acceptance tests• Why?

– Allows everyone to track progress

– Ensures requirements are met

– Allows for fast, easy regression testing

Page 53: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

More Reasons Why We Tackle Automation this Way….

Test FirstStart automation without the UIInvolves entire team in testingInvolves customer in testingVisibility of resultsAvoid gold platingLeads to good architecture and designTests are easy to readCollapse the V modelTesting code is minimalAnd more…….

Page 54: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Executable Requirements

Think back to our requirement vs. test conversation…..Let’s see this in action

Page 55: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

FitNesse

Page 56: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Unit vs. GUI vs. FitNesse

Code oriented

GUI TESTING

FitNesse

UNIT TESTING

GUI specific

Customer Oriented

Page 57: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

FIT TABLE FIXTURE SYSTEM

Page 58: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

FitNesse has several fixture types…

Column - calculationsRow/Array – data setsDo/Action - workflowActionDatabaseAnd more….

Page 59: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Division

Numerator Denominator Quotient?

10 2 5

100 2.5 40

First Row Identifies the Test/Requirement. This is the name of the fixture (the class)

Anatomy of a Column Fixture

Page 60: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Division

Numerator Denominator Quotient?

10 2 5

100 2.5 40

Second Row is the inputs and outputs. Expected outputs have the ? Or () after them, inputs do not

Page 61: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Division

Numerator Denominator Quotient?

10 2 5

100 2.5 40

Each additional row is an instance of the test that explains the requirement we are testing

Page 62: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Workshop: Write a Column Fixture

User Story 1: As a mathematician, I want to be able to use the calculator to divide numbers and get the answer so that I can solve problems.Acceptance Tests:

Verify that the division is correctVerify that the answer is in ##.## format

Page 63: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Anatomy of a Row Fixture

ListofUsers Active

FirstName LastName UserName

John Smith Jsmith

Beth Jones Bjones

Suzy Plus splus

First Row Identifies the Test/Requirement. This is the name of the fixture (and the name of the class)

Other cells on the first row represent inputs passed into the fixture

Page 64: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

ListofUsers Active

FirstName LastName UserName

John Smith Jsmith

Beth Jones Bjones

Suzy Plus splus

The second row lists the data elements in the expected output

Page 65: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

ListofUsers Active

FirstName LastName UserName

John Smith Jsmith

Beth Jones Bjones

Suzy Plus splus

The 3rd through nth rows list the data you expect the test to return

Page 66: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Workshop: Write a Row Fixture

User Story 3: As a user, I want to search for a name so that I can find their phone number.Acceptance Tests:

Search by first or last name“Like” match searchResults are in first name, last name, phone number

Page 67: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Do Fixture

Do fixtures should read like a storyUsed to test workflowsOften tie to epicsEach step in the do fixture likely has detailed tests elsewhereLet’s look at an example….

Page 68: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Example of a Do Fixture

As a roulette player, I want to place multiple bets and have my winnings automatically calculated so that I can become a millionaire.To do this, a series of steps need to happen (that could each be a separate story)

PLACE BETS

SPIN WHEEL

CALCUALTE WINNINGS

Page 69: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS
Page 70: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

FIXTURE NAME: defines the class

Page 71: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

SIMPLE ACTIONS: method names that execute them

Page 72: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

ROW FIXTURES: method returns a row fixture

Page 73: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Some Additional Considerations

Your automation should control your dataYour automation should be quickYour automation should be machine agnosticYour automation should let you sleep at nightYour test should run in any order

Page 74: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Some Additional Considerations

Who will write the tests?Fitnesse is designed to permit Customers to write testsHowever, the Customer will probably need help from QA• Fitnesse Wiki syntax• Corner cases and unhappy paths

Page 75: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Some Additional Considerations

Impact on DevelopmentThe fixtures used in Fitnesse tests need internal implementations written in the same language as the codeThese internal fixtures are the “glue” that binds the test tables to the application’s implementation that is being testedThis code must be written and maintained by developers

Page 76: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Testing on a Greenfield Application

Page 77: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Define Acceptance Tests

Exploratory

Automate Acceptance Tests

TDD (Test Driven Development)

Manual Testing

Verify Bug Fixes

Full Regression

Performance

SPRINT START SPRINT END

Page 78: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Testing on a Legacy Application

Page 79: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Legacy Challenges

What challenges exist with Legacy Applications that make agile testing challenging?

Page 80: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Strategy 1: Not recommended

Define Acceptance Tests ExploratoryAutomate Acceptance Tests

TDD (Test Driven Development)

Manual Testing

Verify Bug Fixes

Full Regression

Performance

SPRINT START SPRINT END

Page 81: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Strategy 2: Hardening Sprint

Exploratory

SPRINT ONE SPRINT N(Hardening Sprint)

SPRINT TWO

Full RegressionAutomate Acceptance Tests

TDD

Manual Testing

Verify Bug Fixes

Exploratory

Automate Acceptance Tests

TDD

Manual Testing

Verify Bug Fixes

Exploratory

Performance

Page 82: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Estimation Sessions

Page 83: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Estimation Techniques

• Planning Poker• Rock, Paper, Scissors• Others?

Page 84: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Detail an Accuracy

• Some believe that better estimates require more detailed analysis

– More detailed analysis takes additional time and resources

• Others believe that the initial “gut” reaction is sufficient for Agile planning purposes

– Time required for additional analysis does not result in sufficiently better estimates to justify the added costs

Page 85: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Detail and Accuracy

• Estimates can be like statistics– Out of context, an individual estimate may

have little meaning– In the overall iteration, though, some

estimates will be low and others will be high• In the end, they cancel each other out

Page 86: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

What are things testers often think about when estimating?

Page 87: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Sprint Planning Meetings

Page 88: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

What are their Purpose?

Define the sprint backlogDefine “DONE”Commit to the sprint

Page 89: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Workshop: Let’s Create Tasks

User Story 1: As a mathematician, I want to be able to use the calculator to divide numbers and get the answer so that I can solve problems.

Page 90: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Task Breakout

• Who creates tasks?

• Who estimates tasks?

• Who owns tasks?

Page 91: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Definition of Done

Page 92: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Retrospectives

Page 93: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Retrospectives

Opportunity to review what worked and what didn’tMust be conducted in a non-threatening environmentTo be effective

All participants must feel comfortable and willing to shareShould be held at each iteration boundaryShould result in tangible action items that are put into place immediately

Page 94: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Workshop: Run a Retrospective

Page 95: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Infrastructure

Page 96: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Continuous Integration

“Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily -leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.”– Martin Fowler

Page 97: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Check-in Code

Run Tests

Build Entire Project

PublishResults

Page 98: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

How Does CI Work?

Single Source Code RepositoryBuild is AutomatedBuild is self-testingEveryone commits every dayThe build is fastVisible resultsAutomated deployment

Page 99: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Test Environments?

Do you have an environment you have complete control over?Are builds pushed or pulled to it?How often do you get builds?Does it look like your production environment?Do you “own” it?

Page 100: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Test Data

• Where do you get your test data?

• How well do you know your test data?

• Do you control it?• Can you re-set it?• Can you run the same

script over and over again?

Page 101: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Data Needs

Different testing activities require different data – one database will not suit all your needs.

Manual / ExploratoryAutomationPerformanceAny others?

Page 102: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Skills and Titles

Page 103: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Titles….

QA Analyst

QA Engineer

Software

Tester

QA Architect

Developer

Senior DeveloperTest Engineer

Page 104: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Workshop: Hiring an Agile Tester

What skills would you want from your agile testers?

Page 105: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Closing

Page 106: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Agile Foundations

© 2009 Valtech, Inc. All rights reserved.

For more information,

Visit us on the web at http://www.valtech.us

Email us directly at [email protected]

Call us at (972) 789-1200

Fax us at (972) 789-1340

Write us (or just drop by) atValtech19111 North Dallas Pkwy, Suite 300Dallas, TX 75287

Page 107: Agile Testing PracticesProduct Owner: focused on ROI and owns priorities on the backlog Pigs and Chickens. Traditional QA Teams. How are you organized? ... Agile Test Pyramid GUI TESTS

Sources

Mountain Goat Software (www.mountaingoatsoftware.com)“Testing Extreme Programming” by Lisa Crispin and Tip House“Test Driven .NET Development with FitNesse” by Gojko AdzicFitNesse.org“Agile Estimating and Planning” by Mike Cohn“User Stories Applied” by Mike Cohn“Lean Software Development” by Mary and Tom Poppendieck“Collaboration Explained” by Jean Tabaka