Your company decides to sell toys online and ships globally. An in-house team is responsible for developing the online shopping website. To improve software security and quality, which of the following is the best role responsible for writing unit tests?
A. Software developer
B. Software tester
D. Continuous integration (CI) server
Kindly be reminded that the suggested answer is for your reference only. It doesn’t matter whether you have the right or wrong answer. What really matters is your reasoning process and justifications.
My suggested answer is A. Software developer.
Unit testing is white box testing. Software developers are the best candidate to write unit tests to test their own code because they know their code the most. Nowadays, test-driven development (TDD) is prevalent. Unit tests are developed first before the production code. For developers who adopt TDD, they always check in or deliver both the unit test and production codes.
Software testers can write unit test codes, but they usually have to get access to the source code or get involved, to some extent, in the development process to understand the code logic. It may violate the principle, separation of duty.