Skip to main content

Posts

Testing With Agility

I am expressing my views and learning on Agility for Testing. This article highlights the challenges and solution when one has to do the testing alongwith the development. What approach for testing should be taken when “Time to market” is an important factor. The solution of course is to utilize testing time alongwith the development. But is it such an easy task for tester or developer or for management? Of course, not. To successfully overcome such a situation requires commitment and support from the entire project stakeholder but more support, coordination and commitment are required among test team and development team. The process that should be followed to overcome such a situation is mentioned below: 1. Define your Test Strategy 2. Define your team and assign responsibility 3. Do not wait for a formal process of release 4. Keep doing the testing as soon as build is ready for testing (Do not wait for formal release) 5. Always keep in mind that tester and developer are wor...

Test Driven Development

From programmers to users, everyone involved in software development agrees: Testing is good. So why so many systems are so badly tested? There are several problems with the traditional approach to testing: · If testing is not comprehensive enough, errors can make it into production and cause potentially devastating problems. · Testing is often done after all the code is written, or at least after the programmer who wrote the code has moved on to other things. When you are no longer living and breathing a particular program, it takes some time and effort to back into the code enough to deal with the problems. · Often tests are written by programmers other than those who wrote the code. Since they may not understand all of the details of the code, it is possible that they may miss important tests. · If the test writers base their tests on documentation or other artifacts other than the code, any extent to which those artifacts are out of date will cause problems. · If tests are n...

Testing is finding a solution rather than a problem

What are the major challenges that you come across in your day to day work because of managerial decision and sometime you really feel frustrated because of them and it effect your productivity? I hope you came across with such a situation quite often when you are asked to focus on things decided by management. I am taking a typical example, you are doing a testing of a product and you are very much motivated about your work. Suddenly something happen and you are asked to do some other thing. How do you feel at that point? Stressed, Frustrated, de-motivated… Well let’s discuss about how you can counter such a situation which may have negative impact on your productivity and thus your quality work. Some of the key points that should always be on mind of a Quality Person to keep him/her motivated all the time is mentioned below. I have learnt all these from my experience. Be flexible in your work Do not create problems and always come up with some solution If you are asked to do some oth...

Risk Based Testing

Introduction Risk based testing is a concept which define the roadmap for making test strategy and taking decision on release of product. This concept outlines many of the important aspect of testing when time to market and quality has to be met. How many of times you have tested your product in limited time? I hope you have done it many a times? What approach you normally take when your testing schedule has been reduced and you are asked to test the application in limited schedule? Do you follow any defined approach to overcome such a scenario? I hope many of us “not”. We know all these concepts but making use of it is really difficult as we do not know how to approach with this concept. Purpose The purpose of this article is to present a practical approach to Risk based testing based on my experience. It may be applicable or may not be applicable for your day to day activity. References • CSTE Group • Project Experience - myself Input Testing schedule and effort has been reduced. Pro...

ABC of Unit Testing

What is Unit Testing? After writing any code, every programmer will do some kind of testing to make sure the code works as expected. This testing is called 'unit testing'. Unit testing is done in different ways. Some programmers write simple test applications to test their own code. Some others simply debug the code and change the values during debugging to make sure the code works fine for different cases. Some facts about unit testing: Unit testing is done by developers. Quality department does different tests, they are not unit tests. Every programmer must do unit testing after finishing development or during development itself. Unit testing can be done by writing separate test applications to call your classes and methods to make sure the classes work as expected. This is called manual unit testing. Unit testing can be automated by writing unit test scripts. This is called Automated Unit Testing. In automated Unit Testing, after writing each class/method, you will write sev...

History - Software Testing

Do you know who distinguish testing from debugging? The separation of debugging from testing was initially introduced by Glenford J. Myers in 1979. Although his attention was on breakage testing ,it illustrated the desire of the software engineering community to separate fundamental development activities, such as debugging, from that of verification. Dr. Dave Gelperin and Dr. William C. Hetzel classified in 1988 the phases and goals in software testing in the following stages: Until 1956 - Debugging oriented 1957-1978 - Demonstration oriented 1983-1987 - Destruction oriented 1983-1987 - Evaluation oriented 1988-onward- Prevention oriented References: Myers, Glenford J. (1979). The Art of Software Testing. John Wiley and Sons. ISBN 0-471-04328-1 . Gelperin, D.; B. Hetzel (1988). "The Growth of Software Testing". CACM 31 (6). ISSN 0001-0782. until 1956 it was the debugging oriented period, when testing was often associated to debugging: there was no clear difference between te...

What is Software Testing?

Software testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results. [Hetzel88] Although crucial to software quality and widely deployed by programmers and testers, software testing still remains an art, due to limited understanding of the principles of software. The difficulty in software testing stems from the complexity of software: we can not completely test a program with moderate complexity. Testing is more than just debugging. The purpose of testing can be quality assurance, verification and validation, or reliability estimation. Testing can be used as a generic metric as well. Correctness testing and reliability testing are two major areas of testing. Software testing is a trade-off between budget, time and quality. Software Testing is the process of executing a program or system with the intent of finding errors. [Myers79] Or, it involves any activity aimed at evaluating an attribute or cap...