19
[project logo] Project Name Testing portfolio: pattern vs anti- pattern

testing_portfolio_diagnosis

Embed Size (px)

Citation preview

Page 1: testing_portfolio_diagnosis

[project logo] Project NameTesting portfolio:

pattern vs anti-pattern

Page 2: testing_portfolio_diagnosis

GoalPerform a diagnosis of the current state of our Testing Portfolio

Page 3: testing_portfolio_diagnosis

Objectives…

Page 4: testing_portfolio_diagnosis

Find the blind spots

A study of the current state of the Testing Portfolio will empower the team to:

• Make informed decisions• Improve safety of the SUT• Better allocate manpower• Identify blind spots needing deeper

attention• Look towards CI (Continuous

Integration)

Page 5: testing_portfolio_diagnosis

The concepts in Testing Theory…

Page 6: testing_portfolio_diagnosis

The Testing Pyramid Concept (Mike Cohn)

• Automated UNIT, COMPONENT, INTEGRATION and API should form the base.

• They provide most of the safety for the SUI

• Automated GUI and Manual Tests should be on top, enclosing the risk and fine tuning requirements

Page 7: testing_portfolio_diagnosis

Today’s state and vision…

Page 8: testing_portfolio_diagnosis

HOW DOES OUR TESTING PORTFOLIO LOOK LIKE TODAY?

• Great effort on AUTOMATED GUI (Protractor)

• Functional (More repetitive with reduced coverage)

• Exploratory (Greater agile value)

• Safety relies mostly on MANUAL tests, divided into:

• No plans to implement UNIT, COMPONENT,

INTEGRATION or API Tests for the legacy

Page 9: testing_portfolio_diagnosis

The Problem…

Page 10: testing_portfolio_diagnosis

Automated E2E tests characteristics (Martin Fowler)

• Enhancements on the SUT may easily break one or many such tests

Nice hat, bro!

• Asynchronous behaviour pushes technical dept by the continuous use of sleeps rather than callbacks

• They may get stuck in quarantine for long when facing deterministic issues

• Tend to be highly dependent on each other

• Tend to be non-deterministic (unreliable - thus useless)

Page 11: testing_portfolio_diagnosis

And what we may end up having is this (Alister Scott - watirmelon.com)

• Safety of the SUT rely mainly on Manual Testing

• Very little effort put into the design and implementation of UNIT, COMPONENT, INTEGRATION and API tests.

• There is a wish to automate testing efforts, most generally misleading to E2E (most critical Automated tests)

Page 12: testing_portfolio_diagnosis

Revisiting some Scrum principles…

Page 13: testing_portfolio_diagnosis

Highly productive Scrum teams have to …

• Communicate and demonstrate commitment to team members

• Continuously enhance their abilities

• Understand requirements and not be afraid of asking

• Pull work and manage sprint progress

Page 14: testing_portfolio_diagnosis

And also be…

• Competent: no directions from above.

• Trustworthy and respectful to their peers: walk the extra mile to help each other

• Motivated: know your requirements, ask for help…

• Collaborative: Dev + Testers work better together

Page 15: testing_portfolio_diagnosis

So how could we improve our testing portfolio?

Page 16: testing_portfolio_diagnosis

Prioritize the Pyramid basis collaborativelly

• Solve Protractor’s technical debt (sleep vs. callback)

Docendo dicimus - By teaching, we learn (Seneca, 4 BC - 65

AC)

• Code overview with Devs and Testers (Architecture, calls to functions, functionality flow through the code)

• Cross-role pairing: Devs + Testers working together on UNIT, COMPONENT, INTEGRATION and API Tests

• User stories designed by testers. Encourage user perspective view of the System Under Test.

Page 17: testing_portfolio_diagnosis

– Charles Darwin

“In the long history of humankind (and animal kind, too) those who learned to

collaborate and improvise most effectively have prevailed.”

Page 18: testing_portfolio_diagnosis
Page 19: testing_portfolio_diagnosis

Thank You!