yepyepyepyep

JavaScript performance comparison

Test case created

Preparation code

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

    <noscript>
      <div class='noscript'>
        <h2>You do not have javascript enabled</h2>
        <p>
          Codebase will not function correctly unless it is enabled. If you do not know how
          to enable javascript please check <a href="http://www.google.com/search?q=enable+javascript">Google</a>.
        </p>
      </div>
    </noscript>
    <div id='header'>
  <div id='notifications-dropdown'><ul class='notifications'>
  <li class='unread'>
    <div class='avatar'><img alt="32" class="gravatar" height="16" src="http://gravatar.com/avatar.php?gravatar_id=a69d1bf6a03f0b1b21b319f266c90dde&amp;rating=PG&amp;size=32&amp;d=https://assets.codebasehq.com/assets/icons/default_gravatars/32.png" width="16" /></div>
    <div class='details'>
      <div class='description'>
        <span class='unread' title='Click to mark this notification as read'></span>
        <a href="/notifications/eee5b4f2-a3a1-d150-081c-d153eaa55983">Adam Cooke added a post to discussion The Six Stages of Bug Finding</a>
        <div class='timestamp'><span title='Mon, 29 Apr 2013 12:37:11 +0100' class='timestamp past'>today at 12:37</span></div>
      </div>
    </div>
  </li>
  <li class='unread'>
    <div class='avatar'><img alt="32" class="gravatar" height="16" src="http://gravatar.com/avatar.php?gravatar_id=a69d1bf6a03f0b1b21b319f266c90dde&amp;rating=PG&amp;size=32&amp;d=https://assets.codebasehq.com/assets/icons/default_gravatars/32.png" width="16" /></div>
    <div class='details'>
      <div class='description'>
        <span class='unread' title='Click to mark this notification as read'></span>
        <a href="/notifications/146cc3be-6e87-38e9-92ca-b4b87e503804">Adam Cooke added a post to discussion The Six Stages of Bug Finding</a>
        <div class='timestamp'><span title='Mon, 29 Apr 2013 12:34:40 +0100' class='timestamp past'>today at 12:34</span></div>
      </div>
    </div>
  </li>
  <li class='unread'>
    <div class='avatar'><img alt="32" class="gravatar" height="16" src="http://gravatar.com/avatar.php?gravatar_id=a69d1bf6a03f0b1b21b319f266c90dde&amp;rating=PG&amp;size=32&amp;d=https://assets.codebasehq.com/assets/icons/default_gravatars/32.png" width="16" /></div>
    <div class='details'>
      <div class='description'>
        <span class='unread' title='Click to mark this notification as read'></span>
        <a href="/notifications/84697069-01b5-5bca-de6d-29ecb69a532a">Adam Cooke added a post to discussion The Six Stages of Bug Finding</a>
        <div class='timestamp'><span title='Mon, 29 Apr 2013 12:12:32 +0100' class='timestamp past'>today at 12:12</span></div>
      </div>
    </div>
  </li>
  <li class='unread'>
    <div class='avatar'><img alt="32" class="gravatar" height="16" src="http://gravatar.com/avatar.php?gravatar_id=a69d1bf6a03f0b1b21b319f266c90dde&amp;rating=PG&amp;size=32&amp;d=https://assets.codebasehq.com/assets/icons/default_gravatars/32.png" width="16" /></div>
    <div class='details'>
      <div class='description'>
        <span class='unread' title='Click to mark this notification as read'></span>
        <a href="/notifications/acdc568f-df1e-026a-13fb-20cc70fe8da0">Adam Cooke added a post to discussion The Six Stages of Bug Finding</a>
        <div class='timestamp'><span title='Mon, 29 Apr 2013 12:12:17 +0100' class='timestamp past'>today at 12:12</span></div>
      </div>
    </div>
  </li>
  <li class='view-all'>
    <a href="/notifications">+ 45 other unread notifications</a>
    <div class='settings'><a href="/notifications/watching" class="icon-only icon-settings-bold"></a></div>
  </li>
</ul></div>
  <div class='bar'>
    <p class='left'>
      <a href="/" class="home">aTech Media</a>
      <a href="/projects/list" accesskey="P" class="project-selector">Browse Projects</a>
    </p>
    <ul class='right'>
      <li class='notifications unread'>
        <a href="/notifications">49</a>
      </li>
      <li class='user'>
        <a href="/settings/profile">Adam Cooke</a>
      </li>
      <li class='settings'>
        <a href="#">Settings</a>
        <ul>
          <li><a href="/settings/profile">My Profile</a></li>
          <li class='split'><a href="/settings/password">Change My Password</a></li>
          <li class='h'>Users & Roles</li>
         <li><a href="/settings/users">User Management</a></li>
         <li><a href="/settings/roles">Role Management</a></li>
         <li class='h'>Account Settings</li>
         <li><a href="/settings/account">Access and Domains</a></li>
         <li><a href="/settings/branding">Branding</a></li>
         <li><a href="/settings/defaults">Project Defaults</a></li>
         <li><a href="/settings/usage">Resource Usage</a></li>
         <li><a href="/settings/export">Export Account Data</a></li>
         <li class='h'>Billing</li>
         <li><a href="/billing/dashboard">Billing Centre</a></li>
         <li><a href="/billing/package">Upgrade/Downgrade</a></li>
         <li><a href="/billing/payment">Pre-pay your subscription</a></li>
       </ul>
     </li>
     <li><a href="/logout">Logout</a></li>
     <li class='search'>
       <a href="/search">Search</a>
       <div class='searchbox' id='searchbox'>
         <form accept-charset="UTF-8" action="/search" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /></div>
          <dl>
            <dt>
              <label for='q'>Search</label>
            </dt>
            <dd>
              <input autocomplete="off" autosave="com.atechmedia.codebase" class="search focus" id="search-query" name="q" placeholder="search your whole account..." results="6" type="search" />
            </dd>
          </dl>
