How to report a bug/zh

此指引介绍了如何在维基媒体的错误追踪系统（更多信息参见）中写一个好的漏洞报告或功能请求（一个任务/Task）. 任务写得越好，越有可能会有人尽快处理问题.

提交要领

 * 精确
 * 明确：说明如何重现问题，说明步骤，以便其他人重现bug，或理解请求.
 * 每个任务中只提一个问题
 * 包含任何相关链接及示例
 * Be clear: explain 1) how to reproduce the situation, step by step, without leaving any room for interpretation, 2) expected behavior, 3) actual behavior. In separate sections
 * Include only one problem per task
 * Include any relevant links and examples

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

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

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

可能是小工具/用户脚本问题吗？
一些需要修复的问题源于一些的用户脚本和小工具的使用. 這裡有一個附有步驟的以指引你定位出代碼，這些步驟可以解決您的問題，使得你不會浪費時間進行報告.

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

检查报告是否完整，然后按下“Create Task（创建任务）”按钮. 这样错误报告就会保存到数据库. 这使得对报告感兴趣的人可以查看它并.

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

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

報告一個 JavaScript 錯誤

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

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

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

提供所有你所擁有的信息是特別重要的，因為即使是系統管理員對錯誤日誌也沒有任何存取權.

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

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

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

参见

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