In most of the MNC companies, there are two different teams where one team works on the development activity and another team work on hardcore testing activity. Either it is automation or manual testing the testing team is completely different from the development team. I’m not sure if this is a practice in most of the big companies, but I have noticed this happening in many companies. I’m kind of against this idea of having two different teams. In my project in the office, I make sure that the developers also do the testing activity and hardcore testing activity. In my team in the office, I have the testing as well as development done by the same person.
The main advantage of having the same person doing both development and testing is that it is quite common that a tester will be testing the product from an end-user perspective. This is some skill that developers will lack. If the developers are also given the opportunity to do testing from an end user perspective, then they will be able to understand the problems of an end user and develop the product accordingly.
No two different teams
In my personal opinion, when there are two different teams for development and testing, one team develops hatred on the other team. The testing team becomes like an enemy to the development team to somehow find fault in their work. Of course, I understand that it is important for the tester to find fault on what a developer builds and that’s their job, but it should be productive and fruitful in the end. It should not be the case where the developer runs away whenever they see the testers and the testers try to be like a king and try to rule the developers.
This problem usually happens in product based companies where the project is an ongoing project and the developers and testers work with each other for several years but from two different teams. But imagine a situation where a set of developers becomes testers for a period of time where they will be doing only testing and issue fixing for a period of time and will never work on hardcore development activity and the other set of developers will be continuously developing. After the period of time is over, they switch roles where the developers will become testers and the testers will become developers. This will increase the understanding between both the teams and they work together understanding the client needs and build a nice product.
In agile methodology when a team is formed, it will consist of both developers as well as testers in the same team. This will also help a little bit in the concept that I’m talking about, a developer will be in tester’s shoes for some time and the tester who is always blaming the developer will be in tester’s shoes to understand the burden each one will undergo. As today it is automation everywhere, a tester or automation engineer becoming a developer is not a big deal at all and at the same time developer must need the testing skills to understand things from a client perspective.