如何提交程序漏洞

This page is a translated version of the page How to report a bug and the translation is 100% complete.
Phabricator用于软件错误报告、功能请求和工作规划。
  • 有关维基媒体项目的技术性问题,参见m:Tech
  • 有关非WMF之MediaWiki站点的技术性问题,参见Project:Support desk

此指引介绍了如何在维基媒体的错误追踪系统(更多信息参见Phabricator )中写一个好的漏洞报告或功能请求(一个任务/Task)。任务写得越好,越有可能会有人尽快处理问题。 任务需要用英语写。如果您不会英语,可以使用机器翻译,比如Google翻译(中国大陆用户可通过此处使用Google翻译)。

提交要领

  • 精确
  • 明确:请分章节的说明(1)如何一步一步的复现這個狀況、不留任何想像的餘地(2)预期的行为(3)实际的行为。
  • 每个任务中只包含一个特定的bug或特定的功能要求
  • 包含任何相关链接及示例

在您做任何事之前

您可以重现此问题吗?

尝试在最新版软件中重现你的bug,检查它是否已经被修复了。如果這個bug是在像维基百科一樣的wiki之中,您可以在test2.wikipedia.org 中测试最新版的軟體。

有人已提報此问题了吗?

使用维基媒体的错误追踪系统的搜索框查看您的bug是否已被提报,或者您要请求的新功能是否已经有人请求。您也可以在高级搜索页面执行更多高级搜索。

如果您不确定是否有人报告了bug,您也应该报告它。出现一个重复的bug总比一個没人报告的bug來得好。

可能是小工具/用户脚本问题吗?

一些问题源于一些的用户脚本和小工具的使用,這些都需要修复一下。 這裡有一個附有步驟的指引 讓你辯識出這樣的代碼,這些步驟說不定可以解決您的問題,這樣你就不需浪費時間去提報了。

是缓存问题吗?

有些问题与缓存的较旧的HTML与较新的JavaScript同时提供有关,这两者是不兼容的。为帮助确定这是否是问题的原因,请清除缓存,刷新页面并查看问题是否仍然存在,然后将此信息加入到错误报告中。

提报新的bug或功能请求

如果您在最新版中发现了没有提报过的bug,那么:

  1. 前往phabricator.wikimedia.org
  2. 如果您还没有登录(或注册),您可能需要登录(或者注册)您的账号(参见“创建您的账户 ”)。
  3. 单击右上角的书签按钮,然后选择“Report a Software Bug”(或“Report a Security Issue”到报告安全问题 )。
  4. 至少填写下列内容:
    • 标题:一句话解释问题(而不是您建议的解决方法)。
      • 好的标题: "Selecting gender is not functional on Special:Preferences"
      • 不好的标题: "Software crashes"
    • 描述:问题的完整说明,应尽可能详细。 如果您提供的信息不够详细,您将被要求补充更多信息(同时会指导您如何获取这些信息)。 这个字段应包括:
      • 对于bugs:
        • 重现步骤:能重现所述问题的最简且方便参照的步骤。需包含所有特殊设置步骤。
          示例:
          1. Go to https://en.wikipedia.org with Internet Explorer version 10.0;
          2. Make sure you are logged in;
          3. Select "My Preferences" menu;
          4. Go to "Gender" and select female gender from box list;
          5. Click "Save" button.
        • 实际结果:在进行上述步骤后,软件出现的问题。
          示例:
          "There is no female gender in front of my username."
        • 期望结果:程序正常时应实现的效果。
          例子:
          "My gender is shown in front of my username."
      • 对于功能请求:
        • 描述您想要实现的目标,以及原因。 解释您希望该功能将解决的问题(实际的潜在问题)以及具体示例; 但不要求特定的解决方案,因为可能有其他/更好的解决方案。 一个用户故事是传达这一点的有效方式。
          例子:
          "As a new editor, I would like to be acknowledged for my contribution to the project, so that I feel welcomed and valued"
      • 也请您提供任何其他可能有用的信息,例如:
        • 网页浏览器、皮肤或者您发现了漏洞的计算机系统;
        • 到您遇到错误的一个或多个页面的链接或对比页;
        • 该问题的出现是每次、偶尔、仅在某些页面或仅在特殊条件下。
    • 如需附上日志文件或者屏幕截图 (但请您确保上传的文件不包括任何机密信息),點擊「Description」欄位工具列中的「Upload File」按鈕(帶有雲朵和箭頭)。
    • 选择您发现错误的标签(项目):
      • 項目是用來讓開發人員找到需要處理的工作。為了確定合適的項目,使用在右上方的搜索功能來找到其描述。
      • 例如:MediaWiki-General用于wiki软件自身,或Wikimedia-Site-Requests用于维基媒体网站上的配置更改(参见Selecting projects )。
    • 订阅者:如果您知道有用户对这则任务感兴趣,并乐意相关收到通知,您可以添加她们。 否则,请忽略它。

检查报告是否完整,然后按下“Create Task(创建任务)”按钮。您的报告将保存至数据库。 这使得对报告感兴趣的人可以查看它并可能会对其进行操作

如果开发者有计划完成这项任务,她们会对其设置优先级(参见设置优先级)。

感谢您协助提升MediaWiki软件以及维基媒体项目!

報告 JavaScript 錯誤

參見: Help:定位损坏脚本

很多的功能,如插件、用户脚本以及其他MediaWiki上的部分依赖于JavaScript

当您遭遇一个可能与JavaScript有关的错误时,尽您最大努力去确认错误消息,并将其复制在错误报告中。

提供所有您所擁有的信息至关重要,因為即使是系統管理員也无法访问錯誤日誌。

如果问题存在于用户脚本或小工具本身的代码中,那么Phabricator可能不是处理相关问题的地方。[1]如果确认了出问题的脚本,有人会将您引导至相关脚本的讨论页。

报告连接问题

如果您访问维基媒体网站时存在困难(如网络连接缓慢等),请参照本页

报告登录问题

如果您在登录您的账户时存在问题,请查阅手册:如何调试/登录问题

备注

参见