</form>
          <div class='results'></div>
        </div>
      </li>
      <li class='help'><a href="/support">Help &amp; Support</a></li>
    </ul>
  </div>
  <div class='main'>
    <h1><a href="/projects/project-awesome/overview">Project Awesome</a></h1>
    <ul class='tabs'>
  <li class='tab overview'><a href="/projects/project-awesome/overview" class="">Overview</a></li>
  <li class='tab repositories'>
    <a href="/projects/project-awesome/repositories" class=""><span>Repos</span></a>
    <ul>
      <li class='new'><a href="/projects/project-awesome/repositories/new" class="icon icon-add">New Repository</a></li>
      <li class='h'>Browse Repositories</li>
      <li class='repo'>
        <a href='/projects/project-awesome/repositories/a-repository-with-a-long-namea-repository-with-a-long-namea-repository-with-a-long-namea-repository-with-a-long-namea-repository-with-a-long-name'>
          <b class='git'>git</b>
          a repository with a long namea repository with a long namea repository with a long namea repository with a long namea repository with a long name
        </a>
      </li>
      <li class='repo'>
        <a href='/projects/project-awesome/repositories/codebase-v3'>
          <b class='git'>git</b>
          Codebase (v3)
        </a>
      </li>
      <li class='repo'>
        <a href='/projects/project-awesome/repositories/codebase-v4'>
          <b class='git'>git</b>
          Codebase (v4)
        </a>
      </li>
      <li class='repo'>
        <a href='/projects/project-awesome/repositories/codebase-modern'>
          <b class='git'>git</b>
          Codebase modern
        </a>
      </li>
      <li class='repo'>
        <a href='/projects/project-awesome/repositories/empty-git-repo'>
          <b class='git'>git</b>
          Empty Git Repo
        </a>
      </li>
      <li class='repo'>
        <a href='/projects/project-awesome/repositories/feusd-import'>
          <b class='git'>git</b>
          Feusd import
        </a>
      </li>
      <li class='repo'>
        <a href='/projects/project-awesome/repositories/image-test'>
          <b class='git'>git</b>
          Image test
        </a>
      </li>
    </ul>
  </li>
  <li class='tab tickets'>
    <a href="/projects/project-awesome/tickets?report=all" class=""><span>Tickets</span></a>
    <ul>
      <li class='new'><a href="/projects/project-awesome/tickets/new" class="icon icon-add">New Ticket</a></li>
      <li class='milestones'><a href="/projects/project-awesome/milestones" class="icon icon-milestone">Milestones</a></li>
      <li class='calendar'><a href="/projects/project-awesome/calendar" class="icon icon-calendar">Project Calendar</a></li>
      <li class='h'>Browse Tickets</li>
      <li class='all-tickets'><a href="/projects/project-awesome/tickets?report=all">All Tickets</a></li>
      <li class='incoming'><a href="/projects/project-awesome/tickets/incoming">Incoming Tickets</a></li>
      <li class='assigned-tickets'><a href="/projects/project-awesome/tickets?report=assigned">My Assigned Tickets</a></li>
      <li class='reported-tickets'><a href="/projects/project-awesome/tickets?report=reported">My Reported Tickets</a></li>
      <li class='open-tickets'><a href="/projects/project-awesome/tickets?report=open">Open Tickets</a></li>
      <li class='closed-tickets'><a href="/projects/project-awesome/tickets?report=closed">Closed Tickets</a></li>
    </ul>
  </li>
  <li class='tab exceptions'><a href="/projects/project-awesome/exceptions" class="">Exceptions</a></li>
  <li class='tab discussions'><a href="/projects/project-awesome/discussions" class="active">Discussions</a></li>
  <li class='tab files'><a href="/projects/project-awesome/files" class="">Files</a></li>
  <li class='tab notebook'><a href="/projects/project-awesome/notebook" class="">Notebook</a></li>
  <li class='tab time'>
    <a href="/projects/project-awesome/time_sessions" class=""><span>Time</span></a>
    <ul>
      <li class='new'><a href="/projects/project-awesome/time_sessions/new" class="icon icon-add">Record Time</a></li>
      <li class='h'>Browse Time Entries</li>
      <li class='all-sessions'><a href="/projects/project-awesome/time_sessions">All Sessions</a></li>
      <li class='unbilled-sessions'><a href="/projects/project-awesome/time_sessions?report=unbilled">Unbilled Sessions</a></li>
      <li class='billed-sessions'><a href="/projects/project-awesome/time_sessions?report=billed">Billed Sessions</a></li>
    </ul>
  </li>
