تضمین کیفیت / مشارکت کنید
شروع کنید
تضمین کیفیت (QA) چیست؟
QA is short for Quality Assurance. QA identifies problems in our software, confirms problems reported by users and validates proposed fixes and enhancements so each new version of LibreOffice is more reliable and robust and provides our users with a satisfying tool. We do QA in different ways throughout the development of a new release.
Our first goal is to find or confirm the most embarrassing and urgent bugs and hand them over to the developers to take care of them. Therefore we are a bridge between users and developers and try to guide each bug report to its proper resolution with the goal of improving the user experience. We try to reproduce bugs, give them the right priority, find duplicates, validate proposed fixes and so on.
Quick start guide for beginners
If you are a beginner, chances are you are not looking forward to wading through an insane amount of technical documentation. You would rather want to get started immediately. Let's go.
- Download and install the latest stable LibreOffice (from the "Fresh" line).
- Download and install a recent master build of LibreOffice.
- Create an account in The Document Foundation Bugzilla, the bug tracker.
- Open this query for last month's unconfirmeds (enhancement requests are left out on purpose, some other things filtered out as well).
- Pick an interesting bug.
- Search for duplicates.
- If the bug is not a duplicate, but has a confusing description or lacks something essential, set the status to NEEDINFO.
- After trying to reproduce it with both your stable and master build, either set the status to NEW or leave it UNCONFIRMED.
These steps intentionally describe incomplete triaging, because beginners should not feel overwhelmed by all the myriad details one has to take into account when aiming for the "perfect" triage result. After a beginner gets comfortable with this simple routine, they should start moving into more complete triaging. It is not efficient to leave the completion of triaging to others.
Roadmap for personal growth in QA
Everyone has their own path when getting into LibreOffice QA. However, some people are more motivated by a clear framework of what they are expected to do. Here we present a proposal for QA career evolution:
- Do the light triaging routine described in the quick start guide for ~50 unconfirmed bugs.
with a daily master build of LibreOffice.
- Learn about the most important keywords and start using them: accessibility, bibisectRequest, dataLoss, filter:x, needUITest, perf, regression, text:x, wantBacktrace.
- Install a bunch of old versions and do regression testing for 100 unconfirmed bugs.
- Learn about priority and severity and request access to the contributors group from a Bugzilla admin.
- Learn how to get various traces and apply what you learned to reports with wantBacktrace or perf keywords (with no existing traces attached).
- Install a different operating system into a virtual machine, so you can do a wider variety of testing and tracing.
- Start critically evaluating enhancement requests while feeding them to the design team with needsUXEval keyword.
- Start doing bibisects. Do the tutorial first and move to reports with bibisectRequest keyword.
- Learn Python and start creating UI tests.
- Create Python unit tests.
- Learn C++ and create cppunit tests.
Confirm
Find unconfirmed reports
- By operating system:
- By Time:
Unconfirmed reports without comments
In order to speed up the triage of unconfirmed reports, we automatically tag them with QA:needsComment in the whiteboard if the report follows these conditions:
- Inactive for more than 2 weeks
- No comments from a third person
Try to reproduce the bug
As some bugs are operating system specific, it is always a good idea to test against the same operating system, but if that is not possible, do test it on your current operating system, as most bugs are not operating system specific.
Below you will find boilerplate comments for some common scenarios. For more suggestions on how to comment in reports and browser tools to make commenting efficient, see our Pre-Written Responses.
- If the bug can be reproduced, set the bug status to NEW and add the following comment:
Thank you for reporting the bug. I can confirm that the bug is present in
[the LibreOffice version details you tested with (can be copied from the ]
▸ dialog)
- If the bug can not be reproduced, leave the status as UNCONFIRMED and add the following comment:
Thank you for reporting the bug. I can not reproduce the bug in
[the LibreOffice version details you tested with (can be copied from the ]
▸ dialog)
- If the bug report description is too difficult to understand set the bug status to NEEDINFO and add the following comment:
Thank you for reporting the bug. Unfortunately without clear steps to reproduce it, we cannot track down the origin of the problem. Please provide a clearer set of step-by-step instructions on how to reproduce the problem. I have set the bug's status to 'NEEDINFO'. Please change it back to 'UNCONFIRMED' once the requested information is provided.
- If a document is needed in order to confirm the bug, set the status to NEEDINFO and add the following comment:
Thank you for reporting the bug. Please attach a sample document, as this makes it easier for us to verify the bug. I have set the bug's status to 'NEEDINFO'. Please change it back to 'UNCONFIRMED' once the requested document is provided. (Note that the attachment will be public, remove any sensitive information before attaching it. See <https://wiki.documentfoundation.org/QA/FAQ#How_can_I_eliminate_confidential_data_from_a_sample_document.3F> for further detail.)
Additional Steps
- In case the bug Summary is not clear enough, update it so it better explains the real/main problem being addressed and makes it easier to find duplicates.
- The Component field can also be updated to better specify which component the problem found in or originates from.
- Enhancement bug reports requesting the addition of new features need to be first evaluated by the UX team to determine whether they should be implemented or not, so simply add ‘needsUXEval’ to the Keywords field and libreoffice-ux-adviselists.freedesktop.org to the CC.
- Check if the bug is a regression.
Follow the Current development of unconfirmed bugs and see the detailed bug triage instructions for more details.
Test Daily Builds
- Download the latest daily build (make sure the Date is recent)
- Install it
- Test it. Check the Release Notes to see what's new in this release.
- If you find a bug, please report it here providing all the information available (steps to reproduce the issue, the document affected, detailed description, OS...)
Note: For help, please join #libreoffice-qa IRC:// IRC.
Test Pre-releases
- Download the lastest pre-release version
- Install it
- Test it. Check the Release Notes to see what's new in this release.
- If you find a bug, please report it here providing all the information available (steps to reproduce the issue, the document affected, detailed description, OS...)
Note: For help, please join #libreoffice-qa IRC:// IRC.
Retest
Every day we ping bugs untouched for more than a year to check whether they may have been fixed in the meantime. More information can be found in the AutomatedTasks article.
Find bugs to retest
- Bugs pinged today:
- Bugs pinged in the last week:
- Bugs pinged in the last month:
- Bugs pinged in the last three months:
- Bugs pinged in the last half a year:
Try to reproduce the bug
If the bug is present in the latest version of LibreOffice, put the following comment with the LibreOffice version details you tested with (can be copied from the
▸ dialog).This bug is still present in
[the LibreOffice version details you tested with (can be copied from the ]
▸ dialog)
If you could reproduce the bug in a previous version, but the bug is not present anymore in the latest version, change the status to RESOLVED WORKSFORME and put the following comment:
This bug is no longer reproducible in
[the LibreOffice version details you tested with (can be copied from the ]
Changing status to RESOLVED WORKSFORME
▸ dialog)
Please don't ...
- ... update the version field
- ... reply via email, instead reply directly on the bug tracker
- ... set the bug's Status field to RESOLVED - FIXED, since that status is only used when a specific commit has fixed the problem
Additional Steps
- Check if the bug is a regression
Contact
Any help is highly appreciated. You can always get in touch
- via IRC #libreoffice-qa IRC://
- via the QA mailing list