QA/BugTriage/id

Pengantar
Dokumen ini memberikan informasi tentang cara melakukan triage kutu untuk LibreOffice. Triaging adalah nama yang diberikan untuk mengonfirmasi, memprioritaskan, dan mengatur laporan kutu dan merupakan tempat yang baik untuk kontributor baru dan atau kontributor dengan kemampuan pemrograman terbatas untuk membantu LibreOffice menjadi produk yang lebih baik untuk semua orang. Triaging adalah aspek pengembangan yang sangat penting yang bermanfaat bagi pengguna dan pengembang.

Di Mana Menemukan Anggota Penjamin Kualitas lainnya
Ada beberapa tempat di mana Anda dapat menemukan/menghubungi anggota dari tim PK, banyak di antaranya dapat membantu dengan pertanyaan triase dan secara aktif melakukan triase mandiri.


 * 1) Milis
 * 2) *libreoffice-qa@lists.freedesktop.org
 * 3) *libreoffice@lists.freedesktop.org
 * 4) Kanal IRC pada Libera Chat
 * 5) Anggota PK Berikut adalah daftar anggota PK (jangan ragu untuk menambahkan nama Anda sendiri jika Anda bermaksud berkontribusi ke PK). Jika pengguna telah memberi Anda izin untuk menghubungi mereka secara langsung, jangan ragu untuk melakukannya. Anda juga akan menemukan mereka sering nongkrong di ruang obrolan.
 * 6) *  Daftar Anggota PK
 * 1) Anggota PK Berikut adalah daftar anggota PK (jangan ragu untuk menambahkan nama Anda sendiri jika Anda bermaksud berkontribusi ke PK). Jika pengguna telah memberi Anda izin untuk menghubungi mereka secara langsung, jangan ragu untuk melakukannya. Anda juga akan menemukan mereka sering nongkrong di ruang obrolan.
 * 2) *  Daftar Anggota PK

Langkah-langkah untuk Melakukan Triase Kutu
Bagian ini mencantumkan langkah-langkah yang diperlukan untuk melakukan triase dengan benar. Panduan ini ditujukan agar seringkas mungkin, tautan di beberapa bagian akan memberikan lebih banyak informasi yang relevan dengan langkah tertentu. Proses triase pada dasarnya dapat dipecah menjadi tiga bagian, yang pertama adalah "persiapan" yang kedua adalah "mereproduksi" yang ketiga adalah "penentuan prioritas".

Rangkuman Langkah

 * 1) Temukan Kutu untuk Di-triase
 * 2) Pra-filter Laporan Kutu
 * 3) Cari Duplikat Kutu
 * 4) Periksa Informasi yang Disediakan dalam Laporan Kutu
 * 5) Berusaha Mereproduksi Kutu
 * 6) Atur Status Kutu
 * 7) Prioritaskan Kutu
 * 8) Beri tahu Pengembang - Diperlukan hanya dalam kasus yang sangat spesifik jika kutu tampaknya merupakan Pemblokir/Kritis.

Persiapan
Secara umum, Anda selalu akan melakukan langkah-langkah berikut dalam mempersiapkan triase bug. Ingatlah bahwa Anda dapat mengerjakan bug hanya ketika masuk (harap buat akun jika Anda belum memilikinya). Dan setelah Anda memiliki akun, ada baiknya membuka preferensi Anda dan mengatur 'Automatically add me to the CC list of bugs I change' menjadi 'Only if I have no role on them' jika Anda ingin diberi tahu setiap kali seseorang menjawab salah satu laporan kutu yang Anda komentari.

Step 1: Find Bugs to Triage
a) Bugzilla Search

Navigate to LibreOffice's bug tracker system available at bugs.documentfoundation.org. After logging in, browse open issues by component or do a custom search for bugs that are:

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:


 * Bugs reported in previous 2 weeks
 * Bugs reported in previous 1 month
 * 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:

UX Enhancements
Any bugs which cover enhancements to the UI/UX of LibreOffice should be given to the UX Team

UX Team -- please take a look at this enhancement. Thanks!
 * 1) Add keyword 'needsUXEval'
 * 2) Add this to the CC List:
 * 3) Update the Status
 * 4) * If the request looks complete and plausible, Status -> NEW
 * 5) * If the request seems incomplete or needs explaining, Status -> NEEDINFO
 * 6) Leave a comment along the lines of:

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:


 * 1) Clear and meaningful summary
 * 2) Clear problem description
 * 3) Steps to reproduce the problem -- if not clear from summary and/or description
 * 4) Attachments -- in many cases attachments are needed to reproduce the problem, if attachment(s) are not provided this can hinder proper fixes
 * 5) If the report refers to external data (screenshots, documents, screencasts, etc.), copy and attach them to the bug, so they don't vanish later and eventually render it unreproducible.

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:
 * 1) 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).
 * 2) 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.
 * 1) NEW: Confirmed bug, all information necessary is there
 * 2) 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.
 * 3) 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.
 * 4) 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.
 * 5) 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.
 * 6) 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