</ul>
  </div>
</div>
    <div id='sub-header'>
      <div class='buttons'>
        <a href="/projects/project-awesome/discussions" class="page-button"><span style='background-image:url(/assets/icons/back.png)' class='i back'>Back to discussions</span></a>
      </div>
      <ul class='breadcrumb'>
        <li><a href="/">Dashboard</a></li>
        <li><a href="/projects/project-awesome">Project Awesome</a></li>
        <li><a href="/projects/project-awesome/discussions">Discussions</a></li>
        <li><a href="/projects/project-awesome/discussions?category=20d7d0cb56">Code</a></li>
        <li>The Six Stages of Bug Finding</li>
      </ul>
      <h2>The Six Stages of Bug Finding</h2>
    </div>
    <div id='content'>
      <div class='left'>
       
       
        <form action='/projects/project-awesome/tickets' id='quick-ticket' method='post'>
          <p>
            <input class="subject" id="tickets_ticket_subject" name="tickets_ticket[subject]" placeholder="enter ticket subject" type="text" value="" />
            <span class='select assignee'>
                  <select id="tickets_ticket_assignee_id" name="tickets_ticket[assignee_id]"><option value=''>unassigned</option><option value="2">Charlie S</option>
                  <option value="4">Dan W</option>
                  <option value="3">Jack R</option>
                  <option value="1" selected="selected">Adam C</option></select>
                </span>
            <span class='select type'>
                  <select id="tickets_ticket_ticket_type_id" name="tickets_ticket[ticket_type_id]"><option value="55">Bug</option>
                  <option value="56">Enhancement</option>
                  <option value="57">Feature</option>
                  <option value="58">Task</option></select>
                </span>
            <input id="tickets_ticket_milestone_id" name="tickets_ticket[milestone_id]" type="hidden" />
            <input name="commit" type="submit" value="Add" />
            <img alt="Loading..." class="spinner" src="/assets/spinners/spinner.gif" />
          </p>
        </form>
        <ul class='actions'>
  <li>
    <a href="/projects/project-awesome/discussions/the-six-stages-of-bug-finding" class="mono-button icon-only icon-remove" data-confirm="Are you sure you want to delete this discussion?" data-method="delete" rel="nofollow" title="Delete discussion"></a>
  </li>
  <li>
    <a href="/projects/project-awesome/discussions/the-six-stages-of-bug-finding/close" class="mono-button icon-only icon-lock" data-method="post" rel="nofollow" title="Close discussion"></a>
  </li>
  <li>
    <a href="#category" class="mono-button icon-only icon-move dropdown" rel="button-popout" title="Change discussion category"></a>
    <div class='button-popout' id='category'>
      <h4>Change discussion category</h4>
      <p>
        You can move this discussion into a different discussion category.
        Just select your new category from the list below.
      </p>
      <form accept-charset="UTF-8" action="/projects/project-awesome/discussions/the-six-stages-of-bug-finding/change_category" id="edit_discussion_category" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="a3I4dIBc1ER0VI16Wxq/NC0jPAJp0hIFfFavGy74ET4=" /></div>
      <div class='categories'>
        <select id="discussion_category_id" name="discussion[category_id]"><option value="35" selected="selected">Code</option>
<option value="36">Copywriting</option>
<option value="37">Design</option>
<option value="38">General</option>
<option value="39">Miscellaneous</option>
<option value="40">Planning</option></select>
        <input name="commit" type="submit" value="Move" />
      </div>
</form>
    </div>
  </li>
  <li>
    <a href="#watchers" class="mono-button icon icon-watcher dropdown" rel="button-popout">Notifications</a>
    <div class='button-popout' id='watchers'>
      <form accept-charset="UTF-8" action="/projects/project-awesome/discussions/the-six-stages-of-bug-finding/watch" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="a3I4dIBc1ER0VI16Wxq/NC0jPAJp0hIFfFavGy74ET4=" /></div>
  <ul class='delivery'>
    <li class='action'>
      Notify me when
      someone posts to this discussion
      via...
    </li>
  <li class='by by_web parent_watch' rel='by_web'>
  <div class='title'>
    <div class='status'></div>
    Notification Centre
  </div>
  <div class='desc'>
    If ticked you will be notified within the Codebase interface.
  </div>
</li>
  <li class='by by_email parent_silent' rel='by_email'>
    <div class='title'>
      <div class='status'></div>
      Receive E-mails
    </div>
    <div class='desc'>
      If ticked you will be sent a message to adam@atechmedia.com
    </div>
  </li>
  <li class='by by_noti parent_silent' rel='by_noti'>
    <div class='title'>
      <div class='status'></div>
      Desktop Notifications
    </div>
    <div class='desc'>
      If ticked a notification will be sent to your desktop with Noti.
    </div>
  </li>
