The degree of independence avoids
author bias and is often more effective at finding defects and failures. Simply
the mindset we want to use while testing and reviewing is different from the
one we use while analyzing or developing an application. I mean if we are
developing or building an application our approaches will be positive and we
working positively to solve the problems in the design and to realize a product
that meets some need. However, when we test or review a product, that means we
are looking for defects and faults in the product and thus we act negatively
and critical of it.
Suppose if we want to participate
in cookery show, we select a dish, collect the ingredients, we cook it step by
step and select the table required and present it in a delicious way. We try
hard to win in the competition. If we are not participants, if we are judge of
particular cookery show. Our mindset changes. We start examining in detail and
critically each and every thing. To differentiate between the chefs and their
performance, we praise them and as well as disclose their defects. The same
happens in the software testing also. Building a software requires different
mindset and testing t
he software requires a different mindset.
It doesn’t mean that a programmer
cannot be a tester or a tester cannot be a programmer, although their roles in
the software industry are different and separate. In fact even developers do
testing. They test their on code what they have written and the integration of
the system into the system.So with a right mindset programmers test their own
code and find defects and resole them before someone notices them. However one
cannot find all the defects on his own, some right person is necessary to find
out complete correctness of the system. That will be a tester. So, Business analysts, marketing staff,
architects and programmers often rely on others to help to test their work.
This other person might be a fellow analyst, designer or developer. A person
who will use the software may help test it. Business analysts who worked on requirements
may do some tests. Testing professionals or specialists are always involved in
testing the systems and builds. In fact, testing may involve a people carrying
of different level of testing. This allows an independent test to the system.
Independent
testing is performed by testing specialists who have not been involved in the
system’s development to ensure whether the delivered software is meeting both
functional and non-functional requirements.There are many industries who follow
these Independence testing. There
are many levels of independence testing here we have a level which is listed
here from the lowest level of independence to the highest:
- Tests by the person who wrote the item.
- Tests by another person within the same team, like another programmer.
- Tests by the person from some different group such as an independent test team
- Tests by a person from a different organization or company, such as outsourced testing or certification by an external body.
When we think about how independent
the test team is? It is really very important to understand that independence
is not an either/or condition but a range. At one end of the range lies there will
be no independence because the programmer performs testing within the
programming team. Moving toward independence, we find an integrated tester or
group of testers working with the programmers, and reporting to the development
manager. Then moving little bit more towards independence we find a team of
testers who are independent and outside the development team, but reporting to
project management , means they are from trhe same organisation but from different
team.In the next stage, we see a separate test team reporting into the
organization at a point equal to the development or project team. We find
specialists in the business domain (such as users of the system), specialists
in technology (such as database experts), and specialists in testing (such as
security testers, certification testers, or test automation experts) in a
separate test team, as part of a larger independent test team, or as part of a
contract, outsourced test team.They are completely from different organisation
who just test the prodcts. So this is how independent testing is done.
Advantages of Independence Testing
- An independent tester can repeatedly find out more, other, and different defects than a tester working within a programming team or a programmer.
- Hidden defects can be identified because all professionals are involved
- An independent tester who reports to senior management can report his results honestly and without any concern that might result from pointing out problems in coworkers and the manager’s work.
- An independent test team often has a separate budget, which helps ensure the proper level of money is spent on tester training, testing tools, test equipment, etc
- There is a possibility that the testers and the test team can get isolated. This leads to communication problems, feelings of unfriendliness and hostility.
- Lack of identification with and support for the project goals, spontaneous blame festivals and organisational politics may occur.
·
No comments:
Post a Comment