He doesn't like you!I don't like you either!
QA and Dev don't have to be enemies!
Why we don't get along, and how we can so nobody loses an arm to a lightsaber!
@g33klady
I am...Hilary Weaver aka
@g33klady on TwitterBlog: g33klady.wordpress.com
@g33klady
@g33klady
TOTALLYNOT HER
FAULT!
@g33klady
BackgroundArt schoolComputer scienceDorkatronBlah blah blah@g33klady
My first meeting with devs
@g33klady
I've only been a QA for a week and I've found so many bugs!
Fast forward...
@g33klady
“Meet Hilary, our QA...” or “Hey you're that awesome QA!”
How did I get here?
@g33klady
●“They don't understand the process”●“They don't even keep up with the industry”●“They're not helpful to me”●“They're jerks!”
What do they mean?
How we can all work together to be the most awesome software development teams in the
world!!!
“They don't understand the process”
@g33klady
●Writing the code●Building the architecture●The overall SDLC
“I need this RIGHT NOW!”
Do you like programming?
● Pair Programming● Code Reviews
● Your Code● Their Code
@g33klady
No interest in programming?
● Learn the basics● ProgrammingBasics.org● Google “learn the basics of programming”
Knowing how the underlying structures work is important!
@g33klady
Gotta know the structures!
@g33klady
Regardless...
● Be more involved in the SDLC● ALL PLANNING MEETINGS!
● Pair testing● Sit as a team
@g33klady
Worst layout ever
@g33klady
Devs
QA
Regardless...
● Be more involved in the SDLC● ALL PLANNING MEETINGS!
● Pair testing● Sit as a team● Review support tickets● On-Call
@g33klady
“They don't understand the process”● Get to know coding concepts● Get to know and understand the architecture of your application● Pair program on their code or yours● Code review their code or yours● Be involved in every step of the SDLC
@g33klady
“They don't understand the process”
● Pair testing● Sit together● Review and learn from support tickets● Be an on-call
@g33klady
<RANT>
@g33klady
@g33klady </RANT>
“They don't keep up with the industry”
@g33klady
“I never see them outside of work”
● Community involvement● User groups● Conferences
Developer user groups
● Learn about latest techniques and technologies the devs are using● Test Invaders● Always go out after!
@g33klady
Get to know devs as “humans”!
Testing user groups
● Solidarity● Broaden your horizons● Create a user group if there isn't one!
@g33klady
Non-testing conferences
● Look for testing tracks● Learn about what your devs learn about● Be a standout
@g33klady
The dreaded... Public Speaking!● Lightning talks● Submit to speak at a conference
@g33klady
If we want things to change, we have to be willing to change
ourselves
“They don't keep up with the industry”
● Keep up with learning new things!● Be a test invader ● Go to, or create, tester user groups● Go to conferences, even non-testing ● Give talks at UGs and conferences● Get uncomfortable
@g33klady
“They're not helpful to me”
@g33klady
No more “it's broken; fix it”. EVER.
● Digging deep● Taking ownership
Code structure = multiple paths
@g33klady
Enter SSN
Check if Past Client
Past Client? DisplayMessage
Otherstuff
Yes
No
@g33klady
Know the ins and outs● All potential points of failure● Architectural structure● Integrations
@g33klady
Be the authority on your application
Learn about your devs● Sloppy devs
● No interest in unit testing● Easy to spot bugs● “job security” bullshit
● Devs with a quality focus● Bugs are harder to find● Digging deep is important
@g33klady
How do I “dig deep”?● Pore through logs● Step through the code with the dev● Use any tools you can
● Fiddler is my go-to@g33klady
Priority and SeverityIf I were this dev, I'd hate QA tooDon't be that guy!
@g33klady
Priority and Severity● Document the definitions and expectations
● WITH devs!@g33klady
Everyone has the same definitions = less likelihood of contentionDon't cry wolf, they'll stop listening
Typo != App Crash
@g33klady
Everyone suffers if you focus on grammar before functionality
Prioritize Testing● Get the more difficult things fixed ASAP● Typo = minutes; Crash >= day(s)
@g33klady
Functionality first means less devs rolling their eyes!
FOR THE LOVE OF ALL THAT IS GOOD IN THIS
WORLD!
Write great bug reports!
@g33klady
It's like your math homework – SHOW YOUR WORK
Good Bug Reports FFS!
@g33klady
Write bug reports as if for memory-wiped future you● What steps did you take?● What doesn't produce the bug?● Screenshots + logs + debugger output● Leave ZERO questions
I'm not supposed to...● “QA” vs tester● Company policies
● Do the devs know?● Do they just think you're lazy?
@g33klady
“They're not helpful to me”● gain insight into your devs and the codebase● pore through logs● walk through the code with the devs● use tools!● Standardize priority/severity
@g33klady
“They're not helpful to me”
● Prioritize your testing● Be legendarily awesome with your bug reports● take ownership and figure it out● Communicate the process
@g33klady
“They're jerks!”
@g33klady
● Tactfulness● And...
Don't be a dick
Help everyone in the organization understand the benefits of testingFocus on quality at every step
@g33klady
Symbiotic relationshipWe are each a necessary evil for the other. @g33klady
“So to sum up:● QA forces me to change my headspace. And I hate it for that.● QA points out my flaws as a developer. And I hate it for that.● QA is necessary and makes software better. And I hate it most of all for
that.”
@g33klady http://codebetter.com/kylebaley/2012/01/30/qa-a-hillbilly-love-story/
How do we foster these relationships?
● Play together● Lunchtime social stuff● Find common non-work interests
@g33klady
But what about THEM?If we want things to change, we have to be willing to change too
@g33klady
“As a man changes his own nature, so does the attitude of the world change
towards him... We need not wait to see what others do.”
-Gandhi
● Get to know programming, and the infrastructure and architecture of your application● Work and play together with your devs● Continue to improve yourself and your craft● Take ownership and dig deep into issues● Be amazing and legendary● Also, don't be a dick
@g33klady
How to be awesome
@g33klady
We CAN all get along, but it has to start somewhere...
@g33klady
Hilary Weaver | @g33klady g33klady.wordpress.com