</ul>
</form>
    </div>
  </li>
</ul>
<p class='info'>
  6 posts
  <span class='author'>
    by
    3 users
  </span>
</p>
<ul class='posts'>
  <li class='post'>
  <img alt="64" class="gravatar" height="32" src="http://gravatar.com/avatar.php?gravatar_id=59344c920975477174ac632c4d99be0b&amp;rating=PG&amp;size=64&amp;d=https://assets.codebasehq.com/assets/icons/default_gravatars/64.png" width="32" />
  <div class='box'>
    <div class='author'>
      <div class='tools'>
        <a href="#" class="edit icon-only icon-edit"></a>
      </div>
      <a href='/users/64ab394d-4c12-8009-d845-676e336dd218'>Dan Wentworth</a>
      posted
      <span class='time'><span title='Fri, 05 Apr 2013 16:25:39 +0100' class='timestamp past'>on 05 Apr at 16:25</span></span>
      (edited <span class='time'><span title='Mon, 15 Apr 2013 15:52:30 +0100' class='timestamp past'>on 15 Apr at 15:52</span></span>)
    </div>
    <div class='inner'>
      <div class='content message'>
        <div class="afm"><p>We have examined earlier the fundamental laws of bug finding. You will probably know the fundamental stages of bug finding. The 6 basic stages of debugging are well-known among programmers and can be found in various blog posts. During debugging, developers and programmers go through a cycle of emotional states::</p>
        <ol>
        <li>DENIAL. That can’t happen.
        </li><li>FRUSTRATION. That doesn’t happen on my machine.
        </li><li>DISBELIEF. That shouldn’t happen.
        </li><li>TESTING. Why does that happen?
        </li><li>GOTCHA. Oh, I see.
        </li><li>RELIEF. How did that ever work?
        </li></ol>
        <p>First (1) we have a stage of denial and surprise: you say that the bug isn’t possible, that it can’t happen, because you have not observed it before. You are surprised. The reason is (2) that is doesn’t happen on your machine or on your computer. You can not reproduce it instantly, and you have not seen this bug before. You get frustrated and sometimes a bit angry. Therefore you think that (3) it shouldn’t happen. Yet someone – unfortunately often a customer or a user – insists that it does. So you (4) ask why it is happening, and why it can happen. The only way to solve this problem is to find out what really happens. You start to examine logs and to debug the program, until you are able to find and to reproduce the bug. If you’ll do this long and hard enough then (5) you see the reason for the bug, and are able to remove it. You are trying to reproduce the bug again to see if it is fixed. Finally (6) you ask yourself how it ever work before. The longer you seek a bug and the longer the phases (1)-(4), the larger the relief in the end. .</p></div>
      </div>
      <div class='edit input'>
        <form accept-charset="UTF-8" action="/projects/project-awesome/discussions/the-six-stages-of-bug-finding/post/1" class="edit_discussion_post" id="edit_discussion_post_1" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="a3I4dIBc1ER0VI16Wxq/NC0jPAJp0hIFfFavGy74ET4=" /></div>        <textarea cols="40" id="discussion_post_content" name="discussion_post[content]" rows="20">
We have examined earlier the fundamental laws of bug finding. You will probably know the fundamental stages of bug finding. The 6 basic stages of debugging are well-known among programmers and can be found in various blog posts. During debugging, developers and programmers go through a cycle of emotional states::&#x000A;&#x000A; 1. DENIAL. That can’t happen.&#x000A; 1. FRUSTRATION. That doesn’t happen on my machine.&#x000A; 1. DISBELIEF. That shouldn’t happen.&#x000A; 1. TESTING. Why does that happen?&#x000A; 1. GOTCHA. Oh, I see.&#x000A; 1. RELIEF. How did that ever work?&#x000A;&#x000A;First (1) we have a stage of denial and surprise: you say that the bug isn’t possible, that it can’t happen, because you have not observed it before. You are surprised. The reason is (2) that is doesn’t happen on your machine or on your computer. You can not reproduce it instantly, and you have not seen this bug before. You get frustrated and sometimes a bit angry. Therefore you think that (3) it shouldn’t happen. Yet someone – unfortunately often a customer or a user – insists that it does. So you (4) ask why it is happening, and why it can happen. The only way to solve this problem is to find out what really happens. You start to examine logs and to debug the program, until you are able to find and to reproduce the bug. If you’ll do this long and hard enough then (5) you see the reason for the bug, and are able to remove it. You are trying to reproduce the bug again to see if it is fixed. Finally (6) you ask yourself how it ever work before. The longer you seek a bug and the longer the phases (1)-(4), the larger the relief in the end. .</textarea>
        <p class='submit'>
          <input name="commit" type="submit" value="Save" />
          <span class='loading'><img alt="Spinner" src="/assets/spinners/spinner.gif" /></span>
        </p>
</form>
      </div>
     
    </div>
  </div>
