In: Computer Science
Which aspects of testing and documentation would a developer normally not be involved in? Explain your answer.
Software testing is not just a process but it is a individual style in throughout software processes. There is a frequent question we all would have heard about that “Why can't developers themselves test their developed software?” This actually is like students writing public examinations and evaluating their own papers by themselves. Does this makes sense? Similarly will an application developed and tested by the same person make sense? Definitely not and let us see the reasons hidden behind the questions.
Following are the points why testing and documentation should not conducted by Developer :-
A) Tendencies towards their code
Generally the human tendency is to refuse to admit or explore their own mistakes or flaws to others. Similarly the code is being made ready with much difficulties and they will never think that their code will work incorrectly. The application developed is like their own child where they refuse to express their own child's mistakes. This is why a developer will never think or express the mistake that they have developed.
B) Developers are Optimistic
Developers focus on the functionality and develop in a single sprint and when the next sprint starts they become confused with the previous sprint and there occurs a bug with business logic or bug with the previously developed functionality. The requirements are being considered by a developer as only functionalities and if they misunderstand the requirements then surely there will be a failure in the application regardless of how well they test the application. Here the testers view the requirements in the business point of view so we can accomplish what is required.
C) Good fixers but poor breakers
The developers test only for the developed functionality or fixed code and if it works good then their testing is over whereas the tester's major goal is to break the application and some how they will find bugs and help the developers understand how that specific functionality should be.
D) Less
experience
The software tester gains a vast experience where a wide complex
knowledge will be gained will common bugs and tough application
logics. Due to immersion of testing a tester will easily find bugs
and test them whereas the developers have a skill set only for
fixing the broken application but not to break an application.
Testing will be done only through the capabilities of a
professional software tester since they have the capabilities of
grasping fully and master the concepts. They also have a wide range
of understanding of the tools and methodologies that requires some
time to be understood by others.
This is why we have a testing team and I am not saying developers
are bad testers but at the same time they are not as proficient and
experienced as a true tester. Everyone has their own specialization
and it is very important to excel with their own areas. Most of the
developers think that we testers are intentionally breaking and
finding bugs in their application but the fact is the application
developed have bugs so we only determine the bugs. Other than this,
a tester is always a developer's best friend.