From 17a3e376c1fa372dee5aeb6c97a03c0d3c893c26 Mon Sep 17 00:00:00 2001 From: eseidel Date: Sun, 12 Feb 2006 22:07:15 +0000 Subject: [PATCH] 2006-02-12 Joost de Valk Reviewed by eseidel. Added a little piece of text to the page about reductions, pointing to the bugzilla page. Changed "Sign up for a" into "Create a" bugzilla account. * quality/reduction.html: * quality/reporting.html: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@12772 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- WebKitSite/ChangeLog | 11 ++ WebKitSite/quality/reduction.html | 181 ++++++++++++++++-------------- WebKitSite/quality/reporting.html | 2 +- 3 files changed, 110 insertions(+), 84 deletions(-) diff --git a/WebKitSite/ChangeLog b/WebKitSite/ChangeLog index d50d1f614214..12308fc98531 100644 --- a/WebKitSite/ChangeLog +++ b/WebKitSite/ChangeLog @@ -1,3 +1,14 @@ +2006-02-12 Joost de Valk + + Reviewed by eseidel. + + Added a little piece of text to the page about reductions, pointing to the bugzilla page. + + Changed "Sign up for a" into "Create a" bugzilla account. + + * quality/reduction.html: + * quality/reporting.html: + 2006-02-12 Joost de Valk Reviewed by Darin. diff --git a/WebKitSite/quality/reduction.html b/WebKitSite/quality/reduction.html index 54c3bf83629a..8fd23a040cdb 100644 --- a/WebKitSite/quality/reduction.html +++ b/WebKitSite/quality/reduction.html @@ -1,12 +1,12 @@ - + Test Case Reduction - + + @@ -14,87 +14,102 @@

Test Case Reduction

-

A general guide to test case reduction

-

-The basic idea behind bug reduction is to take a page that demonstrates a problem and -remove as much content as possible while still reproducing the original problem. -

-

Why is this needed?

-

-A reduced test case can help identify the central problem on the -page by eliminating irrelevant information, i.e., portions of the HTML -page's structure that have nothing to do with the problem. -With a reduced test case, the development team will spend -less time identifying the problem and more time determining the -solution. Also, since a site can change its content or design, the -problem may no longer occur on the real-world site. -By constructing a test case you can capture the initial problem. -

-

The first steps

-

-Really the first step in reducing a page is to identify that main -problem of the page. For example: -

    -
  • Does the page have text overlapping an image?
  • -
  • Is there a form button that fails to work?
  • -
  • Is there a portion of the page missing or misaligned?
  • -
-

-

-After you have made this determination, you need to create a local copy -of the page created from the page source window. After saving this -source, it's a good idea to put a <BASE> element in the -HEAD so that any images/external style sheet or scripts that use a -relative path will get loaded. After the BASE element has been added, -load the local copy into the browser and verify that problem is still -occurring. In this case, let's assume the problem is still present. -

-

Work from top to bottom

-

-In general, it's best to start from the top of the <DOCTYPE> and -work down through the HEAD to the BODY element. Take a look at the HTML -file in a text editor and view what types of elements are present in the -<head>. Typically, the HEAD will include the <title> -element, which is required, and elements such as <link>, -<style> and <script>. -

-

-The reduction process is to remove one element at a time, save, and reload the -test case. If you have removed the element and the page is still -displaying the problem, continue with the next element. If removing an -element in the HEAD causes the problem to not occur, you may have found -one piece in of the problem. Re-add this element back into the HEAD, -reload the page and confirm the problem is still occurring and move -on to the next element in the HEAD. -

+

A general guide to test case reduction

+

+ The basic idea behind bug reduction is to take a page that demonstrates a problem and + remove as much content as possible while still reproducing the original problem. +

+ +

Why is this needed?

+

+ A reduced test case can help identify the central problem on the + page by eliminating irrelevant information, i.e., portions of the HTML + page's structure that have nothing to do with the problem. + With a reduced test case, the development team will spend + less time identifying the problem and more time determining the + solution. Also, since a site can change its content or design, the + problem may no longer occur on the real-world site. + By constructing a test case you can capture the initial problem. +

+ +

The first steps

+

+ Really the first step in reducing a page is to identify that main + problem of the page. For example: +

    +
  • Does the page have text overlapping an image?
  • +
  • Is there a form button that fails to work?
  • +
  • Is there a portion of the page missing or misaligned?
  • +
