-5

I am a QA working in collaboration with developers from different teams. I want to know why most developers treat QA's like their slaves? For example, I raised a bug, told the bug assignee that the bug is reproducible every single time, also provided the steps, the logs and the setup. Am I expected to sit with him and debug the issue for hours? The developer makes a small change like adding a print statement somewhere, or a sleep and then asks me to try the case again. This happened on repeat last week. After this, I have had constant requests to try out various bugs multiple times, separate the logs and whatnot. This is not a rant. I just wanna know if this behavior is correct. I had enough today and told him that I had meetings and could not reproduce the issue again because he wanted two separate logs. To which he replied, this is supposed to be the highest priority. He was very rude and acted like this is my job.

So my question is, what is the QA expected to do? Am I supposed to reproduce the issue a million times? For every change or print he adds, am I expected to try out the scenario again? How do I confront such people nicely and not be rude? When I told him I could not try it again, he was clearly passive-aggressive and rude. Why cant they just read the details on Jira or run a single UT or test ever?

  • 5
    Don't your developpers have dev servers ? Or even local environment to test out their development ? And how can a developer modify your test environment like that ? There seems to be an underlying problem other than the rudeness of your colleague. – Valrog Jan 29 at 14:53
  • 10
    "This is not a rant." - it is a rant! – Philipp Jan 29 at 15:22
  • 4
    While I understand the frustration I downvoted because of ranty bits. For starter I don't approve the lightweight use of "slaves" word when we have documents of the horror of actual slavery. You should also try to get more focused on what is the issue : is it how to deal with the attitude of that particular person, how your reaction was at that particular event, or are you questioning your job perimeter ? – Arthur Havlicek Jan 29 at 15:24
8

Treat this as a learning experience. You aren't supposed to sit and wait with the developer for them to fix the issue. If it's a 5 minute problem and they can immediately fix it, sure hang around for a little bit, but at what point should you go back to doing your job instead of watching a developer do theirs?

You:

  • Tested the code.
  • Found a bug.
  • Found a way to reproduce the bug and documented it.
  • Ideally, and this step seems to be missing from your post, the developer will have an already defined block of behaviour that will render the bug fixed which means your work here is done.

You hand this off to the developer and ask if they understand. If they do, walk away and continue doing your job. If they need help reproducing the issue for the first time you can assist, but don't be a baybsitter.

Respect your own time and schedule, and others will begin to respect it too. When you're on another task and somebody bursts at you to drop everything and try to re-run their test case, say you're busy. Don't move to their desk and watch them do their job.

  • To add to this, your developer should be reproducing the bug themselves until it is fixed. The print statements or minor changes are not your problem and you should only be running the test once they can no longer reproduce the error. – Shadowzee Jan 30 at 5:34
3

Besides being rude the dev in question seems to be underqualified - Adding timeouts to fix async-issues is one of the worst things a dev can do.. its like putting make-up on an open fracture instead of getting a surgeon to fix it - basically masking a symptom but not fixing the cause..

I would suggest the department use dev-environments and additional test-environments.. There seems to be a lot of issues in the product-lifecycle, the absensce of test-cases/suites and the approach how a your sw-products are designed, written, tested, deployed & maintained - Which is definitely not your fault!

So my question is, what is the QA expected to do?

To work close with the dev-team and report to them. Try to make a road-map to reproduce the issue, file a bug-report and clarify it with the dev-team. From your statements you seem to be doing a good job - compared to the dev team..

Are QA's meant to be slaves?

No person above or below in a company or anywhere else should be considered a slave of anyone in the 21st century - QA's and dev-teams should be friends as good as possible since one needs the other and both a working towards the same goal - a stable product..

1

A thing that can happen is that the developer can’t reproduce the problem. Some problems are depending on people’s habits, so I might ask the QA person to reproduce the problem in my environment (if they can, great. If they can’t, it may be because of different requirements).

Obviously if I “fix” a problem QA has to verify it. But I don’t give QA one half-arsed attempt to fix a problem after the other. Once I fix it, that should be it.

Once in a while you run into a problem that only shows in the QA environment. That just doesn’t show in the development environment. In such cases I may only be able to make educated guesses, and have to give QA a version that will tell me what exactly the problem is. That situation isn’t fun for anyone. If it happens I will explain why I make unusual requests.

