Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Your QA Should Be Your BFF

Hilary
July 12, 2018

Your QA Should Be Your BFF

Developers and QA have historically had an adversarial relationship, but it doesn’t have to be that way! In this talk we’ll go through the various reasons that developers hate QA, why some of those perceptions exist, and how to remedy them so that developers and QA can work better together and maybe even get along! Attendees will take away ideas to help their teams work together more efficiently by understanding where their QA are coming from, helping to level them up, and hopefully getting along better!
Given:
– Great Lakes Area .NET User Group (Southfield, MI 8/13) – lightning talk
– DetroitDevDay Conference (Detroit, MI 11/15)
– Ann Arbor .Net Developers User Group (Ann Arbor, MI 6/8/16)
– CodeStock Conference (Knoxville, TN 5/5-6/17)
– Desert Code Camp (Chandler, AZ 10/14/17)
– KCDC (Kansas City, MO 7/12/18)
– THAT Conference (Wisconsin Dells, WI 8/6/18)

Hilary

July 12, 2018
Tweet

Other Decks in Technology

Transcript

  1. What I do Software Quality Assurance Architect at Quicken Loans

    Organizer, Motor City Software Testers user group @g33klady | Hilary Weaver-Robb
  2. Why I’m here Developers often see QA as  Useless

     Idiots  Enemies I want to change that! @g33klady | Hilary Weaver-Robb
  3. Worthless bug reports What if they don’t know what to

    put in a bug report to make it good?  Checklist or Bug Template  Exact steps to reproduce  Environment, Browser, etc  User/account specifics  Actual vs expected behavior  Links to related work items  Why  Assign back if info missing @g33klady | Hilary Weaver-Robb
  4. Worthless bug reports What if they don’t know about tools

    that will help them (and you)?  Introduce them to tools you use  Fiddler, Wireshark, Browser debugger  Postman, Swagger  Logging  Write some utilities  Database lookups w/out complex queries  Midware to backend debugger  Debug log lookup or data extraction @g33klady | Hilary Weaver-Robb
  5. Worthless bug reports @g33klady | Hilary Weaver-Robb What if you

    had a conversation about each issue before a bug report was created?  Encourage conversation  Reproduce it together  Reduce bug ping pong
  6. Worthless bug reports @g33klady | Hilary Weaver-Robb What if you

    had a conversation about each issue before a bug report was created? Assumptions get in the way
  7. Testers Are Useless “A monkey could do their job (and

    be better at it)” @g33klady | Hilary Weaver-Robb
  8. Monkeys bashing on keyboards Testing is the process of evaluating

    a product by learning about it through exploration and experimentation, which includes to some degree: questioning, study, modeling, observation, inference, etc. – James Bach TL;DR - Testing requires human thought and interaction @g33klady | Hilary Weaver-Robb
  9. Monkeys bashing on keyboards What if they are constantly re-checking

    stuff that can be automated?  Can you automate it for them?  Can they automate it? If it’s something that is mindless, automate it! @g33klady | Hilary Weaver-Robb
  10. Monkeys bashing on keyboards @g33klady | Hilary Weaver-Robb Types of

    automation tools  Record & Playback (generated code)  Frameworks/packages (“handwritten”) What we’re automating  User Interface  API/backend  Both
  11. Monkeys bashing on keyboards @g33klady | Hilary Weaver-Robb .NET Automation

    Tools  CodedUI – thin & thick clients (uses MSTest)  Selenium WebDriver – browser only (works with Nunit)  WatiN – browser only  SpecFlow – Cucumber for .NET (BDD)  Telerik Test Studio – thin & thick clients  NUnit, MSTest, etc Why have the QA use a .NET tool/framework?  Anyone can work on the automation  Built-in support network  No juggling licensing  Very little context switching  Same solution == share code
  12. Monkeys bashing on keyboards @g33klady | Hilary Weaver-Robb “Test automation

    code doesn’t matter”  It should be as important as prod code  It should be created with the same practices  It must be maintained as the software under test changes
  13. Monkeys bashing on keyboards What if we automate everything –

    can we get rid of QA? Short answer: NOPE! @g33klady | Hilary Weaver-Robb
  14. Monkeys bashing on keyboards Some types of testing:  Scripted

    manual  Exploratory/AdHoc  Functional  Regression  Boundary  Security  (User) Acceptance  Usability/Accessibility  Load/Performance/Stress  Etc. etc. etc. @g33klady | Hilary Weaver-Robb
  15. Monkeys bashing on keyboards “Exploratory Testing” is a style of

    testing in which we learn about the behavior of a system by designing a small test, executing it immediately, using the information gleaned from the last test to inform the next. -Elisabeth Hendrickon @g33klady | Hilary Weaver-Robb
  16. Monkeys bashing on keyboards Exploratory Testing  Start with a

    broad idea  Ex: I want to test the pulling credit feature  Add some scope  Ex: I want to test the pulling credit feature as a single person  Get some tools to help  Start exploring the application!  Don’t limit yourself!  Get rid of your assumptions  Let the application lead you  Take notes! @g33klady | Hilary Weaver-Robb
  17. Monkeys bashing on keyboards What if we automated stuff and

    they’re still mindlessly “checking”, not really testing?  Help them level up!  Do some pair testing with them  Help them find the testing community  Suggest user groups, conferences, etc  Get a new QA!  Sit in on interviews! Ask them to “test” something! @g33klady | Hilary Weaver-Robb
  18. They know nothin’ What if they’re not included in planning

    and design meetings? Black box testing is great… unless you want white box testing @g33klady | Hilary Weaver-Robb
  19. They know nothin’ What if they don’t know about, or

    can’t access, architecture diagrams, data and process flows?  Do these exist?  Ask the QA to create them! What if they don’t know about integrated systems and where they connect? See above @g33klady | Hilary Weaver-Robb
  20. They know nothin’ What if they haven’t ever gotten a

    “technical tour” of the application? Show them around! @g33klady | Hilary Weaver-Robb
  21. Testers Are Idiots “They think my job is simple, like

    it takes 2 seconds to fix a bug” @g33klady | Hilary Weaver-Robb
  22. They think a monkey could do *my* job What if

    they haven’t ever taken a programming class, or had any technical training? @g33klady | Hilary Weaver-Robb
  23. They think a monkey could do *my* job What if

    they haven’t ever taken a programming class, or had any technical training?  Give ‘em suggestions!  Pluralsight, MS Virtual Academy, etc  Lunch & Learns  Hands on, pair together  Bring them to user groups!  Encourage them to attend conferences @g33klady | Hilary Weaver-Robb
  24. They think a monkey could do *my* job What if

    they just need to shadow you to understand?  Fix a bug together  Show in-depth troubleshooting  Show complexity of finding and fixing a bug @g33klady | Hilary Weaver-Robb
  25. They think a monkey could do *my* job What if

    they aren’t involved in task breakdown?  Show them how things fit together  More exposure = better understanding  QA is part BA, part dev @g33klady | Hilary Weaver-Robb
  26. That baby *is* kinda ugly What if they seem insensitive

    because they don’t understand the process? We devalue what we don’t understand What if they just need to see it for themselves? Pair on automation @g33klady | Hilary Weaver-Robb
  27. That baby *is* kinda ugly What if they’re still insensitive?

    They’re probably just jerks @g33klady | Hilary Weaver-Robb
  28. Testers Are Enemies “They put bugs in for every.little.thing and

    it drives me crazy!” @g33klady | Hilary Weaver-Robb
  29. So many bugs… What if your company monetizes number of

    bugs? @g33klady | Hilary Weaver-Robb
  30. So many bugs… What if the bugs were grouped to

    make your life easier?  Group by type of bug  Group by page or function @g33klady | Hilary Weaver-Robb
  31. Testers Are Enemies “They always seem to try to make

    me miserable” @g33klady | Hilary Weaver-Robb
  32. They hate me… What if they get the shit end

    of the stick with deployment schedules?  Can dev schedules slip but QA can’t?  Are they in on the weekends more?  Does everything wait until the last minute, because “QA isn’t important”? @g33klady | Hilary Weaver-Robb
  33. They hate me… What if they’re told they’re being given

    “ job security”?  If I can’t even launch the app when you hand it over…  No unit tests == BORING “It builds” != “It’s ready for QA” @g33klady | Hilary Weaver-Robb
  34. They hate me… What if they’re treated like they’re worthless

    idiots?  Is their time as valuable as yours?  Are they respected members of the team? @g33klady | Hilary Weaver-Robb
  35. Dispelling misconceptions Anyone can test QA just need a checklist

    to test everything QA knows the info I need to fix a bug QA shouldn’t talk to dev QA is paid to break the software If testing passes, there aren’t any bugs – quality has been assured! @g33klady | Hilary Weaver-Robb
  36. Testers can be your friends! Testers are not useless 

    Maybe they need some tools  Maybe they never got any formal training Testers are not idiots  Maybe they need some guidance on the development process  Maybe they need to understand the architecture of the app Testers are not your enemy  Maybe they don’t understand what you go through  Maybe they’re just trying to play the game the company created  Maybe they aren’t treated well @g33klady | Hilary Weaver-Robb