Skip main navigation

Tests and Usage Scenarios


In the last step, we revisited continuous testing with Steven Borg. In this step, we will look at tests and usage scenarios.

Let’s take a quick look at different types of tests and understand their basic usage scenarios:

Unit Tests

There are automated, simple, repeatable, and maintained tests (pieces of code) that invoke a unit of work in the system and then check a single assumption about the behavior of that unit of work. In simple terms, a unit test provides validation at the unit or method level.

Usage scenario:

  • Typically developed and run by developers at the start/during the software development process.

  • Run at every build to test individual units of system in isolation.

Integration Tests

An integration test validates two or more dependent software modules (or components) as a group in multiple ways. In other words, an integration test validates that software modules work properly when they are integrated with other modules.

Usage scenario:

Run at every build to see how different software modules/components are coming together and identifies any integration issues early.

Automated UI Tests

These automated tests are done through the user interface (UI) to test components together in scenarios. These tests typically drive your application through its user interface and include functional testing of the UI controls.

Usage scenario:

  • Run after the application UI is up and running to test the functionalities of the application to ensure that various components of the application work as expected.

  • These tests let you validate whether the whole application (including its user interface) is working correctly.

  • Many times, these tests are used to automate an existing manual test.

Performance Tests and Load Tests

Performance tests validate the application’s responsiveness, throughput, reliability, and stability. A load test puts demands on a system to determine behavior under varying levels of load, identify bottlenecks, and validate expected performance.

Usage scenario:

  • Should be run at every build. However, must be run before release to the production to ensure application can perform per end user expectations and handle expected levels of load.

  • Tests whether a system can perform under heavy user load to meet non-functional requirements, such as response time of a web page.

Manual Acceptance and Exploratory Tests

A manual acceptance test validates if a requirement or specification is met. An exploratory test uses a tester’s intelligence and creativity to validate quality, usability, performance, experience, and other metrics.

Usage scenario:

  • Typically run manually before production to ensure that the software meets the business requirements/needs.

  • In this type of test, a tester is responsible for managing her or his own time and finding creative ways to test the system at any stage.

In the next step, we will learn about the types of testing. Click on Mark as complete to move on to the next step.

This article is from the free online

Microsoft Future Ready: Fundamentals of DevOps and Azure Pipeline

Created by
FutureLearn - Learning For Life

Reach your personal and professional goals

Unlock access to hundreds of expert online courses and degrees from top universities and educators to gain accredited qualifications and professional CV-building certificates.

Join over 18 million learners to launch, switch or build upon your career, all at your own pace, across a wide range of topic areas.

Start Learning now