What your developer seems to be doing is rude, and it is very inefficient.

1

This will vary by company

At my job, QA is only sent finished stuff. So even if you have a long story, they are just given that at the end of a sprint. The QA then tests, makes a list of issues to correct, and then passes it back to you. They just tell us devs how to replicate and then it is our job to fix it, quickly test it, and pass it back for more thorough testing. QA for us consists of manual testing for the most part.

There are companies that essentially want QA to be junior level developers and fix small issues themselves.

There are companies that don't think QA should exist at all as it makes developers lazy or because automated testing exists.

The developer makes a small change like adding a print statement somewhere, or a sleep and then asks me to try the case again.

Plenty of developers also just do not know what they are doing and want someone to sit with them to help them understand the problem. There are enough people out there who when they ask for help with debugging something complex, basically want someone to talk out loud to.

As to whether it is an expected part of the job, it depends.

Usually, no. QA is not meant to help debug. Many QAs just wouldn't have the skills required as they were not hired to do any programming. An exception might be made for SDETs, but even they should be focused on writing tests, not helping developers understand them and their skillset could easily be very different.

But some project management strategies like Scrum also dictate that a bug is everyone's problem, so depending on how your team is organized and how they implement Agile, there can be an expectation that you "jump in" to help when required.

  • 2
    Plenty of developers also just do not know what they are doing this falls under the responsibility of a senior developer though, not a QA tester. QA is there to tell you something is broken or now fixed, not help you fix it. – Jay Gould Jan 29 at 15:15
  • @JayGould Yeah, but the QA person is basically just a rubber duck and confidence booster in this case. I don't think it is good, but I have seen it. en.wikipedia.org/wiki/Rubber_duck_debugging – Matthew Gaiser Jan 29 at 15:17
  • 2
    I completely understand where you're coming from, but it really isn't QA's responsibility to support a developer trying to fix a bug that's been reported. – Jay Gould Jan 29 at 15:19
  • 1
    @JayGould there are companies where that would be informally expected. Clarified my answer. – Matthew Gaiser Jan 29 at 15:25
1

I want to know why most developers treat QA's like their slaves?

Most developers do not treat QAers like slaves.

Am I expected to sit with him and debug the issue for hours?

That would be up to your boss. Hopefully, you have a QA Manager who sets the direction for the QA team.

So my question is, what is the QA expected to do? Am I supposed to reproduce the issue a million times?

Expectations vary by company and team. Talk with management so you can understand your role and responsibilities.

For every change or print he adds, am I expected to try out the scenario again?

Perhaps. It might be that the developer is unsuccessful in reproducing the issue, or otherwise needs your help and expertise. This might be particularly true if this is indeed a top-priority issue.

How do I confront such people nicely and not be rude? When I told him I could not try it again, he was clearly passive-aggressive and rude. Why cant they just read the details on Jira or run a single UT or test ever?

You just need to be professional. You might want to dig in together and find out if/why the developer is unable to re-run the test scenario in debug mode or such. Perhaps your test environment is different from the developer's. Perhaps the code you were testing doesn't match the developer's. There are lots of possibilities.

0

It sounds like lack of management and processes.

I started out as a developer, took on head QA for a year and moved back to development so I have experienced very similar frustrations.

The truth is developers feel the same as you. They are treated like crap and messed about by clients and sales teams etc... and this filters down to you because you make their job even harder.

Also lazy unmotivated developers will just see you as a scapegoat.

I would advise you come up with some processes that need to be followed and discuss them with your manager.

For example:

  • Testing must be scheduled
  • 3pm cut off time
  • Devs must provide a list of features that need testing in an agreed format
  • Common way to track and log bugs and fixes
  • The developer that worked on it is responsible for fixing the bug
  • Projects must use CI
  • Devs introduce TDD
  • Have a regular meeting to discuss common bugs
  • Less regular meeting with manager to discuss any devs that only submit bugs
0

QA isn't supposed to be doing the developer’s work. Namely, debugging or testing the code. Your colleagues developing the product should debug and make sure that his product is atleast aceptable.

And by all means, it's not your job to find stupid dumb bugs that can be seen at plain sight by just running the code once, and neither it is to sit with the developer helping him to debug the code.

Not the answer you're looking for? Browse other questions tagged or ask your own question.