| Desktop QA: Bugzilla tags/keywords | Robert Kaiser | 11/04/14 14:46 | The Firefox desktop team is heavily relying on bugs being marked in some way to know if we need to verify them or perform some other action on them. For that, our QA drivers for example triage the bugs fixed in every development cycle and mark them "verifyme" or [qa-]. I've also seen [qa+] float around, and nowadays the whiteboard tags are even sometimes in the normal whiteboard and sometimes in the newly created QA whiteboard field.
For bugs we need to investigate, the "qawanted" keyword is also in use to get our attention. I wonder if it's really a good idea to have this mixed bag of whiteboards and keywords floating around or if we should consolidate that, for example to using keywords for everything ([qa-] could be replaced by a new "noverify" or similar keyword). I think the Bugzilla DB is better at queries for keywords than whiteboard tags, as keywords are structured, also it's harder to mistype them, so I personally prefer them over whiteboard tags for cases like this. What's your opinion on that? (Please post discussion items on dev-quality, I'll post to the other lists as well when we reach a conclusion.) Robert Kaiser |
| Re: Desktop QA: Bugzilla tags/keywords | Anthony Hughes | 11/04/14 15:04 | Thanks for posting this, Robert.
I've been giving this much thought lately as I've been reflecting on the Firefox Dev team's new 2-week iteration model. I'd like to see if we can agree on a system that works for devs, release managers, and individual QA teams alike. I agree that we need to make things a bit more unified and clear, less redundant. The problems I have with existing mechanisms: * there are multiple ways to say the same thing * there's no good way to differentiate between Desktop and Mobile when needed * they're are hard to understand without prior learning * they don't encourage much participation from outside QA * they are too ambiguous to allow for much automation/scripting of common tasks I would like whatever we come up with to solve all of these problems. I wonder if we might entertain the idea of just moving everything "QA" related into the QA Whiteboard. We could design a system of tags that works well to improve transparency and reduce ambiguity. I know keywords are designed to be a bit more "fool-proof" so maybe we could make the QA Whiteboard into a keyword type field instead of something that is more free-form as it exists today. That aside, whatever we decide upon will need to be documented and communicated well, and we'll need to allow for time to educate people on the best practices. Of course I'll do my best to contribute to this effort. > _______________________________________________ > dev-quality mailing list > dev-q...@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-quality -- Anthony Hughes QA Engineer, Desktop Firefox Mozilla Corporation |
| Re: Desktop QA: Bugzilla tags/keywords | Anthony Hughes | 11/04/14 15:15 | PS
Here's a list of the systems I know we are using today. * [qa+] whiteboard tag, typically used to tag something as on our radar * [qa-] whiteboard tag, typically used to tag something as off our radar * [qa?] whiteboard tag, typically used to tag something as needing review from us * [qa!] whiteboard tag, typically used to tag something we have finished with * we also have verifyme, qawanted, qaurgent, qablocked keywords Also, this may be out of scope for the discussion here but I'd like to see if we can come up with a way to solve a couple other problems: 1) Resolving the currently broken link between Target Milestone and status flags 2) Implementing some automated system for auto-triaging bugs we know fall into certain QA buckets |
| Re: Desktop QA: Bugzilla tags/keywords | Henrik Skupin | 16/04/14 08:05 | Robert Kaiser wrote on 04/16/2014 04:56 PM:> I do not think we can solve this or should even try to do that in a QA > discussion, as that's something spanning all of our processes at Mozilla. And the final decision (once we get one) should be put onto bug 975400 (https://bugzilla.mozilla.org/show_bug.cgi?id=975400) -- Henrik Skupin Software Engineer in Test Mozilla Corporation |
| Re: Desktop QA: Bugzilla tags/keywords | Robert Kaiser | 16/04/14 08:05 | Anthony Hughes schrieb:
> I wonder if we might entertain the idea of just moving everything "QA"I'd prefer something where we use keywords and/or flags for the main things, augmented with QA whiteboard for further specification (e.g. "this is something that can be verified without deep knowledge", possibly things that automation can hook up to, specifying that it only affects a certain product, etc.) I agree that it would be good to find a system that applies well enough that we can solve all the areas you mentioned. That said, "hard to understand without prior learning" will surely not fully go away because we are a complex project, we can help it with clear and easy documentation about a thought-through system, though. And "encourage participation from outside QA" can be solved with a well-documented system and easy-to-find queries as well. I'd like to get into a state where we have a dashboard that enables us to see easily what the current status of QA is and what needs work, and we should also have one-and-done tasks with good explanations for a number of the things to do there. Of course that also ties in with the process thread I also started here. :) KaiRo |
| Re: Desktop QA: Bugzilla tags/keywords | Robert Kaiser | 16/04/14 07:56 | Anthony Hughes schrieb:
> 1) Resolving the currently broken link between Target Milestone and I do not think we can solve this or should even try to do that in a QAKaiRo |
| RE: Desktop QA: Bugzilla tags/keywords | Florin Mezei | 23/04/14 08:19 | What I understand about the current use of keywords and tags is:
1. Tags ([qa+], [qa-], [qa?], [qa!]) a. Express the QA status of the bug (qa needed, qa not needed, qa review needed, qa completed) b. They seem to be a fast way to let us know what level of QA work is needed c. Seem particularly useful for the QA team, not as much for contributors d. Are currently used in both Whiteboard and QA Whiteboard, which does not make sense 2. Keywords (qawanted, regressionwindow-wanted, steps-wanted, verifyme.) a. Express with more granularity what kind of QA work is needed b. Seem particularly useful in maintaining individual queries, especially for Bug Investigation and Bug Verification c. Appear more intuitive for contributors At the moment, I see two plausible solutions for simplifying the use of keywords and tags: 1. Keep using both keywords and tags with the following rules: a. Only use the current 4 tags ([qa+], [qa-], [qa?], [qa!]) to express QA status of bug (qa needed, qa not needed, qa review needed, qa completed) throughout the iteration process and even outside of it b. Use the 4 tags only in the QA Whiteboard field (as tags or keywords) c. Keep using the current flow for the tags: [qa?] when QA needs to review the bug -> [qa+]/[qa-] once need for QA work is clear -> [qa!] once QA work is done and bug is verified d. Use keywords under the following circumstances: i. qawanted/qaurgent/qablocked - do NOT use them anymore since [qa+] expresses the same thing, and severity/urgency can also be expressed in a comment; "qawanted" may still be used as a generic keyword to suggest need for QA help, but this may be replaced by the use of [qa+], comments, and "need-info" ii. regressionwindow-wanted - use same as we do currently, but do NOT set an additional flag for [qa+], or qawanted keyword; when regression window is provided, QA will remove keyword (will allow QA to easily monitor bugs where regression window is requested) iii. steps-wanted - use same as we do currently, but do NOT set an additional flag for [qa+], or qawanted keyword; when steps are provided, QA will remove keyword (will allow QA to easily monitor bugs where steps are requested) iv. verifyme - use same as we do currently, but do NOT set an additional flag for [qa+], or qawanted keyword; when bug is fully verified, QA will remove keyword (will allow QA to easily monitor bugs that need verification) 2. Use only keywords, and add new keywords that express the same things as the tags themselves (but in a more intuitive manner). For example: [qa+]=qa-needed, [qa-]=qa-not-needed, [qa?]=qa-review-needed, [qa!]=qa-completed. Then the use of a keywords only system would become: a. qa-needed=qawanted/qaurgent/qablocked - used whenever qa is needed for anything (e.g. the developer wants someone to try something, or qa is needed to monitor a bug throughout the iteration phase); would basically combine the use of the [qa+] tag and qawanted keyword b. regressionwindow-wanted - use same as we do currently; when regression window is provided, QA will just remove keyword c. steps-wanted - use same as we do currently; when steps are provided, QA will just remove keyword d. verifyme - use same as we do currently; when bug is fully verified, QA will replace the keyword with qa-completed e. qa-not-needed - would work same as [qa-] currently f. qa-review-needed - would work same as [qa?] currently To me the second option seems like the simple and efficient one. and would also enable us to do what Robert was also suggesting in a previous email: "I'd prefer something where we use keywords and/or flags for the mainis something that can be verified without deep knowledge","). Feel free to comment on this, and let's find a solution. Regards, Florin Mezei. |
| Re: Desktop QA: Bugzilla tags/keywords | Robert Kaiser | 30/04/14 12:06 | Florin Mezei wrote:IMHO, status of any kind that can only be a fixed number of values is something that should be in status flags but not in a whiteboard. Whiteboard should be only for temporary stuff and freetext markers, possibly for prototyping things that go into proper flags or keywords in the long run. Also, we already represent some form of QA status with status fields or flags being "verified" or not. I think that "qa-(not-)needed" is too generic. Does that mean the probably in the bug does need to be investigated (i.e. QA is needed to do something before this can be fixed) or that the fix needs to be verified (QA needed after fixing)? That's also one reason why I'm not too happy with the [qa+]/[qa-] system in general. If we want to come up with generic bug queries that tell us what work is on the plate of QA (and what we have done recently) and put those on dashboards, then we need to differentiate at least between investigation and verification because it happens on different bug states. I meant to ask this for a while already: What exactly does this mean anyhow? I (obviously) agree on that in principle but think we should have a set that differentiates between investigation and verification, and we should make sure all variants make sense. Another non-keyword way we could do things with is to have a "qa" status flag on bugs that would get set to different values during the lifetime of a bug to indicate its QA status - but then, "verified" is already in the main status flags, and what other statuses do we actually need (i.e. is absence of a keyword saying enough as well)? KaiRo |
| Re: Desktop QA: Bugzilla tags/keywords | Clint Talbert | 02/05/14 17:26 | Between Anthony and Florin, it appears that we have the following
attributes: * qa+, qa-, qa?, qa! * regressionwindow-wanted * qawanted * steps-wanted * verifyme * qablocked * qaurgent I'd prefer we find a way that streamlines our reporting and makes it easy for folks not involved with QA to know what is going on. That way it will be helpful for contributors. I like Florin's more verbose replacements for example. However, simply having a proliferation of these things will be counterproductive too. Can we agree on what the set of states are that we need to track that solves Anthony and Robert's needs and then determine what from those states should be keyword vs qa whiteboard? Clint > a. Express the QA status of the bug (qa needed, qa not needed, qa > review needed, qa completed) > > b. They seem to be a fast way to let us know what level of QA work is > a. Only use the current 4 tags ([qa+], [qa-], [qa?], [qa!]) to express > b. Use the 4 tags only in the QA Whiteboard field (as tags or keywords) > 2. Use only keywords, and add new keywords that express the same > [qa!]=qa-completed. Then the use of a keywords only system would become:> e. qa-not-needed - would work same as [qa-] currently > > To me the second option seems like the simple and efficient one. and would |