An introductory course on Software Engineering

View on GitHub

Course project: Testing and Continuous Integration


Flesh out the testing plan you laid out in your living document and set up automated testing and continuous integration (CI) for your project.

Set up

Work with your project group to (1) revise and extend your living document and (2) set up continuous integration for your GitHub repository.


1. Add test-automation and CI to your test plan (50%)

Extend your test plan (which is a subsection of Process description) and describe:

2. Set up your test-automation infrastructure and chosen CI service (50%)

You are not expected to provide an extensive test suite for your project at this point. Rather, the goal is to have the test infrastructure and CI set up with a few existing, example tests. (Your set up and the documented test-addition process should allow a developer on the team to easily add and run a new test.)

3. Submit

Submit a PDF snapshot of your living document named ProjectName-m5.pdf to Canvas by due date (Check Calendar!).


What are some commonly used CI services?

Here are four examples for commonly used CI services:

There are other options, so make sure to do sufficient research to make an informed decision for your project.

You should describe how the CI service is integrated into your repository and how it is configured (e.g., how does the CI service access your repository and how are the triggers that you identified configured?). Your description should enable others to reproduce the steps that were required to set up CI for your project and to configure the CI service.

Any grading hints for this type of assignment?

Part of your grade will come from the plausibility and thoughtfulness of your test plan.

Further, you will be graded on your actual CI setup and your justifications for choosing that CI service.

You are expected to do some research to make an informed decision when picking a CI service and to read documentation to set up your testing and CI infrastructure.