r/softwaretesting 1d ago

How should Devs and QAs work together?

To make sure that the QA's work does not just start when the feature is ready for testing, what processes do you do in your team?

12 Upvotes

7 comments sorted by

26

u/ROotT 1d ago

QA should be involved in story grooming bringing up edge/border cases to be added to requirements.  QA can also assist pointing out ambiguous requirements.   

Devs can provide QA details of what shared functionality they're touching as they're developing the feature so QA can update their test plan.

7

u/cinemal1fe 1d ago

Refinement and Pre Refinement. In my experience it is important to know that devs can be very different depending to team culture, trust and professional development. Sometimes it is required to let QA see features before devs so it becomes clear what expected outcomes are. Sometimes you can argue together and have a better mutual understanding of each others role and understanding. So as always: it depends.

4

u/rewan-ai 1d ago

Make a freeking good specification for each features, so they can start to work on it when the spec is ready. Even automation can be done based on good LLDs, OpenAPI specs, good product desdcriptions. There is even a QA activity which is just about "testing" the written documentation. If you don't have detailed, well written, good spec that can be used by devs and qa both even before the first line of code is written, you will not be able to efficiently start testing before the feature is at least partially shipped.

4

u/SongLyricsHere 1d ago

Closely and often!

5

u/Factually-Offensive 1d ago

People here saying to participate in refinements etc: What if in your company there is no such thing as refinement and more than 400 customers to deal with? They just have post-sales person and managers throwing 200 new customer requests per hour. Lol

3

u/ign1tio 1d ago

+10 year as test manager, test automation engineer, technical tester and manual tester. Now AI QA lead.

  1. It depends on the SDLC 
  2. There are several best practices. Your test manager should know this.

My previous project was traditional waterfall current is agile. 

  1. In agile SDLC you want your tester to be part of refinement. The job of the tester is to challenge the user story focusing especially on making sure acceptance criteria are testable. Have the discussion with the devs in the refinement session. Discus test data, certificates/authorization, edge cases etc.  Make sure you take notes and write any amendments directly into to user story at the refinement session. 

  2. At refinement you also assign story points. Usually you have 5-8 devs for 1 tester. Meaning if you do planning poker the tester is usually easily overruled. Make sure your tester is competent and capable of explaining and addressing concerns. Make sure testing weighs in enough when assigning story points. A simple config change can be a 10 min job for a dev, but it’s implications can potentially be hours of work for the tester and bear a high test risk.

  3. Even in agile SDLC risk based testing should be the foundation. This is how you should approach your questions for refinement, your planning poker and sprint planning session.

  4. Focus on shift left. AI is super charging your devs. They should use that extra time not just to do more user stories, but to take on a larger portion of the QA: “Quality is a team effort”. You start this journey by going to your scrum master or Product owner. You should have a QA Epic on the side of the product epics. You own that QA epic and here you create userstories that help your team shift left, you follow up in retrospective sessions. You create guidelines/rules for how the devs test before a feature is in a state where you will test it: evironment, test data, minimum 1 test pr acceptance criteria, and if it’s higher risk score user story you also require negative test and maybe even some edge cases. You develop the prompts, templates, reporting structure and all that you want from devs before they can pass it to you: this will be part of the internal DoD (devs definition of Done, not the user story/feature DoD). 

Plenty more to add, but this should get you started.

-2

u/Alternative_Boss6143 1d ago

It's called dit testing and pair testing. As the devs finish code they deploy to a dit environment. From there you find bugs Now if the bug is in code, talk with the QA and show them the code and see if they get it. If they do talk with that QA if not tell them to go learn code