Software testing helps protect code from incoming bugs and improves general quality of the functionalities exposed to the users. When you look at it from the developer’s standpoint the first thing that comes to mind is unit testing. However it turns out tests come in many flavors. I have already shared in the recap from Advanced TDD workshop with Uncle Bob what kinds of tests a professional team should use to ensure that the application remains intact. The following items create a hierarchy:
At Automattic we use Mocha to run all tests written for Calypso project which powers WordPress.com. It also includes end-to-end tests, which live in their own repository. We have been using this setup for over 3 years now. I think it is a good moment to revisit this choice. I found this unit testing tools comparison very helpful when evaluating alternatives. I strongly agree with the conclusions shared by Martin Olsson in his article:
Earlier this week I attended a three day Advanced TDD workshop delivered by Uncle Bob Martin. The course explained the principles and practices of Test-driven development as described in his book, Agile Software Development, Principles, Patterns, and Practices. It was an amazing experience, packed with great knowledge, so I couldn’t resist sharing my notes.
Uncle Bob (Robert C. Martin):
He has been a programmer since 1970. He is the Master Craftsman at 8th Light inc, an acclaimed speaker at conferences worldwide, and the author of many books including: The Clean Coder, Clean Code, Agile Software Development: Principles, Patterns, and Practices, and UML for Java Programmers.
– Skills Matter