How to report a bug/zh

此指引介绍了如何在维基媒体的错误追踪系统（更多信息参见）中写一个好的漏洞报告或功能请求（一个认为）. 任务写得越好，越有可能有人工作在上面.

提交要领

 * 精确
 * 明确：说明如何重现问题，说明步骤，以便其他人重现bug，或理解请求.
 * 每个任务中只提一个问题
 * 包含任何相关链接及示例

您可以重现此问题吗？
在软件的最新版中尝试重现问题，检查它是否已经被修复了. 如果是在维基百科中的一个bug你可以在最新版的test2.wikipedia.org中试试看.

有人已提交了此问题吗？
使用维基媒体的错误追踪系统的搜索框查看您的bug是否已被提报. 您也可以在高级搜索页面执行更多高级搜索.

如果您不确定是否有人报告了bug，您应该报告bug. 出现一个重复的bug总比没人报告bug更好.

Have you tried fixing the issue yourself?
Some problems are a consequence of using user scripts and gadgets which need some fixes. There is with steps how you can identify such code, which could fix your issue so that you do not waste your time reporting it.

报告新bug或功能请求
如果您在最新版中发现了没有提报过的bug，那么：
 * 1) 前往phabricator.wikimedia.org并点击左侧边栏的“Tasks & bugs”.
 * 2) 选择右上角的“Create task（创建任务）”.
 * 3) 您可能需要登录（或者注册）您的账号（参见“”）.
 * 4) 至少填写下列内容：
 * 5) * 标题：一句话解释问题（而不是您建议的解决方法）.
 * 6) ** 好的：
 * 7) ** 差的：
 * 8) * 分配给：您應忽略此字段：开发人员将会在他们计划工作于这个任务时设置它.
 * 9) * 描述：问题的完整说明，应尽可能详细. 可以包含：
 * 10) ** 对于bugs：
 * 11) *** 重现步骤：能重现所述问题的最简且方便参照的步骤. 需包含所有特殊设置步骤.
 * 例子：
 * 1) *** 实际结果：执行上述步骤后程序出现了什么情况.
 * 例子：
 * 1) ***期望结果：程序正常时应实现的效果.
 * 例子：
 * 1) ** 对于功能请求：
 * 2) *** 描述您的目标以及为什么设定该目标. 用户故事是一个传达的有效途径.
 * 例子：
 * 1) **也请您提供任何其他可能有用的信息，例如：
 * 2) ***网页浏览器、皮肤或者您发现了漏洞的计算机系统；
 * 3) ***到您遇到错误的一个或多个页面的链接或比较页；
 * 4) ***该问题的出现是每次、偶尔、仅在某些页面或仅在特殊条件下.
 * 5) *附件：您可以附上日志文件或者 （但请您确保上传的文件不包括任何机密信息）.
 * 6) * 选择您发现错误的标签（项目）：
 * 7) **開發人員找工作是為條目去努力. 為了確定合適的項目，使用在右上方的搜索功能來找到其描述.
 * 8) **例如：用于wiki软件自身，或用于维基媒体网站上的配置更改（参见“”）.
 * 9) * 订阅者：你應忽略这条提示：假如你知道某些特定用户，并且这些用户在你提出漏洞后会很乐意得到通知. Otherwise, ignore this field.
 * 1) ***网页浏览器、皮肤或者您发现了漏洞的计算机系统；
 * 2) ***到您遇到错误的一个或多个页面的链接或比较页；
 * 3) ***该问题的出现是每次、偶尔、仅在某些页面或仅在特殊条件下.
 * 4) *附件：您可以附上日志文件或者 （但请您确保上传的文件不包括任何机密信息）.
 * 5) * 选择您发现错误的标签（项目）：
 * 6) **開發人員找工作是為條目去努力. 為了確定合適的項目，使用在右上方的搜索功能來找到其描述.
 * 7) **例如：用于wiki软件自身，或用于维基媒体网站上的配置更改（参见“”）.
 * 8) * 订阅者：你應忽略这条提示：假如你知道某些特定用户，并且这些用户在你提出漏洞后会很乐意得到通知. Otherwise, ignore this field.

检查报告是否完整，然后按下“Create Task（创建任务）”按钮. 这样错误报告会保存到数据库，别人很快就会看到.

任务的优先级是取决于那些开发者是否有计划去处理漏洞（参见设置优先级）.

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

報告一個 JavaScript 錯誤

 * 参见Help:定位损坏的脚本

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

提供所有你所擁有的信息是特別重要的，因為即使是系統管理員對錯誤日誌也沒有任何存取權. 如果您不确定您使用的一项功能是否基于JavaScript，尝试禁用Javascript.

在報告中包含截圖總是有幫助的. 它最簡單的方法來判断你在談論的是哪些功能，而且往往能提供信息來縮小誤差. 小心隱藏你不想分享的知訊，像其他打開了的瀏覽器選項或最小化聊天窗口.

如果问题存在于用户脚本或小工具本身的代码中，那么Phabricator可能不是将处理相关问题的地方. 有些脚本或小工具会将您重定向到脚本讨论页（如果识别出什么问题脚本的话）.

报告连接问题
如果您打开维基媒体网站时完全存在困难（包括网络连接缓慢等），请参照Reporting a connectivity issue.

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

参见

 * 如何有效的报告 bug 作者 Simon Tatham
 * 怎样让开发者社群解决您的问题，作者User:MSchottlender-WMF，2017年7月
 * Phabricator 礼节
 * 缺陷管理/缺陷管理生命周期
 * 撰写一个有效的权限报告或功能诉求
 * 如何创建一个有效的缺陷报告 (过期)
 * 英语维基百科：错误报告和功能请求