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.
.