An Introduction to Unit Testing and Integration Testing

Unit Testing

As a product manager who works with software engineers, you will definitely witness the various ways code is tested upon completion. Testing the end product is absolutely essential to making sure the user doesn’t run into a buggy experience and the feature doesn’t break another part of the product or site.

In this post we’ll be going over a basic introduction of a couple of types of testing and how product managers typically work with the developers to triage bugs from tests.

Unit Testing

Unit testing is the act of testing certain areas of code and verifying that those functions work as expected. It’s only concerned about testing code that lives within the function body and not how it interacts with other parts of the application.

It helps to see unit testing as a fine-grained style of testing that focuses on finding bugs or defects for a particular portion of the feature. Ideally, unit tests can be repeatedly run during the development cycle whenever changes are made to verify the quality of code.

Integration Testing

Integration testing is the act of testing several function bodies as a group and making sure that all software modules interact with no issues. This type of testing is a coarse-grained style of testing that focuses more on the feature as a whole and less on individual units.

Functional (acceptance) testing is a type of integration testing that requires the application to be actually run. This type of end-to-end (E2E) testing ensures that the entire flow of a particular feature fits the original testing criteria. An example is manually going through the checkout process on the site, placing an order, and receiving a confirmation email.

Product Manager’s Role in Testing

Typically the PM does not write or perform the actual tests – that’s left to the software engineers or QA engineers. However, the PM does have a large role in prioritizing (triaging) any defects that are discovered during the testing process.

When a defect is discovered, the engineer can assign a severity rating and recommend the prioritization. The PM’s job during the defect triage is to make sure that the most important defects – based on business requirements, time, and money – are addressed first.

For instance, a small UI issue could be categorized as a major defect, but the PM could decide to downgrade it to a minor defect since it doesn’t break functionality. Given the project timeline, there are other more essential issues (major and moderate defects) to address first before addressing the minor defects.


By no means is this list exhaustive of all the styles of testing out there, but it should give you a good idea of the most common types of testing as well as the product manager’s role in triaging defects.

 


Curious to learn more about unit testing and integration testing? Meet, learn from, and chat with other product managers around the world in our Product Manager HQ Community.

Join 30,000+ Product People and Get a Free Copy of The PM Handbook and our Weekly Product Reads Newsletter

Subscribe to get:

  1. A free copy of the PM Handbook (60-page handbook featuring in-depth interviews with product managers at Google, Facebook, Twitter, and more)
  2. Weekly Product Reads (curated newsletter of weekly top product reads)
Powered by ConvertKit