Sunav Sodhani
Testers are from Mars,
Developers are from Venus
Sunav Sodhani
•
Senior Android QA engineer
•
8.5 years of testing experience with a focus on
mobile
•
Equally comfortable in a five-person startup & a
350+ employee company
Hello, my name is
About
350m
Messages per day
386m
Registered users
worldwide
60m
Monthly active
users
300k
New daily sign ups
OUR GOAL:
To ship features at speed to our beloved users
OUR GOAL:
To ship
QUALITY
features at speed to our beloved users
“I cannot reproduce this bug! “
“Even the happy path is failing :D”
“I cannot reproduce this bug! “
The score is 1-1!
Perhaps you
wanna do this….
Approaches that work for us
Branch-based development & testing
Weekly releases of mobile apps
Branch-based development & testing
What does a QA usually do?
•
Feature kick-offs
•
Product Requirement Document (PRD) reviews
•
QA estimates
1)
Talking technical to developers
Make sure to do a technical root cause analysis of the problem
Example: a memory leak in People Nearby
Method 1
:
“
After using the app for a
couple of minutes, I can see an
OutOfMemoryError in logs.
”
Method 2
:
“
I got an
OutOfMemoryError and here is the
memory dump for you to analyse.”
Method 1
:
“
After using the app for a
couple of minutes, I can see an
OutOfMemoryError in logs.
”
Make the best use of your toolsets
Android Studio shows you the memory graph
Dump a HPROF file
Go to Android Device Monitor/
Android Studio
1)
Talking technical to developers
Give the developers a starting point to investigate
Make sure to do a technical root cause analysis of the problem
1)
Talking technical to developers
Help them to engage with the issue
Make sure to do a technical root cause analysis of the problem
Give the developers a starting point to investigate
We collaborated, and now we’re
speaking the same language!
2)
Shifting the responsibility for quality towards
developers
We started to use QA=NO
We started to use QA=NO
This doesn’t mean that we abandon our teammates
We provide them with
checklists, hints, mind maps and Wiki pages
Features and bug fixes are rolled
out much more quickly
3)
Asking the Testing team to stop being a
Client-Server communication channel
This just speeds things up sometimes!
Not every approach we tried was a success
4)
Implementing a big feature using the
umbrella branch strategy
Dev
Umbrella branch
Dev1
Dev2
Dev3
Master
The umbrella branch strategy
We learned how to divide tasks properly
Developers were no longer blocking or breaking
each other’s work
Retrospect your approach
“Mountains are scaled when everybody
walks in line - one behind the other"
Testers & developers need to find a
common orbit
References
1.
Article on Testers are from mars , Developers are from venus
https://badootech.badoo.com/testers-are-from-mars-and-developers-are-from-
venus-ffb04e2c371b
2.
Testing at Badoo in broad strokes
https://badootech.badoo.com/testing-at-badoo-in-broad-strokes-1ff1144b1585
3.How we saved time by teaching developers to test their own code
https://www.slideshare.net/ktkellytran/how-we-saved-time-by-teaching-developers-
to-test-their-own-code-by-kateryna-sprinsian
Thank you!
@sunav_sshhh
sunav123t@gmail.com
@sunavsodhani
Testers are from Mars and Developers are from Venus