Are Unit and QA testing necessary!?

in testing •  2 years ago 

Is having dedicated people or code to test an app, not just a big loss of time, money and productivity?

image.png

I have been managing a QA testing team and multiple development teams for a long time. I believe today that investing in testing, being either unit tests or QA tests, are a loss of time, money and so a bad choice.

1 — QA Tests

First, would you employ someone extra to test a house being built by someone else? Would you ask such person to push the walls, jump on the roof, try to break the house being built in any possible way…? Maybe you should… but you do not because you suppose that person building the house already knows his job, that he is doing already such testing if necessary and does not need someone extra to do it.

I believe we should do the same supposition for a developer building an application. A developer, in my mind, should be responsible for code he is pushing to production and test it by his own. He should not rely on an external team or person to validate that the code is working properly and not breaking something else. Splitting responsibilities is a risk to have developers not caring about the code they do and relying on testers to find the bugs. A developer having a bad code quality should just spend more time on testing his own code and not rely on someone else to do so. I have seen in my career a clear relation between code quality and QA testing. The more we were planning for QA testing the mode the code we were received was bad…

QA testing phases also delay a lot the project timelines and make difficult the small feature and iteration development strategy.

2- Unit Tests

Also, your application should be easy to update, to improve, and implementing new features should not take months or years. Unit tests are making fast changes more difficult. When implementing unit tests, you just double the size of code you have, making your app more complicated to manage and update. Every small change will become a nightmare for the developer. Also, do you really need unit tests to check that your app works fine?

A developer may spend month or years to fully cover an application with unit tests and may just need only 5 minutes to do a full regression testing. This has been the case for most of the apps we built, implementing unit tests would have been a tremendous loss of time.

3 — Conclusion

If you do the choice of not implementing unit tests and not having any QA testing neither, you still need to make sure that you, as a developer, still do the necessary testing. For every change, feature implemented, the developer needs to spend time on testing it, making sure everything works as it is supposed to do and that nothing else has been broken. If as a developer you do not spend such time then some end users will find the bugs for sure. This time spent on testing should be planned in advance. When estimating development tasks, developers should always keep in mind about time they will need to do the necessary testing too.

We have built our meeting and collaboration platform named Tipicalls.com this way. If you find some bugs, please let me know, this will mean someone within the dev team did not spend enough time on testing :-) and that potentially we should review our development strategy and maybe recruit some QA tester or implement some Unit Tests!! :-)

I hope this article helped.

tipicalls.com

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!