</li>
  <li class='post'>
  <img alt="64" class="gravatar" height="32" src="http://gravatar.com/avatar.php?gravatar_id=c31c54cbe04ce8430db6406dbead441b&amp;rating=PG&amp;size=64&amp;d=https://assets.codebasehq.com/assets/icons/default_gravatars/64.png" width="32" />
  <div class='box'>
    <div class='author'>
      <div class='tools'>
        <a href="#" class="edit icon-only icon-edit"></a>
      </div>
      <a href='/users/b1e3c935-60ba-3b33-c1ac-64dc82f9e118'>Charlie Smurthwaite</a>
      posted
      <span class='time'><span title='Fri, 05 Apr 2013 16:25:39 +0100' class='timestamp past'>on 05 Apr at 16:25</span></span>
      (edited <span class='time'><span title='Mon, 15 Apr 2013 15:52:34 +0100' class='timestamp past'>on 15 Apr at 15:52</span></span>)
    </div>
    <div class='inner'>
      <div class='content message'><div class="afm"><p>That is so true!!</p></div></div>
      <div class='edit input'>
        <form accept-charset="UTF-8" action="/projects/project-awesome/discussions/the-six-stages-of-bug-finding/post/2" class="edit_discussion_post" id="edit_discussion_post_2" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="a3I4dIBc1ER0VI16Wxq/NC0jPAJp0hIFfFavGy74ET4=" /></div>        <textarea cols="40" id="discussion_post_content" name="discussion_post[content]" rows="20">
That is so true!!</textarea>
        <p class='submit'>
          <input name="commit" type="submit" value="Save" />
          <span class='loading'><img alt="Spinner" src="/assets/spinners/spinner.gif" /></span>
        </p>
</form>
      </div>
     
    </div>
  </div>
</li>
  <li class='post'>
  <img alt="64" class="gravatar" height="32" src="http://gravatar.com/avatar.php?gravatar_id=a69d1bf6a03f0b1b21b319f266c90dde&amp;rating=PG&amp;size=64&amp;d=https://assets.codebasehq.com/assets/icons/default_gravatars/64.png" width="32" />
  <div class='box'>
    <div class='author'>
      <div class='tools'>
        <a href="#" class="edit icon-only icon-edit"></a>
      </div>
      <a href='/users/698dd9c1-9184-2416-1943-6002fd8660ff'>Adam Cooke</a>
      posted
      <span class='time'><span title='Mon, 29 Apr 2013 12:12:09 +0100' class='timestamp past'>today at 12:12</span></span>
    </div>
    <div class='inner'>
      <div class='content message'><div class="afm"><p><a href="http://google.com">enter link description here</a></p></div></div>
      <div class='edit input'>
        <form accept-charset="UTF-8" action="/projects/project-awesome/discussions/the-six-stages-of-bug-finding/post/5" class="edit_discussion_post" id="edit_discussion_post_5" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="a3I4dIBc1ER0VI16Wxq/NC0jPAJp0hIFfFavGy74ET4=" /></div>        <textarea cols="40" id="discussion_post_content" name="discussion_post[content]" rows="20">
[enter link description here][1]&#x000A;&#x000A;&#x000A;  [1]: http://google.com</textarea>
        <p class='submit'>
          <input name="commit" type="submit" value="Save" />
          <span class='loading'><img alt="Spinner" src="/assets/spinners/spinner.gif" /></span>
        </p>
</form>
      </div>
     
    </div>
  </div>
</li>
  <li class='post'>
  <img alt="64" class="gravatar" height="32" src="http://gravatar.com/avatar.php?gravatar_id=a69d1bf6a03f0b1b21b319f266c90dde&amp;rating=PG&amp;size=64&amp;d=https://assets.codebasehq.com/assets/icons/default_gravatars/64.png" width="32" />
  <div class='box'>
    <div class='author'>
      <div class='tools'>
        <a href="#" class="edit icon-only icon-edit"></a>
      </div>
      <a href='/users/698dd9c1-9184-2416-1943-6002fd8660ff'>Adam Cooke</a>
      posted
      <span class='time'><span title='Mon, 29 Apr 2013 12:12:25 +0100' class='timestamp past'>today at 12:12</span></span>
    </div>
    <div class='inner'>
      <div class='content message'><div class="afm"><p><a class="quick-link branch" href="/projects/project-awesome/repositories/codebase-v4/tree/devel" rel="codebase-internal">codebase-v4/devel</a></p></div></div>
      <div class='edit input'>
        <form accept-charset="UTF-8" action="/projects/project-awesome/discussions/the-six-stages-of-bug-finding/post/6" class="edit_discussion_post" id="edit_discussion_post_6" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="a3I4dIBc1ER0VI16Wxq/NC0jPAJp0hIFfFavGy74ET4=" /></div>        <textarea cols="40" id="discussion_post_content" name="discussion_post[content]" rows="20">
{branch:codebase-v4/devel}</textarea>
        <p class='submit'>
          <input name="commit" type="submit" value="Save" />
          <span class='loading'><img alt="Spinner" src="/assets/spinners/spinner.gif" /></span>
        </p>
