Firstly, I think the current process of verification of bugs is not
really useful overall. I'm not saying that QA is not doing a good job
at it, but the process itself is bound to be ineffective because of the
following reasons:
1. Sometimes bugs which include an automated test case are verified.
This often includes using the testcase or the STRs for that bug, which
is what the developer has also used to create the automated test case,
which results in QA to try to replicate what happens on the test
machines which is not very useful. The review process attempts to
ensure the quality of the test case, and further verification attempts
add very little value to that.
2. Sometimes bugs don't have clear user facing risks, or we don't have
STRs for how to trigger them, and usually some time is spent for QA to
ask "what are the steps to verify this bug?" and for the developer to
answer: "code inspection to make sure the patch has landed". Not a good
use of anybody's time.
3. Sometimes bugs are verified by just repeating the STRs in comment 0.
I don't know about all developers, but most (responsible) developers
should already do this with their fix before submitting and landing the
patch, so the verification process is just duplicate effort.
4. Sometimes developers actually need QA's help to make sure a fix is
correct and works as expected. In my experience, many if not all of
those cases need QA action before the patch lands using try server
builds etc. And I have always found myself either CCing somebody from
QA on the bug or setting the qawanted keyword etc. And QA has been very
helpful in those cases, but again the verification after the fix lands
adds very little value on top of that.
Therefore, I'm going to assume that the verification process is not
useful in its current form for the rest of this post.
On 12-08-09 6:01 PM, Anthony Hughes wrote:
> To those of you who might not know me, my name is Anthony and I co-lead QA release sign-off for Firefox Desktop releases (ashughes on IRC). The QA team has been trying to find a way to better prioritize, visualize, and increase traction of bug fix verifications; especially as it pertains to tracked issues for Firefox releases. One of the biggest efficiency sinks is the back and forth that inevitably happens when we triage the hundreds of fixed bugs each release trying to decide if and how a bug fix should be verified. The following proposal outlines three initiatives we hope will improve this process.
>
> Part 1: VERIFYME Flag
> ------------------------------
> The first part of our proposal is to create a new bugzilla flag called "verifyme". The purpose would be to help us prioritize bug verification work and minimize time lost due to triaging unverifiable fixes and unnecessary verifications. The flag would replace the [qa+-?] whiteboard tags with three possible states:
>
> * verifyme+: fix is verifiable and needs to be verified
> * verifyme-: fix is unverifiable or unnecessary to verify
> * verifyme?: QA needs further instruction before verification (steps to reproduce, minimized test case, environment variables, etc)
>
> QA would routinely use these flags in our day-to-day triage but I would also encourage their use by engineers. When you mark a bug RESOLVED FIXED and you know the fix needs verification, you could set the verifyme+ flag. Alternatively, you could set the verifyme- flag when you know the FIXED bug is unverifiable or doesn't need verification. Doing so would mitigate the occurrences of QA asking how to verify or whether a bug needs verification (a common occurrence and hurdle).
This requires more work with very little gain, IMO, so I would like to
suggest that we should not proceed with using this flag.
> Part 2: VERIFYME Keyword
> -------------------------
> The second part of our proposal is for developers, engineers, managers, testers, or anyone else engaged in a bug to get used to using the "verifyme" keyword which already exists in Bugzilla. The purpose would be to indicate priority to QA. In other words, QA would triage the verifyme keyworded bugs first and foremost. We believe this will reduce the occurrence of important fixes being released untested.
That could potentially allow an official opt-in request for
verification. If this means that QA will only look at the verifyme bugs
and not all of the RESOLVED FIXED bugs, I am *very much* in favor of
this plan, as it could decrease the amount of effort in the verification
process by a huge amount and focus the efforts where it's most useful,
which would be great!
> Part 3: QA Contact Field
> ------------------------
> The third and final part of our proposal is for QA to use the QA Contact field to indicate assignment. We've already started to use the field to assign qawanted keyworded bugs to individual testers and we'd like to start using it to similarly assign responsibility for fix verification. We believe this will provide greater accessibility and visibility of QA involvement. It also creates a distinctive contributor path in that it allows volunteers to take ownership of verifying fixes.
I think that makes sense, and also it's not something that really
affects how developers work, so we shouldn't get much of a say in it
anyways! :-)
Cheers,
Ehsan