Skip main navigation

Testing in Continuous Integration and Continuous Deployment Workflows

.

As part of a continuous integration workflow, you can create several types of automated tests that enable you to test your application more efficiently. Let’s have a look at this here.

Automated tests run test steps for you and determine whether the tests pass or fail. These tests can be run more frequently, and can more quickly test whether your application is still working correctly after code changes have been made.

In continuous integration, the focus is on getting an automated “’good” build-out with basic build verification tests. For continuous deployment, the focus is on testing and release management flows.

A typical continuous integration workflow will contain:

  • Setting up the automated build and unit testing.
  • Setting up machines for application deployment and testing.
  • Configuring for application deployment and testing.
  • Queuing the build, executing tests, and analyzing test results.
  • Configuring the whole workflow to execute on a continuous basis.

The following principles have been applied while developing the above workflow:

Open and Extensible

  • Build a framework of your choice – you can use MSBuild, Maven, Ant, Gradle etc.
  • Test Frameworks of your choice – you can run MSTest, Selenium Tests, Junit, Nunit etc.
  • The task model is fully extensible and you can add your own tasks.

Reusing Assets

  • It has been designed in such a way that the assets/tasks you create can be used on both continuous integration and release management workflow
  • Simplified machine provisioning and deploying experience
  • Distributed Test Execution
  • Effectively execute a large number of diverse automated tests (Unit, Functional UI – + Selenium and Coded UI, Functional Non-UI, 3rd party adapter, Cloud Load Tests etc.) on remote machine group
  • Rich Test reports and Test Results Analysis
  • Drill down into test results and analyze test failures, helping you validate the quality of a build or a release.

Now that we’ve looked at the testing aspects, let’s explore Full DevOps.

Join the discussion

True continuous integration would imply that every single build gets fully tested. However, even with the best test automation system in the world, this simply isn’t possible and you can experience glitches. Discuss what you could do to minimise the risk of this occurring.

Use the discussion section below and let us know your thoughts. Try to respond to at least one other post and once you’re happy with your contribution, click the Mark as complete button to check the step off, then you can move to the next step.

This article is from the free online

Microsoft Future Ready: Continuous Integration Implementation

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