Apr 07, 2015

Software testing, from a Senior Tester’s point of view

Author: Carmen Doia

For my first article, we’re going to take a look at the critical points involved in a successful, efficient application testing process, as summarized from my hands-on experience.

Finding bugs is the tester’s job.

  • The Test Case is the log for a number of problems; anyone can write a Test Case, but not everyone can write a good Test Case, one that becomes an effective development tool. The Test Case aims to find as many bugs as possible.
  • To identify more bugs, you should be flexible and creative – this means not limiting yourself to the Test Case steps, but instead running as many variations as you can imagine.
  • To identify bugs with real impact on the end user, you should run the trials through a set-up similar with the customer’s actual environment.
  • Coverage is essential – always run the same test on multiple operating systems, browser versions, database levels and types, and do not forget to combine all of these.

In spite of this, we should be aware that not all bugs can be found – there’s no such thing as a 100% bug-free application, and if someone promises it, they’re either knowingly exaggerating, or are inexperienced and too idealistic to realize that’s impossible. So no application is bug-free, but we can find the better part of them, and should focus on finding critical ones, that affect the main functions of the application.

The bugs will need to be fixed – it’s the tester’s job to accurately log them

  • If the bug can’t be recreated by the development team, than it’s not a bug. Pay significant attention when describing the problem, phrase as clearly as humanly possible, with all the steps necessary to easily recreate the bug.
  • Sometimes, the tester should see things from the developer’s perspective, should try to listen to and understand the developer’s opinion: sometimes what you, as a tester, see as a problem, is not an issue for those using the application.
  • When running tests, always try to relate to the application from the user’s point of view. Once a bug is found, attempt to analyze the impact of the problem on the end-user, in order to accurately classify the issue according to its importance.

Bugs should be verified when reported fixed

  • This phase should imply reattempting the steps in the Test Case, to make sure the problem really is fixed
  • Everyone knows that, sometimes, fixing a problem can create a new one – especially where software applications are concerned. You should keep this in mind when re-checking bugs reported fixed, and should also look over the other areas possibly impacted by the process of fixing the issue, to makes sure everything is in order.
  • Sometimes, when they fix issues, the developers may find some other problems, not reported in the TC – you should ask the developer how to verify such issues as well, to be sure that all problems were fixed.
  • Sometimes, due to some unforeseen limitation, a problem can’t be fixed as expected. Communication is vital for an efficient testing process, because it will avoid redundantly passing around the same issue.

What do you think is critical to an efficient testing process? Testers and clients alike, please feel free to add to the list, I’d be interested to see things from different perspectives! For more software testing insights, subscribe to our RSS feed and stay in touch.

Leave a note

This site uses Akismet to reduce spam. Learn how your comment data is processed.