Wednesday, September 17, 2014

Why not ISO 29119 Software Testing standard

A very interesting quote about software testing says that ' testing is when your coworkers don’t and won't have to follow the rules'. Testing is an activity that cannot be limited by a set of guidelines or rules. Yes I do agree that we may need to practice testing in a way which suits the requirement of my customer using a certain technique but should not be limited by guidelines. A product or a solution is created or developed by a team of programmers, testers and analysts together to address the need of the hour or a problem faced by a customer. Together they try to achieve their goal of creating a qualitative product and to do this they do follow some established ways of doing it. Testing methodologies also differ for every software depending in the solution being developed e.g. gaming software or enterprise software or embedded software. In all these different softwares, the testing techniques and procedures vary and cannot be standardized

My understanding of ISO/IEC/IEEE 29119: This standard has been developed to provide a common understanding and standardize the software testing practices. It helps the entire community of testing to probably understand and practice software testing in definite way. There are five different parts to it.                      
    The first part of the standard describes the concepts of testing, testing techniques as well as the test management aspects. The second part of the standard defines the test process model and explains the test management activities like test planning, test monitoring and test controlling. It deals with a risk based approach towards testing and explains the dynamic testing processes as well. The third part of the standard deals with the documentation aspect of testing and the many documents to be maintained.                                     The fourth part of the standard lists the various test design techniques as well as functional and non-functional tests. The fifth standard in detail discusses the keyword driven testing and explains this method for software testing.

 In my experience, testing is a very creative profession as well as challenging one. In any development life cycle be it agile or waterfall, testing always needs to be completed in a shorter span of time without any comprise on the quality . It is also very difficult to understand how much testing is enough. In these situations it helps that an organization follows a guidelines or a defined process which help achieve the goal of effective testing. These guidelines could also be the ones mentioned in the ISO standard. However I still would discourage the new software testing standard for the mentioned reasons.
        Firstly, the standard has not been openly discussed ,debated or proven and hence I raise the question on why should it be followed. We do not see any formulated technique way on how these are the most essential rules and need to be followed. It cannot be forced on to be accepted by organizations.
          Secondly a standard should never limit an organization to rigid processes. The kind of tests executed are different in different domains and hence there can never be one correct or perfect way of doing it. Something which works for a industry or a company may not work for the other. Hence restricting the testing methods and techniques just to comply on the standard is something which cannot be accepted. It is good to have a benchmark but enforcing the standard cannot be encouraged.
         Thirdly, in one of the discussion I have also read that there is also a cost part to first understand the standard.This is not agreeable.This only shows some monetary benefit to the organizations who developed it but I do not know how it benefits the testing community.
 I do understand that there are work groups who have come up with a single approach for testing. But ultimately if we just get a document with a set of simple rules that would not help at all. 
         Finally, if the testing industry just needs to accept few written techniques the creativity of each tester is not in the picture and this would seriously be restricting some best testing talent.