Hacker News new | ask | show | jobs
Being a Developer After 40 (medium.freecodecamp.com)
33 points by peacewise 3532 days ago
2 comments

> Unit tests were unheard of [in 1997]

Really, now.

The Unit Test wikipedia page cites as one of the external refs this:

IEEE Standard for Software Unit Testing: An American National Standard, ANSI/IEEE Std 1008-1987

The last four digits there refer to the year. I.e. Unit Testing had already crawled into a standard and died ten years before 1997.

The "unit testing" of that standard (https://s3.amazonaws.com/akitaonrails/files/std1008-1987.pdf) is a process that is quite a bit heavier than what we now understand unit testing to be.

In particular, it assumes the existence of detailed requirements documentation, and requires excessive documentation on tests and their results.

One thing that makes it an evolutionary step towards modern unit testing is that it explicitly states that developers may do the unit testing.

I didn't start my career until the late 90s but I never saw anyone write a unit test until the XP craze started kicking off in the early aughts. Even then it was a few more years before I saw it happen commonly.
The fad of writing countless unit tests for every function, checking them in, and running them feverishly all the time, is what is new.

Programmers have tested individual low-level functions before using them to build higher level functions, since the dawn of programming.

Libraries with regression test suites existed long before TDD.

Sure, we had regression tests at my jobs back then but they were always written and managed by QA groups. I never saw nor wrote any until a few years later.
Indeed.

I happen to have on my shelves Jon Bentley's More Programming Pearls. In the chapter "Bumper Sticker Computer Science" is the passage

'"It takes three times the effort to find and fix bugs in system test than when done by the developer. It takes ten times the effort to find and fix bugs in the field than when done in system test. Therefore, insist on unit test by the developer."

Larry Bernstein Bell Communications Research'

Book published 1988, CACM column of March 1986.

I'm sure NASA were doing unit testing in 1987.
There is some OK stuff in here but there is also a lot of codswallop and it's far too verbose, eg. make sure you learn Node, be sure to read this set of books. "But everything old is new again, and ignore fads!" It's worse than verbose and of dubious quality, it's internally inconsistent.