How to Find a Bug in Application? Tips and Tricks

A very good and important point. Right? If you are a software tester or a QA engineer then you must be thinking every minute to find a bug in an application. And you should be!

I think finding a blocker bug like any system crash is often rewarding! No I don’t think like that. You should try to find out the bugs that are most difficult to find and those always misleads users.

Finding such a subtle bugs is most challenging work and it gives you the satisfaction of your work. Also, it should be rewarded by seniors. I will share my experience of one such subtle bug that was not only difficult to catch but was difficult to reproduce also.
I was testing one module from my search engine project. I do most of the activities of this project manually as it is a bit complex to automate. That module consists of traffic and revenue stats of different affiliates and advertisers. So testing such a reports is always a difficult task. When I tested this report it was showing the data accurately processed for some time but when tried to test again after some time it was showing misleading results. It was strange and confusing to see the results.

There was a cron (cron is an automated script that runs after specified time or condition) to process the log files and update the database. Such multiple crops are running on log files and DB to synchronize the total data. There were two crons running on one table with some time intervals. There was a column in the table that was getting overwritten by other cron making some data inconsistency. It took us a long time to figure out the problem due to the vast DB processes and different crons.

My point is trying to find out the hidden bugs in the system that might occur for special conditions and causes a strong impact on the system. You can find such a bugs with some tips and tricks.

So what are those tips:

1) Understand the whole application or module in depth before starting the testing.

2) Prepare good test cases before start to testing. I mean give stress on the functional test cases which include major risk of the application.

3) Create a sufficient test data before tests, this data set includes the test case conditions and also the database records if you are going to test DB related application.

4) Perform repeated tests with the different test environment.

5) Try to find out the resulting pattern and then compare your results with those patterns.

6) When you think that you have completed most of the test conditions and when you think you are tired somewhat then do some monkey testing.

7) Use your previous test data pattern to analyze the current set of tests.

8) Try some 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.

9) Last and the best trick is try very hard to find the bug ;-) As if you are testing only to break the application!

I will include more tips in some coming posts.

Meantime you can comment out more tips here.

123 Comments on “How to Find a Bug in Application? Tips and Tricks

  1. What is difference between Performance Testing, Load Testing and Stress Testing?

    1) Performance Testing:

    What is performance testing?

    Performance testing is the testing, which is performed, to ascertain how the components of a system are performing, given a particular situation. Resource usage, scalability and reliability of the product are also validated under this testing. This testing is the subset of performance engineering, which is focused on addressing performance issues in the design and architecture of software product.

    Performance Testing Goal:

    The primary goal of performance testing includes establishing the benchmark behaviour of the system. There are a number of industry-defined benchmarks, which should be met during performance testing.

    Performance testing does not aim to find defects in the application, it address a little more critical task of testing the benchmark and standard set for the application. Accuracy and close monitoring of the performance and results of the test is the primary characteristic of performance testing.

    Example:

    For instance, you can test the application network performance on Connection Speed vs. Latency chart. Latency is the time difference between the data to reach from source to destination. Thus, a 70kb page would take not more than 15 seconds to load for a worst connection of 28.8kbps modem (latency=1000 milliseconds), while the page of same size would appear within 5 seconds, for the average connection of 256kbps DSL (latency=100 milliseconds). 1.5mbps T1 connection (latency=50 milliseconds) would have the performance benchmark set within 1 second to achieve this target.

    For example, the time difference between the generation of request and acknowledgement of response should be in the range of x ms (milliseconds) and y ms, where x and y are standard digits. A successful performance testing should project most of the performance issues, which could be related to database, network, software, hardware etc…

    ?

    2) Load Testing:

    Load testing is meant to test the system by constantly and steadily increasing the load on the system till the time it reaches the threshold limit. It is the simplest form of testing which employs the use of automation tools such as LoadRunner or any other good tools, which are available. Load testing is also famous by the names like volume testing and endurance testing.

    The sole purpose of load testing is to assign the system the largest job it could possible handle to test the endurance and monitoring the results. An interesting fact is that sometimes the system is fed with empty task to determine the behaviour of system in zero-load situation.

    Load Testing Goal:

    The goals of load testing are to expose the defects in application related to buffer overflow, memory leaks and mismanagement of memory. Another target of load testing is to determine the upper limit of all the components of application like database, hardware and network etc… so that it could manage the anticipated load in future. The issues that would eventually come out as the result of load testing may include load balancing problems, bandwidth issues, capacity of the existing system etc…

    Example:

    For example, to check the email functionality of an application, it could be flooded with 1000 users at a time. Now, 1000 users can fire the email transactions (read, send, delete, forward, reply) in many different ways. If we take one transaction per user per hour, then it would be 1000 transactions per hour. By simulating 10 transactions/user, we could load test the email server by occupying it with 10000 transactions/hour.

    ————

  2. Hi,

    I am into storage domain and I am doing regression testing on various NAS products, my client always expects to find more and more bugs on daily basis. In regression its very difficult to find the bug. any other way so that find some bugs in the product.

  3. hello every one,
    is there any tool for manual testing?

    i think HP SPRINTER is there,can any one plz tell me how can i utilyze it.

  4. Hello,
    I am manual tester please suggest me which automation testing tool is good for beginner and how can I learn it.
    Thanks.

  5. as a fresher how to find the bugs in mobile Testing .If anyone knows please guide me

  6. how to find a bug in a application testing.if anyone knows how to find a bug so pls guide me.

  7. Need more guidance on this

  8. can any one tell some ecommerce bugs that you come across

  9. Hai,
    I am new to testing ,please help me to find issues and bugs in an application

  10. hi if you want to hack of any site in world come on and see me in my telegram by free educate
    my telegram number: +1 8109415353

  11. hi varun

    how to create test case efficently and differently evrytime?

  12. Hi Vijay,

    It would be very helpful for me if you provide some docs, knowledge on Supply Chain, logistics, E-commerce domain. Also, the career growth in these domains for a tester when compared to BFSI or healthcare domain.

  13. Could you please anyone suggests me the app which contains bugs.

  14. so wouldn’t the first step be testing xss like alert(“Hello”);

  15. Hello,
    I am manual tester please suggest me which automation testing tool is good for beginner and how can I learn it.

  16. Could you help to explain this content for me?
    I mean give stress on the functional test cases which includes major risk of the application.
    => The word “give stress” here means the tester must try his/her best to create functional testcase? or must add testcases for testing stress of system with functional testcases?

  17. i have recently joined a company.we got project.it should be handle by me.

    can any body tell.how should i start and how will be testing process in real time. which i read from material will be differ from real time testing..

  18. To test any software you first need to understand the functionality of product or module.

  19. Quite inspiring. Thankyou

  20. Good article

  21. how to start testing with the help of “you tube “videos I wanted to know the basics oftesting on websites

  22. I am a beginner in testing please prescribe me to how to start from begin

Leave a Comment