bug-writing.html.tmpl 5.37 KB
Newer Older
1 2 3
[%# This Source Code Form is subject to the terms of the Mozilla Public
  # License, v. 2.0. If a copy of the MPL was not distributed with this
  # file, You can obtain one at http://mozilla.org/MPL/2.0/.
4
  #
5 6
  # This Source Code Form is "Incompatible With Secondary Licenses", as
  # defined by the Mozilla Public License, v. 2.0.
7 8
  #%]

9 10
[% INCLUDE global/header.html.tmpl title = "$terms.Bug Writing Guidelines" %]

11 12
  <p>Effective [% terms.bug %] reports are the most likely to be fixed. 
  These guidelines explain how to write such reports.
13

14
<h3>Principles</h3>
15 16

  <ul>
17 18 19 20 21 22
    <li>Be precise</li>
    <li>Be clear - explain it so others can reproduce the [% terms.bug %]</li>
    <li>One [% terms.bug %] per report</li>
    <li>No [% terms.bug %] is too trivial to report - 
    small [% terms.bugs %] may hide big [% terms.bugs %]</li>
    <li>Clearly separate fact from speculation</li>
23
  </ul>
24

25
<h3>Preliminaries</h3>
26

27
<ol>
28 29 30 31 32 33 34
  <li>Reproduce your [% terms.bug %] using a recent build of the
  software, to see whether it has already been fixed.
  </li>

  <li><a href="query.cgi?format=specific">Search</a> 
  [% terms.Bugzilla %], to see whether your [% terms.bug %] has
  already been reported.</li>
35
</ol>
36

37
<h3>Reporting a New [% terms.Bug %]</h3>
38

39 40
<p>If you have reproduced the [% terms.bug %] in a recent build and 
no-one else appears to have reported it, then:</p>
41

42
<ol>
43 44 45 46
 <li>Choose 
 "<a href="enter_bug.cgi">Enter a new [% terms.bug %]</a>"</li>
 <li>Select the product in which you've found the [% terms.bug %]</li>
 <li>Fill out the form. Here is some help understanding it:</li>
47
</ol>
48 49

  <blockquote>
50
    <p><b>Component:</b> In which sub-part of the software does it 
51
          exist?<br>
52 53 54
    This field is required.
    Click the word "Component" to see a description of each 
    component. If none seems appropriate, look for a "General" component.</p>
55

56
    <p><b>[% field_descs.op_sys FILTER html %]:</b> On which operating system (OS) did you find 
57 58
          it?
    (e.g. Linux, Windows XP, Mac OS X.)<br>
59
    If you know the [% terms.bug %] happens on more than one type of 
60
    operating system, choose <em>[% display_value("op_sys", "All") FILTER html %]</em>. 
61 62
    If your [% field_descs.op_sys FILTER html %] isn't listed, choose 
    <em>[% display_value("op_sys", "Other") FILTER html %]</em>.</p>
63

64 65
    <p><b>Summary:</b> How would you describe the [% terms.bug %], in 
    approximately 60 or fewer characters?<br>
66
     A good summary should <b>quickly and uniquely identify [% terms.abug %]
67 68 69 70 71 72 73 74 75 76
    report</b>. It should explain the problem, not your suggested solution.<br>
    <ul>
     <li>Good: "<tt>Cancelling a File Copy dialog crashes 
     File Manager</tt>"</li>
     <li>Bad: "<tt>Software crashes</tt>"</li>
     <li>Bad: "<tt>Browser should work with my web site</tt>"</li>
    </ul>
    
    <b>Description:</b>
    The details of your problem report, including:</p>
77 78

    <blockquote>
79
      <p><b>Overview:</b> More detailed restatement of
80 81 82 83
      summary.</p>

      <blockquote>
<pre>
84
Drag-selecting any page crashes Mac builds in the NSGetFactory function.
85 86 87 88 89 90 91 92
</pre>
      </blockquote>

      <p><b>Steps to Reproduce:</b> Minimized, easy-to-follow steps that
      will trigger the [% terms.bug %]. Include any special setup steps.</p>

      <blockquote>
<pre>
93 94
1) View any web page. (I used the default sample page, 
resource:/res/samples/test0.html)
95 96 97 98

2) Drag-select the page. (Specifically, while holding down 
the mouse button, drag the mouse pointer downwards from any 
point in the browser's content region to the bottom of the 
99
browser's content region.)
100 101 102 103 104 105 106 107
</pre>
      </blockquote>

      <p><b>Actual Results:</b> What the application did after performing
      the above steps.</p>

      <blockquote>
<pre>
108
The application crashed.
109 110 111 112 113 114 115 116 117 118 119 120 121
</pre>
      </blockquote>

      <p><b>Expected Results:</b> What the application should have done,
      were the [% terms.bug %] not present.</p>

      <blockquote>
<pre>
The window should scroll downwards. Scrolled content should be selected. 
(Or, at least, the application should not crash.)
</pre>
      </blockquote>

122 123
      <p><b>Build Date &amp; [% field_descs.rep_platform FILTER html %]:</b>
      Date and [% field_descs.rep_platform FILTER lower FILTER html %] of the build
124
      in which you first encountered the [% terms.bug %].</p>
125 126 127

      <blockquote>
<pre>
128
Build 2006-08-10 on Mac OS 10.4.3
129 130 131 132 133 134 135 136 137
</pre>
      </blockquote>

      <p><b>Additional Builds and Platforms:</b> Whether or not 
      the [% terms.bug %] takes place on other platforms (or browsers, 
      if applicable).</p>

      <blockquote>
<pre>
138
Doesn't Occur On Build 2006-08-10 on Windows XP Home (Service Pack 2)
139 140 141
</pre>
      </blockquote>

142 143
      <p><b>Additional Information:</b> Any other useful information.
      <br><br>For crashing [% terms.bugs %]:</p>
144 145

      <ul>
146 147 148
        <li><b>Windows:</b> Note the type of the crash, and the module that the
        application crashed in (e.g. access violation in apprunner.exe).</li>

149 150 151 152
        <li><b>Mac OS X:</b> Attach the "Crash Reporter" log that appears
        upon crash.
        Only include the section directly below the crashing thread, usually 
        titled "Thread 0 Crashed". Please do not paste the entire log!</li>
153 154 155
      </ul>
    </blockquote>

156 157
  <p>Double-check your report for errors and omissions, then press "Commit".
  Your [% terms.bug %] report will now be in 
158 159 160 161 162
  the [% terms.Bugzilla %] database.<br>
  </p>
</blockquote>

[% INCLUDE global/footer.html.tmpl %]