Member-only story

Unit Testing Clarified

Only programmers do unit testing, which is no concern to software testers (QA team).

Zhimin Zhan
7 min readAug 21, 2021

Non-Medium-Members: you can view this article free on Vocal Media.

This article is one of the “IT Terminology Clarified” series.

In software testing, there are many terminologies that are used wrongly by IT professionals. In this article, I will talk about ‘Unit Testing’, which is misused a lot in software projects.

Unit testing is a type of white box testing performed by programmers at the source code level. Software testers (QA team) should have no concerns about it. A more correct term for ‘Unit Testing’ would be “Programmer Test(I didn’t invent this term, I read it from a book. Pitifully, I forgot the name of that book).

Last week, an IT manager showed me their release document, which has “QA unit testing(by manual testers). I pointed out the error. This manager was quite open-minded and corrected it immediately: “QA functional testing”. I have seen this mistake many times; however, not everyone was willing to admit that. Though I don’t remember anyone argue on this (the mistake was so obvious), a common response from the tech leads: “put aside the differences of the terminology, blah blah blah, …”. Frankly, I have lost interest in listening to a tech lead who does not even understand this basic stuff. It is pointless to discuss Test Automation, CI/CD or Continuous Testing with him.

What is a Unit Test?

A software product that passes comprehensive programmer tests (i.e. unit tests) can still fail on many functional tests. That’s because unit tests are from a programmer’s perspective, and functional tests are from a user’s perspective. A unit test is a type of automated test. You must have heard of the xUnit framework. JUnit, created by Kent Beck and Erich Gamma, kickstarted the unit testing revolution in 1998.

“Never in the field of software development have so many owed so much to so few lines of code” — Martin Fowler, on “xUnit Test Patterns” book.

However, many programmers do unit tests poorly. Michael Feathers, the author of ‘Working Effectively with Legacy Code”, wrote a famous post “A Set of Unit Testing Rules” in…

--

--

Zhimin Zhan
Zhimin Zhan

Written by Zhimin Zhan

Test automation & CT coach, author, speaker and award-winning software developer. Help teams succeed with Agile/DevOps by implementing real Continuous Testing.

No responses yet

Write a response