What is a bug?

A bug is a reproducible coding error that causes an exexpected defect, fault, flaw, or imperfection in a custom programming component of a website. A missing or incomplete feature that was not detailed in the programming specification is not a bug, and may incur additional costs to remedy.

You can tell that a problem is a bug when:

The problem is able to be reproduced (we may not be able to do anything about the problem if we are unable to ascertain the cause and effect), and;

  • The website crashes to code (runtime errors that should be handled or avoided). This does not include bugs in thrid party products (e.g., problems with your internet browser or operating system, or errors with third party components used on your site that we cannot control), or;
  • The application displays incorrect values, or;
  • The application is missing specified functionality that was agreed in the mockups or specification (our programmers are careful to follow the specification and not introduce extra features that may introduce new bugs – so it is important to agree on all of the website’s functionality before development begins – even if it seems like common sense to you)

Examples of what is a bug:

  • A sum total is negative instead of positive because the developer used the wrong operator (plus instead of minus) to calculate the balance.
    (This is a bug because it displays incorrect values)
  • The website crashes because it doesn’t check that a connection is valid before attempting to run a procedure.
    (This is a bug because it crashes to code)
  • The output HTML in the website is not correctly formatted, and does not display correctly in a compatible browser as defined in the specification.
    (This is a bug because it displays incorrect values and it crashes to code)
  • The specification states that a button will be available to clear all of the current values into into a form, but the button is missing from the website.
    (This is a bug because it is missing specified functionality)

Examples of what is NOT a bug:

  • Any problem caused by software, hardware or other components that was not written by Datasearch
    (Datasearch is not liable for bugs in third party products)
  • A required feature was not included in the mockups or specification
    (This is not a bug because the website was built as originally specified)
  • The client decides that they don’t like the look of the current form even though it is the same as shown in the mockups or specification.
    (This is not a bug because the feature was built correctly as originally specified)
  • The client decides that they dont like the look or functionality of any component of the site where it was not detailed in the mockups or specification
    (This is not a bug because the feature was not adequately specified. In such cases, Datasearch will use their knowledge and experience to develop the component, but will not be liable for any incorrect assumptions)
  • The website shows a friendly error message after the user enters incorrect input
    (This is not a bug because the website is displaying the correct values for this siutation)
  • The client has seen an error message but is unable to reproduce the sequence of events leading to the issue or is unable to adequately explain what happened
    (This is not a bug because is it not able to be reproduced)

Anything that can not be adequately defined as a bug, is more than likely a ‘missing feature’ that was not detailed in the specification. Datasearch can investigate the effort involved in adding a missing feature and provide you with a quote.

What can be done about a bug?

If you discover a bug, as defined above, let your Project Producer or another member of Datasearch staff know about the problem as soon as possible with as much detail as you can; including the page that you were viewing, what actions you performed or input you entered, what operating system and internet browser you were using, the time and date of the incident, and your perceived severity of the bug.

If the bug is identified during the testing stage or warranty period (see the Warranty section of your proposal or specification), then the cost to fix the bug will be covered by Datasearch. Please note that work done under a maintenance plan or at an hourly rate is not covered by a warranty.

If the bug is identified outside of these periods, then Datasearch may have to pass on the costs to the client. You will be notified of the extent of these costs before the bug is fixed; except in cases where you or Datasearch perceive the bug to have a critically detrimental effect to your website. In such a case, Datasearch will fix the bug immediately and notify you of the costs afterwards.