“It is not enough to do your best; you must know what to do, and then do your best.” – Edwards Deming (American Quality Guru)
1. Identify the right set of Test Data for testing:
Produce the right set of test data for testing. This test data (range of positive and negative values) will help you uncover the issues quickly
2. Make the test environment identical to production environment:
Have a thorough understanding of the test environment and adhere exactly to the same hardware/software requirements replicating the production environment (like operating system, database, application server, browser, patches etc.)
3. Complete unit testing before you do integration / system testing:
Test your units first, and once you’re convinced that they have no errors, start integrating them slowly, testing in groups of two, then threes, etc., until you finish testing the entire suite
4. Focus on Numbers:
Always collect quantitative data during different phases of your testing. During performance testing, get clear and exact numbers on the response time, throughput and resource utilization goals
5. Use 80/20 rule or Critical Path Testing when required:
Identify the right testcases that will provide maximum impact when testing the application. Identify specific test cases which will prove effective during multi-platform testing. For example, identify a page that has maximum controls and run them once in all the browsers
6. Test from the user’s perspective:
Focus on testing the functionality from an end user perspective. Discuss with the product management team in understanding how they approach the application. Interact with product support teams to know customer support issues which may give you idea on issues. Focus on specific areas of testing based on application needs. For example, security is of paramount importance when testing credit card or banking applications.
7. Perform Root Cause Analysis for Defects:
Mark defect as unit, functional, integration, system, etc at the time of filing them to perform effective root cause analysis. Perform root cause analysis periodically. Put in a prevention mechanism to avoid such defects in the future.
During execution, do not ignore failures. Troubleshooting the root cause of ‘fail’ will lead you to the solution of the problem.
8. Write clear, descriptive and unambiguous bug reports:
Be precise while writing the defect summary and its description. While writing the description, document it clearly and make sure that the developer does not misinterpret it. Attach snapshots wherever required


"Online communities, iterative methodologies and software scalability" with Andres Camacho - Vice President of Engineering at Vinfolio 