Upload
rafael-battesti-ctfl
View
20
Download
0
Tags:
Embed Size (px)
Citation preview
[project logo] Project NameTesting portfolio:
pattern vs anti-pattern
GoalPerform a diagnosis of the current state of our Testing Portfolio
Objectives…
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)
The concepts in Testing Theory…
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
Today’s state and vision…
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
The Problem…
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)
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)
Revisiting some Scrum principles…
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
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
So how could we improve our testing portfolio?
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.
– Charles Darwin
“In the long history of humankind (and animal kind, too) those who learned to
collaborate and improvise most effectively have prevailed.”
Thank You!