Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

I've heard two guys from Microsoft and Google saying testers in those companies fix defects. Personally I think it is Ok and a better contribution than just creating a new bug ticket (at least in some cases).

I really don't know if this is the forum where I have to ask this kind of opinions but I would like to know what you have to say about it.

share|improve this question
3  
If this information about those guys somewhere online? –  dzieciou Nov 14 '12 at 5:49
    
yes, it is but I don´t remember where. Anyway, I remember a conference where mr. wittacker (from MS first and google now) talks about testing and tells their listeners about that. It has to be in youtube with the name "Test is dead" –  lontivero Nov 15 '12 at 3:36

5 Answers 5

up vote 5 down vote accepted

If they have the knowledge to fix in, why not ?

I can see where the bug should still be reported for those places that want traceability etc and presumably the tester will first write a failing test to demonstrate the bug...

share|improve this answer

No, they shouldn't.

The major reason is that the natural role of Developer is to stand up for idea that "the program is working". The natural role of QA is a direct opposite: to prove that "the program is not working".
If the same physical person acts for two opposite roles, this may lead to compromises with themselves.
Specifically speaking, sooner or later you will be tempted:

  • either to make worse code, just to satisfy minimum requirements,
  • or to perform worse testing, to avoid detecting bugs in your own code

Yes, if someone have experience "changing your hats", they can combine the roles. Anyways, at any given moment they should clearly understand what role they are playing at very this moment, a QA or a Developer.

If you are QA and you are willing to code (or vice versa), the best suggestion is wearing different hats for different projects. This way, you are QA in a Project_1 and a Developer on a Project_2.

share|improve this answer
2  
I'm inspecting a house and fund a loose plank, cam I get a hammer and nail and fix it ? –  Phil Kirkham Nov 14 '12 at 13:38
1  
@PhilKirkham No, because it may appear that all planks are loose, and you have found just a single one. Attempting to fix it by yourself is likewise attaching it with a sticky tape, instead of finding that, e.g., all nails are 0.75 inch long instead of 1.25 inch. I've seen some houses like that. And some softwares! :) –  bytebuster Nov 14 '12 at 13:53
1  
@PhilKirkham Continuing a housing metaphor, it's everyone's own decision whether to wait 6 months or to die when a ceiling falls due to the very same nails problem. I prefer to wait. :-) Returning back to SQA, the specs are the ultimate judge. If it says the "nails" must be 1.25 inch, and they are not, the testing should fail, the issue raised to the developers, and so on. However, QA engineers often compromise with themselves by accepting/sticky-tape-fixing something that is indeed broken. And we see the results here and there. See Andrew's comment above. –  bytebuster Nov 14 '12 at 14:44
1  
@bytebuster, based on your house analogy then logically we should not rely on the validity of unit tests since developers write the code and they also write the unit tests. So, it would then follow that it is wasteful to invest in writing unit tests. But, we know that is fallacious. Also, your assertion that testers compromise by "accepting/sticky-tape-fixing" is ridiculous. As is your assertion that specs are the ultimate judge and the role of the tester is to prove things are working. These are archaic and antiquated prejudices. Perhaps this has been your experience, but certainly not mine. –  Bj Rollison Nov 14 '12 at 16:13
2  
@Phil - if (as an independent surveyor) you are inspecting a house and find a lose nail, no you CAN'T fix it yourself. The same should apply to independent testers. –  Andrew Nov 15 '12 at 20:40

As a tester on a small team in a large organization, my answer may be skewed from that of a tester in another situation.

I'm all fine for testers fixing bugs, but, we also need to realize that we specialize in testing, and developers specialize in coding. We could fix it, and it could break something else that we don't know about. At the end of the day however, in many organizations, the code is owned by the developers.

Actual answer, yes, I think it's fine, so long as the team is alright with this and the code is reviewed and checked in by a developer with a stake in the code.

share|improve this answer
7  
If the tester fixes a given bug, who verifies that fix? –  Joe Strazzere Nov 14 '12 at 12:09
    
In theory, there would be more than one tester on these teams. I'll maybe see about editing my answer later today, but, there does need to be some sort of process in place for these circumstances. –  Lyndon Vrooman Nov 14 '12 at 12:33
    
Or given that in some teams now there is not such a rigid tester/dev division then a dev checking over the fix with the tester would be fine. 'Hey, I noticed the code had < instead of <=" job done, fixed and shipped –  Phil Kirkham Nov 15 '12 at 4:20
    
@JoeStrazzere I guess dev verifies it and then some other test engineer reverifies it and then if there is another bug (missed by dev verification) then tester who fixed it earlier fixes it again then again dev verifies it and cycle continues :) –  Tarun Nov 15 '12 at 5:40

There seem to be a wide range of answers from "Yes, this makes sense." to "No, don't you dare." I can see both sides of the question so here's an answer in the middle. It depends.

It depends on the role of QA on a particular project.

  1. If QA has been involved in the software development lifecycle, if QA has played a role in defining requirements from the start of a project, and if QA feels like they have the support of project management to take a proactive role, I'd say go for it. I've always welcomed testers and QA people with an engineering focus to take some time to understand the code that underlies the systems they are testing, and there's no better way to learn a system than to fix bugs in a project.

  2. On the other hand, if QA isn't involved in the overall project, if QA doesn't have a seat at the table during the requirements phase and during the implementation of a project, then you are going to want to consider that QA may not have enough information to fix bugs without introducing more complexity (or even without understanding how the bug affects the overall development effort). Having QA fix bugs without the involvement of a developer or someone in project management could cause a range of problems. Maybe development has decided to delay the implementation of a feature because the business hasn't fully elaborated on a requirement? Maybe a particular bug is present because a developer is waiting for clarification?

In summary, I welcome a more involve QA effort on all the projects I develop, but I'd only be comfortable with QA fixing code if I were confident that they were involved in all aspects of the project.

share|improve this answer
    
Much like everything in testing, it depends on the context. –  Steve Miskiewicz Dec 2 '12 at 2:09
    
Good answer, though IMO, in situation 2 I'd be pretty worried about QA's ability to test effectively too. –  testerab Mar 9 '13 at 21:56

Yes, they can if that is what the situation demands.

If you're following Agile methodology, then of-course tester can fix bugs if they want to. In Agile, the boundaries of developers and quality engineers blur. Depending on the capacity and backlog, team-members take up user-stories. And if there is a bug to fix which the quality engineer(QE) is willing to fix the bug and verify it later - then surely he can. He can step in the shoes of a developer if the need arises(assuming he is technically proficient enough).

Perhaps, in waterfall environment such flexibility won't exist where developers and QE roles will overlap.

I am in favor of QEs going ahead and fixing bugs. More so,when practicing White-Box Testing they are well versed with the code flow. Figuring out a missing condition in the code and then fixing the bug will surely be a testament to the technical proficiency of the QE.

share|improve this answer
    
This and the other answers helped me to gauge the professional testers' opinions. Thank you. –  lontivero Oct 11 '13 at 4:37

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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