How to find defects in a bug free software ? - [Top 8 damn easy ways]

 What are the different kinds of defects that can be raised.  


In case of web application we look for two type of bugs.

  1. UI defects
  2. Functional defects

 

UI defects




UI related issues you have to see carefully to find it.

You have to check in different resolutions. Developer tools option in the browsers come handy fo rthis. If you have firefox browser you can go to

Settings -> Developers -> Responsive design view and check your application in different resolutions.



You can also think of installing firebug add-on for firefox browser. Firebug  will often help you to locate javascript errors and time taken by api calls. So you can find the latency if any in the api calls.


Functional defects



To find out functional bugs I would request you to understand the application completely . If you do so, then believe me you will wonder how many new scenarios you can test yourself. 

Test a scenario with different set of data
Install Imacros add-on in firefox : I would advice you to install Imacros add-on in firefox 

To repeat a task you can use this add-on and record the repetitive tasks .



Test Case Documentation

This is the most vital part of the process. You need to prepare good test cases before start to test.

How to create Test data ?

There are many techniques to create test data. But out of all one of my favorite is through boundary value analysis. Try out this technique and I guarantee you will be amazed to see the resultant bugs that you are able to locate with this.

How to test the text boxes ?

Testing a text box is not a rocket science. First check in the functional specification document , what is allowed for the particular test box. If for example, only INTEGERS are allowed, the you create the test data such that it is tested for all kind of inputs like ,

Positive Scenario
  1. INTEGERS 
Negative Scenario

  1. Alpahbets
  2. Special Characters
  3. More characters than allowed
  4. Integers Lesser than the range allowed
  5. Integers Greater than the range allowed
  6. Test it for 0.


Test the Database

For the inputs you have made on the textbox, go and check the database for the update.
Any addition , deletion or edit of data on the front end must reflect in the database.
Create a sufficient test data before tests, this data set include the test case conditions and also the database records if you are going to test DB related application.
Standard test cases for which you found the bugs in some different application. Like if you are testing input text box try inserting some html tags as the inputs and see the output on display page.

Ad hoc testing 

Do not limit your self to test cases only. Perform Ad hoc testing and see how many new bugs you are able to uncover which are often not easy to find .
Ad hoc testing is a commonly used term for software testing performed without planning and documentation, but can be applied to early scientific experimental studies.
The tests are intended to be run only once, unless a defect is discovered. Ad hoc testing is the least formal test method. As such, it has been criticized because it is not structured and hence defects found using this method may be harder to reproduce (since there are no written test cases). However, the strength of ad hoc testing is that important defects can be found quickly.
It is performed by improvisation: the tester seeks to find bugs by any means that seem appropriate. Ad hoc testing can be seen as a light version of Error Guessing which itself is a light version of exploratory testing.
-Source Wikepedia

Bugs from previous applications you have tested

This one technique often comes with experience and as the experience grows we get a better command on it. Think and analyse about the bugs you have raised while testing the applications in the past. There are often some standards areas which are more prone to defects . Like for an e-commerce application, suppose there is a scenario where you have to order the number of items and put them in your shopping cart. Its is common sense that the number of items you would place in the shopping cart can not be 0. Sometimes this can be missed in the code, so take your chance go and test by trying to place 0 zero items in the shopping cart. I have tried this my self and was amazed to find a high priority bug !!


Over to You

Have some more tips on finding the deadliest of the bugs ? Please share your views in the comments section. I will be more than happy to reply or help you out in case you need.