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

Our purpose is to transform access to education.

We offer a diverse selection of courses from leading universities and cultural institutions from around the world. These are delivered one step at a time, and are accessible on mobile, tablet and desktop, so you can fit learning around your life.

We believe learning should be an enjoyable, social experience, so our courses offer the opportunity to discuss what you’re learning with others as you go, helping you make fresh discoveries and form new ideas.
You can unlock new opportunities with unlimited access to hundreds of online short courses for a year by subscribing to our Unlimited package. Build your knowledge with top universities and organisations.

Learn more about how FutureLearn is transforming access to education