QA Software Testing Tips

I was recently asked by someone new to software testing, if I had any tips for software testing in general. I couldn’t actually answer that question on the spot, but it got me thinking. This blog entry includes ten software testing tips from my own personal experience. As every tester out there will be in a unique position, some of these tips won’t be applicable, you will have to judge each ones merits individually.
So, here are some QA tips of mine, in no particular order:
1) Do not ignore any test result, analyze each result thoroughly. The test result may be ‘pass’ or ‘fail’ but investigating the root cause of ‘fail’ will often lead you to the solution of the problem, if it exists. Testers will be respected if they not only note the defects, but also provide alternative solutions.
2) Write test cases based on small areas of functionality. If possible break these test cases down into smaller test cases. This way you won’t have one test step fail which results in the whole test case failing, leading to invalid QA statistics.
3) Learn to maximize the test coverage each time you test something. One hundred percent test coverage is impossible, but you can still aim for it!
4) Get involved in the requirement analysis and design phase. This way you can aim to make sure all the requirements are testable.
5) Write test cases for expected functionality first i.e. for positive conditions based on the requirements. Then create test cases for invalid conditions.
6) Start testing the application with the intent of finding bugs first. Don’t worry about not finding bugs, all code has bugs, take your time and do not rush…you will find the bugs!
7) Make your test cases available to anyone, so you can get them reviewed. Don’t keep your test cases to yourself, let the developers review your test cases thoroughly to develop quality test cases and ultimately a quality piece of software.
8 ) Mark test cases suitable for regression testing. This will save time further into the project.
9) Performance testing is often an important part of today’s applications. Manual testing typically ignores required performance requirements. Applications that require specific response times should be thoroughly tested for performance.
10) Developers must not test their own code. It’s not ethical, as they have a vested interest in the quality of their work and come from a different perspective than that of a tester.