Flowcharts below are examples of how to visually think of setting STATUS. Feel free to edit and upload your own version if you'd like.

[[Media:Unconfirmed Bugs Status Flowchart Version 0.1.pdf|PDF file]]

[[Media:Unconfirmed Bugs Status Flowchart.odg|LibreOffice Draw file]]

Langkah 7: Pengujian Regresi
Gunakan versi LibreOffice yang lebih lama untuk mengetahui apakah kutu telah diperkenalkan sejak LibreOffice dimulai.

Unduh dan pasang sejumlah versi lama, yang terlama LibreOffice 3.3. Minimal Anda harus memiliki satu versi dari semua lini rilis utama (3.x, 4.x, 5.x, 6.x ...).

Anda harus memiliki kesadaran ketika berbagai fitur diperkenalkan ke dalam perangkat lunak untuk menghindari hasil pengujian yang tidak sesuai. Silakan berkonsultasi dengan anggota tim lain, jika Anda tidak yakin tentang sesuatu.


 * Jika kutu ada pada versi 3.3.0, setel versi ke "inherited from OOo" dan tambahkan komentar berikut:

This bug is already present in Libreoffice 3.3.0 Changing version to "inherited from OOo"


 * Jika kutu tidak ada di 3.3.0, tambahkan "regression" ke bidang Keywords dan tambahkan komentar berikut:

This bug is not present in Libreoffice 3.3.0, thus it's a regression Untuk regresi yang lebih lama dari versi 3.5.0, tambahkan juga kata kunci preBibisect. Untuk regresi yang lebih baru, tambahkan kata kunci bibisectRequest dan perbarui bidang version agar cocok dengan versi bermasalah paling awal yang diketahui.


 * SI-GUI - Aplikasi GUI sederhana untuk pemasangan secara paralel di Windows dan Android
 * Memasang secara paralel - Petunjuk tentang cara memasang paralel secara manual di Windows, Linux dan Mac.
 * https://downloadarchive.documentfoundation.org/libreoffice/old/ - Unduh rilis lama, beta, dan alfa

Langkah 8: Memprioritaskan Kutu
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.

Example 1 JPG

Example 1 Draw

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.

Keywords
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.

Crash reports
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.


 * QA/BugReport/Debug Information
 * How to get a backtrace with WinDbg

Meta reports
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
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, noise. 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:
 * Product
 * Version
 * Platform

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 does not belong in the category of Most Annoying Bugs, 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.

Interoperability testing
If the requirement for testing is opening or saving a file with Microsoft Office and you don't have access to the software, you might make use of Office Web Viewer. It works with Word, Excel, PowerPoint and ODF documents. You need to upload the document somewhere and then add the URL to the end of this link:

https://view.officeapps.live.com/op/view.aspx?src=

You can then click the button in the top menu and finally  to get access to a PDF rendering of the document. This will both allow you to see how the document looks like in the latest version of Microsoft Office and share the PDF in Bugzilla.

Bugzilla attachment links work with the viewer.

To conveniently use the live viewer in Firefox
https://view.officeapps.live.com/op/view.aspx?src=%s
 * Add a new bookmark
 * Set some Name
 * Set the URL to:
 * Set a Keyword, such as lv, press OK.
 * Now you can use the bookmarks keyword plus a bugdoc URL in the URL bar to open the bugdoc in the Office live viewer:

lv https://bugs.documentfoundation.org/attachment.cgi?id=180059

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.
 * A collection of UNCONFIRMED bugs that QA team members are having a hard time with.

Extensions
It is best to get the creator of the extension involved in triaging. The responsibility for contacting the creator is on the bug reporter.

Also read:
 * QA/BugReport/Extensions

Locale-related controversy
Sometimes we are faced with hot topics related to locales. There might be a situation where a national standard for something differs from the actual practice. In these cases, it can be useful to direct the issue reporter to the Unicode Common Locale Data Repository and their survey tool.

Suggested Triage Order
The tables below represent a suggested order to approach triaging. The goal of QA is to confirm the worst bugs first.