</form>
      </div>
     
    </div>
  </div>
</li>
  <li class='post'>
  <img alt="64" class="gravatar" height="32" src="http://gravatar.com/avatar.php?gravatar_id=a69d1bf6a03f0b1b21b319f266c90dde&amp;rating=PG&amp;size=64&amp;d=https://assets.codebasehq.com/assets/icons/default_gravatars/64.png" width="32" />
  <div class='box'>
    <div class='author'>
      <div class='tools'>
        <a href="#" class="edit icon-only icon-edit"></a>
      </div>
      <a href='/users/698dd9c1-9184-2416-1943-6002fd8660ff'>Adam Cooke</a>
      posted
      <span class='time'><span title='Mon, 29 Apr 2013 12:34:38 +0100' class='timestamp past'>today at 12:34</span></span>
    </div>
    <div class='inner'>
      <div class='content message'><div class="afm"><p><a href="http://atechmedia.com">enter link description here</a></p></div></div>
      <div class='edit input'>
        <form accept-charset="UTF-8" action="/projects/project-awesome/discussions/the-six-stages-of-bug-finding/post/7" class="edit_discussion_post" id="edit_discussion_post_7" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="a3I4dIBc1ER0VI16Wxq/NC0jPAJp0hIFfFavGy74ET4=" /></div>        <textarea cols="40" id="discussion_post_content" name="discussion_post[content]" rows="20">
[enter link description here][1]&#x000A;&#x000A;&#x000A;  [1]: http://atechmedia.com</textarea>
        <p class='submit'>
          <input name="commit" type="submit" value="Save" />
          <span class='loading'><img alt="Spinner" src="/assets/spinners/spinner.gif" /></span>
        </p>
</form>
      </div>
     
    </div>
  </div>
</li>
  <li class='post'>
  <img alt="64" class="gravatar" height="32" src="http://gravatar.com/avatar.php?gravatar_id=a69d1bf6a03f0b1b21b319f266c90dde&amp;rating=PG&amp;size=64&amp;d=https://assets.codebasehq.com/assets/icons/default_gravatars/64.png" width="32" />
  <div class='box'>
    <div class='author'>
      <div class='tools'>
        <a href="#" class="edit icon-only icon-edit"></a>
      </div>
      <a href='/users/698dd9c1-9184-2416-1943-6002fd8660ff'>Adam Cooke</a>
      posted
      <span class='time'><span title='Mon, 29 Apr 2013 12:37:06 +0100' class='timestamp past'>today at 12:37</span></span>
    </div>
    <div class='inner'>
      <div class='content message'><div class="afm"><p><a href="http://bbc.co.uk">enter link description here</a></p></div></div>
      <div class='edit input'>
        <form accept-charset="UTF-8" action="/projects/project-awesome/discussions/the-six-stages-of-bug-finding/post/8" class="edit_discussion_post" id="edit_discussion_post_8" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="a3I4dIBc1ER0VI16Wxq/NC0jPAJp0hIFfFavGy74ET4=" /></div>        <textarea cols="40" id="discussion_post_content" name="discussion_post[content]" rows="20">
[enter link description here][1]&#x000A;&#x000A;&#x000A;  [1]: http://bbc.co.uk</textarea>
        <p class='submit'>
          <input name="commit" type="submit" value="Save" />
          <span class='loading'><img alt="Spinner" src="/assets/spinners/spinner.gif" /></span>
        </p>
</form>
      </div>
     
    </div>
  </div>
</li>
</ul>
<div class='new-reply'>
  <img alt="64" class="gravatar" height="32" src="http://gravatar.com/avatar.php?gravatar_id=a69d1bf6a03f0b1b21b319f266c90dde&amp;rating=PG&amp;size=64&amp;d=https://assets.codebasehq.com/assets/icons/default_gravatars/64.png" width="32" />
  <div class='update'>
    <form accept-charset="UTF-8" action="/projects/project-awesome/discussions/the-six-stages-of-bug-finding" class="new_discussion_post" enctype="multipart/form-data" id="new_discussion_post" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="a3I4dIBc1ER0VI16Wxq/NC0jPAJp0hIFfFavGy74ET4=" /></div>    
    <textarea cols="40" id="discussion_post_content" name="discussion_post[content]" placeholder="Enter text here to contribute to the discussion" rows="20">
