If you’ve been looking around for information on unit testing and want to know a bit more, or possibly see an example of how to put it into practice, you’re in the right place.

By the end of this blog post, you should be able to:

  • Look over parts of your code where you’d like to add unit tests.
  • Understand how to break your code into smaller functions.
  • Determine what to test.
  • Start creating your tests.

We’ll also cover rudimentary mocking, which is the practice of writing pretend calls to test your code against predictable values.

Read More

“I have an idea to test this.” “Something is wrong here. We need to test it.” “How can we test this so nothing goes wrong?”

I hear statements like this a lot when people come to me wanting to test something. Often it turns out that the problem and the solution are different from what my colleague thinks it is. My goal, as my team’s lead, is to solve the problem in the most efficient way possible. My team is small and the requests for our time are numerous. I’m always trying to find ways to solve testing problems without building automation projects.

Here’s how I do that.

Read More

A bug is anything that would make a user think less of your product. It’s the simple. You can split hairs from there, but that’s the baseline. In this post, we’ll talk about what a bug is and how you should approach finding and reporting them.

Types of Bugs

If we define a bug as anything that detracts from your product, that doesn’t mean we can leave it at that. These bugs can be categorized in many ways, but the most logical to me, is to consider what type of defect it is and how exactly it fails a user. I’m always looking for ways to expand my empathy for the users I expect to use my product, and this type of categorization helps.

With that in mind, these are the ways I sort out bugs.


Functionality bugs fail a user because we’re violating the stated goals of our product.

This is the baseline for bugs for an average tester. Any one who tests software should be ready to ask questions about requirements and be ready the moment a new feature is available to test with both standard and tricky use cases.

Read More

No. That’s silly and unattainable.

How about you take a sensible approach to writing unit tests?

  • Ask questions about what you should be testing. Code that is:
    • Prone to break
    • Changes a lot
    • In a high traffic part of the app
  • Look at things like mutation testing, like Stryker
  • Remember that test coverage isn’t a number to reach, but one metric in a game of testing effectively

Quality is something we talk about all the time. We want our work to be good, to make money, to help others, to be awesome and admired. The word quality comes up, especially while planning our work. In the end, we say we don’t test enough, we have to do hotfixes, the app breaks in ways we didn’t imagine.

The dictionary says that quality, in this context, is:

degree of excellence, superiority of kind

Obviously, a quality product goes way beyond just software. We apply similar standards to every item we use, every piece of art or music we consume, and even the people around us. Quality is something we all know when we see it but find it hard to explicitly define. As it relates to software directly, it:

Read More

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now