+

+

+ After you have made this determination, you need to create a local copy + of the page created from the page source window. After saving this + source, it's a good idea to put a <BASE> element in the + HEAD so that any images/external style sheet or scripts that use a + relative path will get loaded. After the BASE element has been added, + load the local copy into the browser and verify that problem is still + occurring. In this case, let's assume the problem is still present. +

-

Finished the HEAD? Continue with the BODY!

-

-Once the HEAD element has been reduced, you need to start reducing -the number of required elements in the BODY. This will tend to be the -most time consuming since hundreds (thousands) of elements will be -present. The general practice is start removing elements by both their -<start> and </end> elements. This is especially true for -tables, which are frequently nested. You can speed up this process by -selecting groups of elements and removing them but ideally you need to -save and reload the test case each time to verify the problem is -happening. -

-

-Another way to help you identify unnecessary elements is to temporary -uncheck 'Enable Javascript' in the Preferences. If you turn this option -off and loading your test case still reproduces the problem, then any -script elements that are present can be removed since they are not a -factor in this issue. Let's say that you have reduced the page down to -a nested table with an ordered list with an <link> element that need -to be present. It's good practice to identify that CSS rule that is -being in the external file and add it directly to the test case. Create -a <style> </style> in the head and copy/paste the contents -of the .css file into this style element. Remove the <link> and -save the changes. Load the test case and verify the problem is still -occurring. Now manually delete or comment out each CSS rule until you -have just the required set of rules to reproduce. -

+

Work from top to bottom

+

+ In general, it's best to start from the top of the <DOCTYPE> and + work down through the HEAD to the BODY element. Take a look at the HTML + file in a text editor and view what types of elements are present in the + <head>. Typically, the HEAD will include the <title> + element, which is required, and elements such as <link>, + <style> and <script>. +

+

+ The reduction process is to remove one element at a time, save, and reload the + test case. If you have removed the element and the page is still + displaying the problem, continue with the next element. If removing an + element in the HEAD causes the problem to not occur, you may have found + one piece in of the problem. Re-add this element back into the HEAD, + reload the page and confirm the problem is still occurring and move + on to the next element in the HEAD. +

+ +

Finished the HEAD? Continue with the BODY!

+

+ Once the HEAD element has been reduced, you need to start reducing + the number of required elements in the BODY. This will tend to be the + most time consuming since hundreds (thousands) of elements will be + present. The general practice is start removing elements by both their + <start> and </end> elements. This is especially true for + tables, which are frequently nested. You can speed up this process by + selecting groups of elements and removing them but ideally you need to + save and reload the test case each time to verify the problem is + happening. +

+ +

Another method

+

+ Another way to help you identify unnecessary elements is to temporary + uncheck 'Enable Javascript' in the Preferences. If you turn this option + off and loading your test case still reproduces the problem, then any + script elements that are present can be removed since they are not a + factor in this issue. Let's say that you have reduced the page down to + a nested table with an ordered list with an <link> element that need + to be present. It's good practice to identify that CSS rule that is + being in the external file and add it directly to the test case. Create + a <style> </style> in the head and copy/paste the contents + of the .css file into this style element. Remove the <link> and + save the changes. Load the test case and verify the problem is still + occurring. Now manually delete or comment out each CSS rule until you + have just the required set of rules to reproduce. +

+ +

Adding to the bug

+

+ When you've finished your reduction, you should add it to the bug. It's quite likely + that in the process of reducing, you have found the root cause of the problem, so + you are able to set the right component. If you do not have the rights to change + the component, read about how to get them in this document + about Bugzilla. +

+
diff --git a/WebKitSite/quality/reporting.html b/WebKitSite/quality/reporting.html index ec7951d04e34..dc37bed64c2a 100644 --- a/WebKitSite/quality/reporting.html +++ b/WebKitSite/quality/reporting.html @@ -173,7 +173,7 @@
  • Create a Bugzilla account
    - You will need to sign up for a Bugzilla account to be able + You will need to create a Bugzilla account to be able to report bugs (and to comment on them). Once you have an account you can report bugs on any product on OpenDarwin.org. WebKit is one of the individual products listed in Bugzilla, and all of our bugs can be classified in various components under the WebKit product. If you have registered, proceed to the -- 2.36.0