Tuesday, 3 April 2012

Silver Bullets for Testing

Know Our Application
Don’t start testing without understanding the requirements. If we test without knowledge of the requirements, we will not be able to determine if a program is functioning as designed and we will not be able to tell if required functionality is missing. Clear knowledge of requirements, before starting testing, is a must.
Know Our Domain
We should acquire a thorough knowledge of the domain on which we are working. Knowing the domain will help we suggest good bug solutions.  Don’t stop by only logging the bug. Provide solutions as well. Good domain knowledge will also help to design better test cases with maximum test coverage. 
No Assumptions In Testing
Don’t start testing with the assumption that there will be no errors. As a tester, we should always be looking for errors.
Think Like An End User
Don’t think only like a technical guy. Think like customers or end users. Also, always think beyond end users. Test application as an end user. Think how an end user will be using application. Technical plus end user thinking will assure that application is user friendly and will pass acceptance tests easily. 
Testing Coverage
We cannot cover 100% of the application in the first round but can improve coverage with subsequent iterations. Use techniques like boundary value analysis and equivalence partitioning testing to limit test cases to manageable sizes.
Prioritize Testing
Try to explore as many bugs as we can, but prioritize our efforts on basic and crucial functions. Put our best efforts doing good work.
Build Good Relations With Developers
As a tester, we communicate with many other team members, especially developers. There are many situations where tester and developer may not agree on certain points. It will take our skill to handle such situations without harming a good relationship with the developer. If we are wrong, admit it. If we are right, be diplomatic. Don’t take it personally. After all, it is a profession, and we both want a good product.
Learn From Mistakes
If we don’t make mistakes, we are not testing hard enough! We will learn things as we get experience. Use these mistakes as our learning experience. Try not to repeat the same mistakes. It hurts when the client files any bug in an application tested by us. It is definitely an embracing situation for us and cannot be avoided. However, don’t beat our self up. Find the root cause of the failure. Try to find out why we didn’t find that bug, and avoid the same mistake in the future. If required, change some testing procedures we are following.
Learn New Techniques
No doubt, old testing techniques still play a vital role in day-to-day testing, but try to introduce new testing procedures that work for us. Don’t rely on book knowledge. Be practical. 

No comments:

Post a Comment