</textarea>
    <div id='tab-zone'>
      <ul class='tabs'>
        <li><a href="#" class="attachment active" rel="attachment"><b class='icon icon-attachment'>Attachments</b></a></li>
        <li><a href="#" class="watcher" rel="watcher"><b class='icon icon-watcher'>Watchers</b></a></li>
      </ul>
      <ul class='areas'>
        <li class='tab attachment'>
          <p>
            If you wish to attach files to this discussion then just drag and drop them anywhere on the
            new discussion form.
          </p>
          <div id="file-upload"><input id="fallback-upload" name="discussion_post[attachment_file]" type="file" /><input class="upload-token" id="discussion_post_attachment_upload_token_" name="discussion_post[attachment_upload_token][]" type="hidden" /><ul class="files"></ul></div>
        </li>
        <li class='tab watcher'>
          <div class="watchers"><div class='inner'><h4>Notify other users?</h4><p>Select which users from the list below who should watch this discussion and be notified by email when it&#x27;s created and any updates posted.</p><ul><li title=''><input checked="checked" class="2" id="discussion_watcher_identifiers_b1e3c935-60ba-3b33-c1ac-64dc82f9e118" name="discussion[watcher_identifiers][discussion_update][]" type="checkbox" value="b1e3c935-60ba-3b33-c1ac-64dc82f9e118" /> <label for='discussion_watcher_identifiers_b1e3c935-60ba-3b33-c1ac-64dc82f9e118'>Charlie Smurthwaite</label><li title=''><input checked="checked" class="4" id="discussion_watcher_identifiers_64ab394d-4c12-8009-d845-676e336dd218" name="discussion[watcher_identifiers][discussion_update][]" type="checkbox" value="64ab394d-4c12-8009-d845-676e336dd218" /> <label for='discussion_watcher_identifiers_64ab394d-4c12-8009-d845-676e336dd218'>Dan Wentworth</label><li title=''><input class="3" id="discussion_watcher_identifiers_674ba6c2-0759-98a8-a70e-e1de10a77b82" name="discussion[watcher_identifiers][discussion_update][]" type="checkbox" value="674ba6c2-0759-98a8-a70e-e1de10a77b82" /> <label for='discussion_watcher_identifiers_674ba6c2-0759-98a8-a70e-e1de10a77b82'>Jack Regnart</label><li title=''><input checked="checked" class="1" id="discussion_watcher_identifiers_698dd9c1-9184-2416-1943-6002fd8660ff" name="discussion[watcher_identifiers][discussion_update][]" type="checkbox" value="698dd9c1-9184-2416-1943-6002fd8660ff" /> <label for='discussion_watcher_identifiers_698dd9c1-9184-2416-1943-6002fd8660ff'>Adam Cooke</label><input type='hidden' name='discussion[watcher_identifiers][discussion_update][]' value=''/></ul></div></div>
        </li>
      </ul>
    </div>
    <p class='submit'>
      <span class='private-selection'>
        <input name="discussion_post[private]" type="hidden" value="0" /><input id="discussion_post_private" name="discussion_post[private]" type="checkbox" value="1" />
        <label for="discussion_post_private">Check this box to post this comment privately (only your company can see it)</label>
      </span>
      <input class="button green" name="commit" type="submit" value="Post Reply" />
    </p>
</form>
  </div>
</div>
      </div>
    </div>
    <div id='footer'>
  <p>Powered by <b>Codebase</b> - the software project management tool</p>
  <ul>
    <li><a href="http://blog.atechmedia.com/category/services/codebase/">Blog</a></li>
    <li><a href="http://twitter.com/codebase">Twitter</a></li>
    <li><a href="https://community.atechmedia.com/" target="_blank">Community</a></li>
    <li><a href="http://status.atechmedia.com">Service Status</a></li>
    <li><a href="http://www.codebasehq.com/terms">Terms &amp; Conditions</a></li>
    <li><a href="http://www.codebasehq.com/privacy">Privacy Policy</a></li>
  </ul>
  <ul class='god-bar'>
  </ul>
  <script src='http://identity.dev/javascripts/remote.js' type='text/javascript'></script>
          <script>
                //<![CDATA[
                        var atechIdentity = new AtechIdentity();
                        atechIdentity.host = 'http://identity.dev';
                        atechIdentity.userKey = '71abcc5c-9e7f-0ad1-0baa-5f2c961a7b89';
                        atechIdentity.applicationKey = 'baca5303-1082-6656-5a6e-7fddc52d8e1e';
                        atechIdentity.expiry = 1367241018;
                        atechIdentity.authHash = '63646fe16d0581d31f17acfd82eb2935159fd107';
                        atechIdentity.getRemoteUserData();
                //]]>
          </script>
</div>
    <div id='keyboard_shortcuts'>
          <h2>Keyboard shortcuts</h2>
          <p>Use the keyboard shortcuts shown below to help optimise your navigation.</p>
          <h3>From anywhere</h3>
          <ul>
            <li>
              <span class='keyboard-letter'>d</span>
              Go to main dashboard
            </li>
            <li>
              <span class='keyboard-letter'>p</span>
              Open project selector
            </li>
          </ul>
          <h3>From within a project</h3>
          <ul>
            <li>
              <span class='keyboard-letter'>n</span>
              Open quick ticket form (on overview page)
            </li>
            <li>
              <span class='keyboard-letter'>shift</span>
              +
              <span class='keyboard-letter'>n</span>
              Open the new ticket page
            </li>
            <li>
              <span class='keyboard-letter'>shift</span>
              +
              <span class='keyboard-letter'>a</span>
              Open the all tickets page
            </li>
            <li>
              <span class='keyboard-letter'>shift</span>
              +
              <span class='keyboard-letter'>m</span>
              Open the my assigned tickets page
            </li>
          </ul>
          <h3>From within a repository</h3>
          <ul>
            <li>
              <span class='keyboard-letter'>t</span>
              Open the quick file search
            </li>
          </ul>
        </div>
    <!--- Codebase Version: 4.1/5cd8bc, served by Dans-iMac.local -->

 
