Sunav Sodhani Testers are from Mars, Developers are from Venus
Sunav Sodhani Senior Android QA engineer8.5 years of testing experience with a focus on mobileEqually comfortable in a five-person startup & a 350+ employee company Hello, my name is
About 350mMessages per day 386mRegistered users worldwide 60mMonthly active users 300kNew 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-offsProduct Requirement Document (PRD) reviewsQA 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 venushttps://badootech.badoo.com/testers-are-from-mars-and-developers-are-from-venus-ffb04e2c371b2.Testing at Badoo in broad strokeshttps://badootech.badoo.com/testing-at-badoo-in-broad-strokes-1ff1144b15853.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