Achtung, ggf. nicht aktuell - bitte erst mit englischer Version gegenchecken!
- 1 Einführung
- 2 Vorgehensweise
- 3 Gemeldete Bugs abarbeiten
- 3.1 Mustertexte für Kommentare in Bugreports
- 3.2 "Bug-Reporter" reagiert nicht auf Nachfrage
- 3.3 Additional Useful (Optional) Steps
- 4 Special Triage Notes for the QA Team
- 5 Suggested Triage Order
- 6 Nützliche Links
Diese Seite bietet Informationen über den Umgang mit Bugs im Bugzilla von LibreOffice. Weitere Details sind auch auf Fehlermeldungen für LibreOffice (Bug Reports) verfügbar.
Üblicherweise sollten folgende Schritte durchgeführt werden:
- Suche nach neuen Bugs, die firstname.lastname@example.org zugewiesen sind ("Assigned to")
- diese Bugzilla-Abfrage findet die UNCONFIRMED und REOPENED Bugs der letzten 2 Wochen.
- Suche Duplikate:
- Falls bereits ein das selbe Problem beschreibender Bug existiert, vermerke das im Kommentar und setze den Status auf "RESOLVED DUPLICATE"
- Halte dich nicht zu lange damit auf - außer der Bug betrifft eine häufige Funktionalität oder ein Warnlicht leuchet auf
- Prüfe nach, ob der Bugreport alle Informationen hat. Wenn nicht, frage nach den Informationen:
- Weise den Bug demjenigen zu, der die Info beisteuern soll und setze den Status auf "NEEDINFO".
- Versuche den Fehler entsprechend den Beschreibungen zu reproduzieren. Wenn Du nicht erfolgreich bist, gehe zurück zu Schritt 3 – frage nach mehr Infos :-)
- Wenn der Informant die fehlenden Informationen gegeben hat, sollte er den Status (bzw. Whiteboard/Keywords) wieder umstellen. Das kann auch durch die Person geschehen, die den Bug Triage durchführt, sobald die Infos alle vorhanden sind.
- Nachdem der Fehler nachvollzogen worden ist, ergänze einen entsprechenden Kommentar und setze den Status auf NEW.
- Falls es ein Fehler mit einer höheren Priorität ist (defekte Teile, Rückschritt zur letzten Version, etc.), ordne ihn einem der Entwickler zu, die auf der FindTheExpert-Seite (en) gelistet sind.
- Englisch ist günstig für die Fehlermeldung. Wenn der Fehler nicht in Englisch gemeldet wurde, ordne ihn unserem 'non-English bug description'-Experten auf der FindTheExpert-Seite (en) zu, damit wir jemanden finden, der ihn ins Englische übersetzt. Das gilt natürlich nur, wenn Du ihn nicht selber thematisch richtig übersetzen kannst.
- Wenn Du meinst, der Fehler ist ein Kandidat für einen schnellen Hack (en), ordne ihn bitte da zu. Und füge dem Whiteboard das Wort ProposedEasyHacks an. (nur Entwickler, die wissen, was sie tun, sollten direkt "EasyHack" eintragen)
- Falls du den zuständigen Entwickler kennst, kannst du ihm den Bug zuweisen, indem du ihn ins Assigned-Feld einträgst. Das Status-Feld sollte auf NEW bleiben. Sollte der Entwickler den Bug bearbeiten wollen, ändert er selbst den Status nach ASSIGNED (siehe diese Mail in der QA-Liste)
Fehler zu bestätigen ist keine allzu aufwändige Tätigkeit:
- Suche in der Liste der unbestätigten Fehler einen Bugbericht, den du verstehst. Sinnvoller Weise sollte man sich in dem betreffenden Bereich bzw. Modul (Komponente) einigermaßen auskennen.
- Versuche ihn anhand der Schrit-für-Schrit-Anleitung nachzuvollziehen.
- Hinterlasse im Bug einen Kommentar über das Ergebnis (dazu ist ein registrierter Account erforderlich)
Gemeldete Bugs abarbeiten
Mustertexte für Kommentare in Bugreports
- Please answer the questions. Otherwise this bugreport will be closed. Alternatively ask your question on a mailing list or in a forum.
- Why status "NEW"?
- Why status "NEEDINFO"?
- are you using LO 3.5 or 3.6? The last stable version is 3.6.0. Is bug still in 3.5 or 3.6?
- exists your problem still?
- Please test with the newest stable version of LibreOffice (3.6.0). Exists your problem still?
- IMHO this thread has become somewhat confusing (which should not be a negative criticism - on the contrary: I appreciate your efforts very). I would like tosuggest a summary.
1) <first question>
2) <second question>
- "Bug-Reporter" reagiert nicht auf Nachfragen:
please feel free to reopen this bug if you find out that the problem still exists with the current stable LibreOffice version and if you can contribute requested additional information due to (especially BugReport Details)!
Set status to "RESOLVED -> WORKSFORME"
- Bug-Report ist nicht genau genug formuliert:
to reproduce the bug-report following is needed:
1) List the single steps in details (e.g. "inserting or editing data in form's tables" isn´t exactly enough)
2) Attach a odb-file
3) Attach screenshot(s) what working wrong
- Entscheidung "NEEDINFO" zu "NEW" zu ändern
concerning processing bugreport the problem exists that nobody confirms the bug until today.
Should the fact/request be discussed on a mailinglist? Which ML (perhaps international discuss-ML)?
Set status "UNCONFIRMED" to "NEEDINFO".
- Nachfrage von "reporter", warum Status "UNCOMFIRMED" nicht geändert wird:
your bugreport must be confirmed. To reproduce takes much time. On average I edit 1 bug in 1 or 2 days because there are most vague informations. I will test your bugreport if I have time.
But perhaps another person has time?
"Bug-Reporter" reagiert nicht auf Nachfrage
Mit "Nachfragen" ist der Status "NEEDINFO" gemeint. Jemand anderer als der "Bug-Reporter" hat noch eine Frage an den "Bug-Reporter". Dieser antwortet jedoch nicht.
- 10 Tage abwarten, ob "Bug-Reporter" antwortet.
- Bei fehlender Antwort Status des Bug-Reports auf "RESOLVED -> WORKSFORME" setzen.
a) filed in LibreOffice product
b) have UNCONFIRMED or REOPENED status
c) add whatever other criteria you'd like to query for
Once you are there, search for a bug that you'd like to triage. Custom search for bugs can be build using the Advanced Search form or entering search terms in the Quick Search field (Bugzilla Quick Search help). You can also use the following direct links to search. Clicking on the link will bring up the Bugzilla result page:
- All Bugs that Need Triage Work. (Limited to 500 bugs, full list will take some time to load as it's quite a long list - you can help to change that!)
- All macOS Bugs that need confirmation
Step 2: Pre-filter Bug Reports
Some bugs need special attention by specific teams:
Any bugs which cover enhancements to the UI/UX of LibreOffice should be given to the UX Team
- Add keyword 'needsUXEval'
- Add this to the CC List: libreoffice-ux-adviselists.freedesktop.org
- Update the Status
- If the request looks complete and plausible, Status -> NEW
- If the request seems incomplete or needs explaining, Status -> NEEDINFO
- Leave a comment along the lines of:
UX Team -- please take a look at this enhancement. Thanks!
Some bugs don't belong in Bugzilla at all. For a list of topics that belong elsewhere, see the BugReport page.
- If one of these bugs is filed in Bugzilla, please change the Status to RESOLVED NOTOURBUG and add the following in a comment:
Thank you for getting in touch with us! Although Bugzilla sometimes feels like the center of the Universe, there are a few topics that need to be reported elsewhere. To find the right place to report your issue, please look at the BugReport wiki page: https://wiki.documentfoundation.org/QA/BugReport#Not_all_bugs_go_to_Bugzilla
Step 3: Search for Duplicates
Duplicates are reports which are very similar or identical, but reported by different users. You typically want to keep the NEW status for the report with the most valuable information and close others as RESOLVED DUPLICATE. So even though an older report exists, there is no need to keep it open, if it contains confusing or incomplete information. Closed duplicates are automatically counted by Bugzilla and available at Most Frequently Reported Bugs page. When triaging please, check that list and do a quick search through reports in Bugzilla to see if there are any duplicates of the report you are examining. You don't need to spend a lifetime on this. As you see more reports you may start spotting duplicates without having to use the search.
If you find a duplicate bug skip to step #5
Step 4: Check Information
Checking information is critical for development. What you should look for is the following:
- Clear and meaningful summary
- Clear problem description
- Steps to reproduce the problem -- if not clear from summary and/or description
- Attachments -- in many cases attachments are needed to reproduce the problem, if attachment(s) are not provided this can hinder proper fixes
If all information is not properly there, skip to step #5
Step 5: Attempt to Reproduce
If the bug "passed" the Preparation steps it's time to try to reproduce the bug.
Do just that: Go through the steps necessary and try to reproduce the bug, that simple! When you reproduce it, keep these things in mind:
- Did the bug reporter leave enough information in Bugzilla itself to reproduce the bug, or did you have to take extra steps? If extra steps were needed, add a comment to describe the extra step(s).
- Did your reproduction lead to the same result, something similar but not identical, or did everything work flawlessly?
Step 6: Set Status
This section is the last "mandatory" step of a successful triage and can only be done once steps #1–#4 are done (or #3 if #4 isn't applicable).
The STATUS of the bug is dependent on your results from the above steps. Below is a short description of the usage of each status.
- NEW: Confirmed bug, all information necessary is there
- NEEDINFO: All information needed to attempt replication is not included in the bug report. Please ask a particular person for a particular information in a comment.
- RESOLVED: This category comes with several options, if you can't replicate the bug, RESOLVED WORKSFORME is the appropriate STATUS, see HERE for more information.
- VERIFIED: This option is only available when the current bug status is RESOLVED. You can mark a RESOLVED FIXED bug as VERIFIED, when you can confirm it is fixed with the version mentioned in the bug report. It is also pleasant for the developer who fixed the issue, and is a confirmation the problem is solved now. Otherwise a bug reporter can mark their own bug that is in RESOLVED WORKSFORME state as VERIFIED WORKSFORME to verify it is somehow fixed.
- INVALID: There are many reasons why a bug can be determined to be invalid, but this usually requires input from other QA members. If you come across a bug that you believe to be invalid, best bet is to get a second opinion from the QA IRC channel or send an email out to the mailing list explaining why you believe the bug to be invalid.
- UNCONFIRMED: This is the status given to all new bugs that have not gone through triage process. Note that such bug might be also in NEEDINFO state.
ANY time you make changes you should put a comment that politely explains why you made the change
Step 7: Regression Testing
Use older versions of LibreOffice to find out whether the bug has been introduced since LibreOffice began.
Download and install a number of old versions, the oldest being LibreOffice 3.3. At a minimum you should have one version from all the main release lines (3.x, 4.x, 5.x, 6.x...).
You have to have some awareness of when various features were introduced into the software to avoid getting irrelevant test results. Please consult other team members, if you are unsure of something.
- If the bug is present in version 3.3.0, set version to "inherited from OOo" and add the following comment:
This bug is already present in Libreoffice 3.3.0 Changing version to "inherited from OOo"
- If the bug is not present in 3.3.0 add "regression" to the keywords field and add the following comment:
This bug is not present in Libreoffice 3.3.0, thus it's a regression
For regressions that are older than version 3.5.0, also add the keyword preBibisect. For newer regressions add the keyword bibisectRequest and update the version field to match the earliest known problematic version.
- SI-GUI - Simple GUI app to parallel install on Windows and Android
- Installing in parallel - Instructions on how to manually parallel install on Windows, Linux and Mac.
- https://downloadarchive.documentfoundation.org/libreoffice/old/ - Download old releases, betas, and alphas
Step 8: Prioritize Bug
We currently highlight only critical bugs by CC-ing developers and adding keywords. See below for more information.
Prioritizing a bug is relatively subjective, but the triager should always try to be consistent with how they determine a bug's prioritization. The QA team member triaging should have a clear idea of what constitutes each priority state and then try to stick with that methodology. Also, commenting on the bug after prioritizing is helpful in that it lets the bug reporter (as well as developers and other users) know what thought process you used to come up with the priority status.
To prioritize bugs above medium-normal, you need to be added to the contributors group in Bugzilla. In order to get this done, please contact one of the Bugzilla admins.
The flowchart below shows rough guidelines on how to deal with prioritization.
It is usually easier to determine the severity of an issue than try to think of a suitable priority.
Small aesthetic tweaks to the UI can be considered low priority and trivial severity.
Problems that make you angry, but you can tolerate or work around somehow can be set to minor severity.
Bugs that break some functionality and do not have a workaround are normal severity.
Crashes, hangs and freezes resulting from a specific file or command are major severity.
Additional Useful (Optional) Steps
The Keywords field holds Keywords pertaining to the categorization of this bug.
Some categories of Keywords include:
- Broken functionality in specific areas:.e.g. filter:xxx (filter:ooxml, filter:doc, filter:rtf, ...), perf
- Asked or provided debug info: e.g. bibisectRequest, bibisected
- Easy Hacks: easyHack, difficultyBeginner, skillCPP
One interesting Keyword is needsDevEval. An easyHack is a bug that will most likely not take long to fix and can be done by a new developer and/or a developer without a lot of programming skills. As QA we should NOT mark a bug as easyHack as it requires several additional steps (including finding a developer to mentor for the bug). If you think a bug qualifies as an easyhack, mark as needsDevEval.
Having a crash report (aka backtrace) for a bug makes it easy for a developer to identify what is causing the crash. If a crash report is added to a bug report, the havebacktrace keyword should be added to the Keywords field.
Look at our existing meta reports that collect reports of the same genre. If you find a good fit, add the meta report number to the Blocks field of the report you are triaging.
Comment tags act as notes that help everyone get a quick overview of the comment history and value/relevance of individual comments. Click the tag text in the header of a comment, input your tag and press enter. There is no need to save the report. You can invent new tags or use existing tags. The tag input field supports auto-completion.
Entering one of these tags make the comment hidden by default: obsolete, spam, me-too, off-topic, abusive, no-value, bibisection. You can show a hidden comment by clicking on the "Toggle comment display" widget in the comment header. You can also hide regular comments and show tagged comments by clicking on the tag name of your choosing under the "Comment Tags" list next to the bug description (comment 0). Click Expand all comments to show everything.
Checking Additional Info
As a triager we should try to check the information that was originally reported by the bug reporter. Things to check include:
Adding Developer to CC List
This step should only be done if you're sure that it is important enough to CC a developer. If you think that a bug is serious enough that it deserves extra attention but maybe not the status of MAB, then you should seek out an expert for additional input. Please try to use this with care as we don't want to inundate our expert developers with minor bug pings. To add the user simply add their name to the CC list and put a comment on the bug telling the developers why you've added them to the CC Anyway, the right names can be found in the list of experts.
Adding QA to CC List
This mostly is not used but if you feel like adding yourself or another QA member to the list might be useful, feel free to do so. Again, please make sure to add a comment if you're adding someone else to the list, otherwise they might get irritated at not knowing what's going on.
Most Annoying Bugs
Really critical bugs should be highlighted as Most Annoying Bugs (MABs). Please, think twice here as we need to keep the list on a reasonable level.
If a bug seems to be especially hard, affects a substantial amount of users and would be considered a MAB, the bug is a candidate for a hard hack. This list can be found here:
Special Triage Notes for the QA Team
Here are some notes for Advanced Triagers on the QA/Team. If you're new, don't worry about any of this!
Bug reports that are difficult to triage or close
Sometimes we need special software or hardware to reproduce a bug or we face some other difficulty that prevents us from investigating. For these cases we have:
The collection uses the MediaWiki Bugzilla extension, which pulls data from meta reports and various other queries.
It is best to get the creator of the extension involved in triaging. The responsibility for contacting the creator is on the bug reporter.
Suggested Triage Order
The tables below represent a suggested order to approach triaging. The goal of QA is to confirm the worst bugs first.
Table By Platform (OS)
|Bugs Reported as Blocker||BlockerAll||BlockerWindows||BlockerLinux||BlockermacOS||We no longer use the Severity 'blocker', so please indicate if a bug is incorrectly marked such (see the Severity field docs).|
|Bugs Reporting Crashes||CrasherAll||CrasherWindows||CrasherLinux||CrashermacOS||These are bugs that have "crash" or some similar word in the title of the bug. For crashers the severity should be set to Major/Critical depending on how many users will be affected. Also, QA should look at if the crash is a regression or not and add "regression" to keywords if the bug is determined to be a regression.|
|Potential Regressions||possibleRegressionAll||possibleRegresionWindows||possibleRegressionLinux||possibleRegressionmacOS||These bugs are marked as possibleRegression which is an automatic status given in BSA if a user reporting a bug said that in a particular version the bug was not present. If the bug is a regression, the Keyword "possibleRegression" should be removed and "regression" should be added to the keywords.|
|Keyword Regression||RegressionAll||RegressionWindows||RegressionLinux||RegressionmacOS||The reporter of the bug or someone else has put regression in the keyword. Equally important as the row above but Bugzilla does not allow an "or" search so had to split into two rows.|
|Bugs Reported as Critical||CriticalAll||CriticalWindows||CriticalLinux||CriticalmacOS||Users can currently set the severity of their own bugs, if the bug is incorrectly marked as critical please change the severity and explain to the user why the bug is not critical. Critical is reserved for very serious bugs (such as data loss which will affect many userse). For guidance see PriorityFlowChart|
|Bugs Reported as Major||MajorAll||MajorWindows||MajorLinux||MajormacOS||Users can currently set the severity of their own bugs, if the bug is incorrectly marked as major please change the severity and explain to the user why the bug is not a major bug. Major is reserved for very serious bugs (such as data loss) but which will likely not affect many users or are only happening in corner cases with individual documents. For guidance see PriorityFlowChart.|
|All Bugs||AllBugs||AllWindows||AllLinux||AllmacOS||List of all bug reports (no enhancements). If the above bugs are tackled first then the ones remaining will be of slightly lower priority to confirm. Suggestion is to do these in chronological order (oldest first so that users who reported the longest time ago get priority).|
|Enhancement Requests||EnhancementAll||EnhancementWindows||EnhancementLinux||EnhancementmacOS||Enhancement requests are the lowest priority to confirm as valid requests.|
Table By Component
|Bugs Reported as Blocker||WriterBlocker||SpreadsheetBlocker||ImpressBlocker||DrawBlocker||DatabaseBlocker||OtherBlocker||We no longer use the Severity 'blocker', so please indicate if a bug is incorrectly marked such (see the Severity field docs).|
|Bugs Reported as Crashers||WriterCrasher||SpreadsheetCrasher||PresentationCrasher||DrawingCrasher||DatabaseCrasher||OtherCrashers||I a bug is incorrectly marked as critical please change the severity and explain why the bug is not critical. 'Critical' severity is reserved for only the most serious bugs (such as inability to install LibreOffice). For guidance see PriorityFlowChart|
|Potential Regressions||WriterPosReg||SpreadsheetPosReg||PresentationPosReg||DrawingPosReg||DatabasePosReg||OtherPosReg||These bugs are marked as possibleRegression which is an automatic status given in BSA if a user reporting a bug said that in a particular version the bug was not present. If the bug is a regression, the Keyword "possibleRegression" should be removed and "regression" should be added.|
|Keyword Regression||WriterRegression||SpreadsheetRegression||PresentationRegression||DrawingRegression||DatabaseRegression||OtherRegressions||The reporter of the bug or someone else has put regression in the keyword. Equally important as the row above but Bugzilla does not allow an "or" search so had to split into two rows.|
|Bugs Reported as Critical||WriterCritical||SpreadsheetCritical||PresentationCritical||DrawingCritical||DatabaseCritical||OtherCritical||PriorityFlowChart]].|
|Bugs Reported as Major||WriterMajor||SpreadsheetMajor||PresentationMajor||DrawingMajor||DatabaseMajor||OtherMajor||PriorityFlowChart]].|
|All Other Bugs||WriterOther||SpreadsheetOther||PresentationOther||DrawingOther||DatabaseOther||AllOther||These are all bugs marked as anything below Major but not including Enhancements.|
|Enhancement Requests||WriterEnhance||SpreadsheetEnhance||PresentationEnhance||DrawingEnhance||DatabaseEnhance||OtherEnhance||Enhancement Requests|
Die Experten finden kann man unter FindTheExpert (en)