<script>
Benchmark.prototype.setup = function() {
    $content = $('#content');
    $links = $content.find('a');
};
</script>

Preparation code output

The Six Stages of Bug Finding

Loading...

  • Change discussion category

    You can move this discussion into a different discussion category. Just select your new category from the list below.

  • Notifications
    • Notify me when someone posts to this discussion via...
    • Notification Centre
      If ticked you will be notified within the Codebase interface.
    • Receive E-mails
      If ticked you will be sent a message to adam@atechmedia.com
    • Desktop Notifications
      If ticked a notification will be sent to your desktop with Noti.

6 posts by 3 users

  • 64
    Dan Wentworth posted on 05 Apr at 16:25 (edited on 15 Apr at 15:52)

    We have examined earlier the fundamental laws of bug finding. You will probably know the fundamental stages of bug finding. The 6 basic stages of debugging are well-known among programmers and can be found in various blog posts. During debugging, developers and programmers go through a cycle of emotional states::

    1. DENIAL. That can’t happen.
    2. FRUSTRATION. That doesn’t happen on my machine.
    3. DISBELIEF. That shouldn’t happen.
    4. TESTING. Why does that happen?
    5. GOTCHA. Oh, I see.
    6. RELIEF. How did that ever work?

    First (1) we have a stage of denial and surprise: you say that the bug isn’t possible, that it can’t happen, because you have not observed it before. You are surprised. The reason is (2) that is doesn’t happen on your machine or on your computer. You can not reproduce it instantly, and you have not seen this bug before. You get frustrated and sometimes a bit angry. Therefore you think that (3) it shouldn’t happen. Yet someone – unfortunately often a customer or a user – insists that it does. So you (4) ask why it is happening, and why it can happen. The only way to solve this problem is to find out what really happens. You start to examine logs and to debug the program, until you are able to find and to reproduce the bug. If you’ll do this long and hard enough then (5) you see the reason for the bug, and are able to remove it. You are trying to reproduce the bug again to see if it is fixed. Finally (6) you ask yourself how it ever work before. The longer you seek a bug and the longer the phases (1)-(4), the larger the relief in the end. .

    Spinner

  • 64
    Charlie Smurthwaite posted on 05 Apr at 16:25 (edited on 15 Apr at 15:52)

    That is so true!!

    Spinner

  • 64
    Adam Cooke posted today at 12:12

    Spinner

  • 64
    Adam Cooke posted today at 12:12

    Spinner

  • 64
    Adam Cooke posted today at 12:34

    Spinner

  • 64
    Adam Cooke posted today at 12:37

    Spinner

64
  • If you wish to attach files to this discussion then just drag and drop them anywhere on the new discussion form.

    • Notify other users?

      Select which users from the list below who should watch this discussion and be notified by email when it's created and any updates posted.

    Keyboard shortcuts

    Use the keyboard shortcuts shown below to help optimise your navigation.

    From anywhere

    • d Go to main dashboard
    • p Open project selector

    From within a project

    • n Open quick ticket form (on overview page)
    • shift + n Open the new ticket page
    • shift + a Open the all tickets page
    • shift + m Open the my assigned tickets page

    From within a repository

    • t Open the quick file search

    Test runner

    Warning! For accurate results, please disable Firebug before running the tests. (Why?)

    Java applet disabled.

    Testing in unknown unknown
    Test Ops/sec
    one
    // Redirect external links through /redirect
      $content.find('.afm').on('click', 'a[rel!=codebase-internal]', function(e){
        url = $(this).prop('href');
        if(!url.match("\/redirect\?")){
          $(this).prop('href', '/redirect?' + url);
        }
      });
    pending…
    two
    // Redirect external links through /redirect
      $content.find('div.afm a[rel!=codebase-internal]').each(function(i, e){
        url = $(this).prop('href');
        $(this).prop('href', '/redirect?' + url);
      });
    pending…
    $links
    // Redirect external links through /redirect
      $content.find('.afm a').each(function(i, e){
        if(!$(this).is('[rel=codebase-internal]')){
          url = $(this).prop('href');
          $(this).prop('href', '/redirect?' + url);
        }
      });
    pending…
    $linsk2
    // Redirect external links through /redirect
      $content.find('.afm a').each(function(i, e){
        if($(this).is('[rel!=codebase-internal]')){
          url = $(this).prop('href');
          $(this).prop('href', '/redirect?' + url);
        }
      });
    pending…
    // Redirect external links through /redirect
      $content.find('div.afm a').each(function(i, e){
        url = $(this).prop('href');
        if(url.match("https?://")){
          $(this).prop('href', '/redirect?' + url);
        }
      });
    pending…

    You can edit these tests or add even more tests to this page by appending /edit to the URL.

    Compare results of other browsers

    0 comments

    Add a comment