品質控管/錯誤報告

    From The Document Foundation Wiki
    < QA
    This page is a translated version of the page QA/BugReport and the translation is 16% complete.
    Outdated translations are marked like this.

    很高興您能來到這裡。看來您將要為 LibreOffice 做出非常重要的貢獻。優質的 bug 報告對於開發者很重要。在這裡,您將找到一些有用的指南,遵循這些指南將會使得 bug 報告和處理的流程變得容易。

    bug報告中應該包括的內容

    下面這些信息將能幫助我們重現您的問題或者找到您的問題的症結所在,這樣您的問題將得到更早地修正:

    Bug 類別 在哪裡提交錯誤報告
    LibreOffice 擴充套件 With the extension author
    TDF/LibreOffice 基礎設施(網站、郵件列表等) Redmine
    構建(編譯)LibreOffice Developer mailing list
    LibreOffice 單元測試 Developer mailing list
    Words missing from dictionaries To the dictionary maintainer or repository
    Mistakes in translations Reporting them in Bugzilla is allowed, but it is more efficient to add them as suggestions in Weblate (does not require registration)

    在提交 bug 之前,您必須知道

    確認您想要報告的問題 "確實" 屬於軟件缺陷。很多時候,軟體錯誤(Bug)是軟件所呈現出來的行為不符合一般使用者想要看到的行為,這包括軟體沒有按照您期望的方式工作,沒有按照您操作它的方式執行,或者是在正常使用過程中軟體不正常結束。再或者,錯誤也可以讓軟體需要花費較多的時間、耗費較多的系統資源完成本該在很短時間內、耗費很少資源就能完成的工作。

    其中的一些故障可能是由於corrupted user profile導致的,或者是由於 OpenGL 或 OpenCL問題導致的,這些通常情況下都是有效的 bug。報告 bug 之前進行 OpenGL 和 OpenCL 設置方面的檢測和排除,通常是很有用的。

    在某些情況下,一些問題看起來更像是“功能改進建議”,在這種情況下我們知道軟件應該工作地更完美,儘管該項功能目前還沒有在軟件中實現。然而,您大可不必糾結某個問題到底是屬於功能改進建議還是軟件缺陷。如果某項行為干擾了您正常合理地使用軟件,那麼您完全可以將其報告為 bug.

    您應該花一些時間儘量去熟悉 LibreOffice 的基本使用方法,從而對什麼是“正常、合理”地使用軟件有一個正確的判斷。您肯定也不希望花太多時間去將某個行為報告為bug、但實際上這個行為可能只是因為您不知道如何使用某項功能。您可以閱讀https://documentation.libreoffice.org/en/english-documentation/ 用戶文檔,並頻繁使用軟件,從而熟悉軟件中的一些基本的使用方法。

    Please, compress the log before it is attached to the bug report:

    bzip2 /tmp/strace.log

    1. Take notes so you don’t forget something that was going on around the time the bug appeared. What were you doing, what did you expect to happen, and what actually happened? How did you know something was wrong? Can you reproduce the bad behavior?
    2. Check for similar, existing bug reports:
      1. Go to Components, and select the appropriate component (or subcomponent).
      2. If you selected a component: select the appropriate subcomponent, or Extended Help if you don’t see the subcomponent on that page.
      1. If you selected Extended Help: select the appropriate subcomponent, or the [1] at the bottom of the list if you did not find or do not know the appropriate subcomponent.
      2. You will see a list of bugs with that subcomponent. At the bottom of the page, select Edit Search. There, you can modify the search according to your needs.
      3. If you find a bug report that concerns your problem, you can contribute to it. If you don’t find a bug report that concerns your problem, file a new bug report.
    1. If the bug only occurs on Ubuntu or is related to printing, go to #More Information.
    2. After all that, if it does not look like there is a bug report about this issue, follow the instructions at #Submitting a bug.

    Submitting a bug

    File a separate bug report for each bug you run into, even if the symptoms from a user’s point of view seem identical. Different problems with different roots that appeared in different LibO versions might have to be fixed by different people, for different versions, and at different times. It is impossible to track that in a single bug report.

    Go to Bugzilla.

    Sign in

    Bugzilla - Main page

    If you are prompted to Log In, log in with your Bugzilla account.

    If you don't have a Bugzilla account, create one by clicking New Account.

    Component

    In Component, choose the component.

    If you are not sure what component your problem is about, choose the LibreOffice component. Someone will review the bug report later and will choose a more precise component. (For more information about triage, which is reviewing bugs to get the important onces to the top of the list, have a look at "BugTriage".)

    If it is an urgent issue (broken parts, regression, etc.), and you are an experienced user who knows the development team, you can assign the bug report to one of the developers listed on the FindTheExpert page.

    Details

    If there is a Sub-component section, select the subcomponent.

    If you don’t know the appropriate subcomponent, go to Components. On that page, click on the appropriate component. Read the descriptions of the all the subcomponents on the page of that component. If you don’t see a suitable subcomponent, click on Extended Help, and read the descriptions of the subcomponents on that page.

    Choose the version of the application in which the bug appeared. To check what version of LibreOffice you are using, select Help ▸ About LibreOffice

    In Operating system or OS, choose the operating system of the computer you were using when you met the bug.

    If there is a Hardware section, fill it in.

    If there is a Severity section and you are reporting a feature request, select enhancement. Otherwise ignore it unless you are experienced. If you want to know the definitions of the items in the Severity section, see this chart.

    You can ignore the section latest known-working version.

    Subject

    Check in possibly related Bugs table on the bug-reporting page and additionally in the Duplicates Table to see whether the problem really has not been reported yet.

    In the Subject section (also known as the Summary):

    • Do not include information already known from the fields.
    • Include the names of subcomponents from Components.
      • Make the subcomponents uppercase.
      • If the subcomponent can be confused with parts of a word (for example, UI is part of the word quit), surround the subcomponent with square brackets.
      • Use at most two subcomponents.
      • Use subcomponents exactly as they appear in the list, but you may integrate them into the subject line sentence like “WIKIHELP [UI] not available in all languages”.
    • Summarize the problem fairly precisely.
      • bad example: “File is broken”
      • better example: “Menu File > Save as not available (greyed out)”
    • Avoid short forms like “doesn’t” or “isn’t” to ease queries for strings in the Summary; instead, use the full form, such as “does not” or “is not”.
    • If the problem written in the report is that LibreOffice crashes or stops responding (“hangs”), add the word CRASH to the Summary, so that these bugs can be located and tracked easily.

    Description and attachments

    In the Long Description or Description section, give a lengthier, factual description of the problem:

    • list the steps to reproduce the bug;
    • use a numbered list; and
    • state the exact method to make something happen. For example, instead of writing “Open document”, write instead “In new empty LibO Spreadsheet document, use menu File > Open (LibO dialog) > file type “Text documents” > select attached sample document > double click”.

    If you’re using a pre-built LibreOffice on Linux, list the exact versions of LibreOffice packages in your package management system. If you’re using Windows, list the exact filename of the installer, and from where it was downloaded.

    • Including information about installed and used localization (UI language, document language) might be useful.
    • Include whether a 32-bit LibreOffice is used on a 64-bit (Linux) system.
    • Include the package source if it’s not the official LibreOffice build.

    Write the expected behavior and the actual behavior.

    You can include an attachment, such as a screenshot or a sample document. The typical way to take a screenshot is to press the "Print Screen/PrtScn" button on your keyboard. Depending on your operating system, you might have to then open an image editing application (such as Paint on Windows) and do Edit - Paste in it.

    • If you create screenshots, switch the language to English before making the screenshot. You can do so in Tools ▸ Options ▸ Language Settings ▸ Languages.
    • You can make screenshots more useful by adding comments and marking relevant areas with LibreOffice Draw.
    • If you want to attach more than one screenshot, you should collect them all in one document (copy / paste to a LibreOffice Draw document) and attach as a PDF. Please add a short comment to each screenshot to tell what you want to demonstrate with it.
    • If you attach a sample document that exhibits the bug you are reporting, please make the document as minimal as possible. For example, for Writer bugs, the document should ideally have just a single paragraph. To make it easy to find the text from your document in debug tracing, use some very easily recognizable text, like AAAAAAAAAA ₂ ZZZZZZZZZZ for a bug that is triggered by that character.
    • It is preferable to upload attachments individually. However, if you want to attach more than half a dozen documents, create a .zip file containing all documents and attach that .zip.
    • If your attachment is too big to be attached in Bugzilla (bigger than 1 MB) you can use the Experimental upload page.

    Status

    The only time you should change the status to NEW is, if someone already confirmed the bug elsewhere (Ask, mailing list, some forum). In these cases, provide a link to the discussion with the confirmation.

    Submit

    Click Submit, and your report will be added to the Bugzilla database.

    If Bugzilla seems daunting

    If the Bugzilla bug tracking system seems daunting or too hard to understand, you should post your problem here:

    Even if you post your problem on those channels, your goal should be to get a good bug report on bugzilla. These channels might help you with that. Note, that reporting problems on social media (Facebook, Twitter etc.) is not productive in general as it will rarely lead to a good bug report ending up in bugzilla (see also: 99 ways to ruin an open source project, top 5).

    After you submit a bug

    If nobody has reviewed your report within an appropriate time (24 hours for a critical bug, 14 days for an enhancement request), consider asking someone else to reproduce your bug report on the users@global.libreoffice.org mailing list or IRC channel #libreoffice IRC://.

    Adding comments to bugs

    • Avoid posting “me too” comments which contain no additionally useful information.
      The exception to this is when you comment on a bug that has been UNCONFIRMED so far. In that case, please provide reproduction steps (or confirm the ones given by the original reporter) and move the issue to status NEW. Note that if there are no clear reproduction steps, the issue might quickly move back to NEEDINFO, so finding a good and simple reproduction scenario is essential.
    • Refrain from adding comments along the line of “we have 1000 seats here and only this bug prevents us from migrating”, as it contains no additional information relevant to QA or to the priority of the issue.

    LibreOffice is open source and your help in fixing issues that are relevant to your particular situation is most welcome. You can:

    • Employ and/or teach your own developers to work on LibreOffice. We are most happy to mentor them: see the developer’s pages.
    • Fund individuals or companies to work on specific issues - see the list of certified developers.
    • Contact The Document Foundation to help you if you have only a small amount of funding, and want to collaborate, coordinate or pool your resources with others in the same situation to fund specific fixes or enhancements.

    Good Reports

    Minimum requirements

    1. OS/LibreOffice version;
    2. enumerated reproducible steps;
    3. simple attachments where appropriate; and
    4. observed/expected results.

    Good Examples

    • tdf#85004 - Writer: Crash when clicking the Reminder icon on the Navigation toolbar
    • tdf#87907 - DIALOG: Page preview in print dialog refreshes when opening print details
    • tdf#74839 - EDITING: Position of connectors connected to a group aren't updated when editing group content

    Examples of Less Good Reports

    Reports can be less than ideal for a number of reasons. Below are some of the common problems:

    Paragraphs of Text

    Describing a bug report in paragraphs of text is one of the most common problems. Developers do not have the time to read paragraphs of text. Clear, succinct, enumerated steps are always better.

    One Report, Five Bugs

    One report should only have a single bug in it. Grouping bugs, or listing a whole list of issues with a single document, is utterly unhelpful. In order to find developers to tackle issues, it is best to give them a single issue to focus on. They are unlikely to take on a bug that has multiple issues listed

    Missing Details/Steps

    All bug reports should have at minimum:

    1. your Operating System and version of LibreOffice;
    2. clear reproducible steps;
    3. expected results;
    4. observed results; and
    5. a simple attachment where appropriate.

    Adding Superfluous Information

    Adding a lot of extra details that aren’t relevant is another common problem. Examples include:

    1. “this is a blocker”;
    2. a long list of reasons why it’s a blocker;
    3. “I can’t use LibreOffice because of this bug”;
    4. “LibreOffice sucks” (or any variation of that); and
    5. I’m going to start using your competitor unless you fix it.

    Complex Attachments

    Attachments should be as simple as possible. Take the time to prune your examples to the bare minimum. This helps tremendously in diagnosing problems.

    Assuming Contributors Know Everything

    Do not assume contributors know what you’re talking about. Describe your steps clearly, each step of the way.

    More Information