Different types of software testing

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:

Continue reading Different types of software testing

Picking Jest over Mocha – testing tools comparison

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:

Staying with Javascript, I think it’s hard to ignore the momentum behind Jest. I would be awesome if someone fixed #2059 though. Then again, Mocha seems to work well enough for a lot of people.

Continue reading Picking Jest over Mocha – testing tools comparison

Recap: Advanced TDD workshop with Uncle Bob

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

Continue reading Recap: Advanced TDD workshop with Uncle Bob