Automating Tests

Viewing content for:Β 

At Level 6, it will be nice to see you automate as many of your tests as possible. The easiest way to do this is through a tool using Continuous Integration (CI). CI is the practice of automating the integration of code changes from multiple contributors into a single software project. It allows developers to frequently merge code changes into a central repository where builds and tests then run. Automated tools are often used to assert the new code’s correctness before integration.

CI is often used to run some automated unit and integration tests before/during a branch merge on Github. This is very useful as errors that could compromise the code will get found, and the merge will be stopped before it has taken place. There are many tools that use CI including Github, Gitlab, Jenkins, and more.

More documentation on CI as well as other DevOps practices can be found in both the Delivery Guidelines. You can also find how to implement a CI pipeline in Github using Github Actions here. Visit these documents for more information.

For automating user acceptance tests, we recommend you use a tool called Selenium. This a great, portable framework for testing web applications. Automating UAT is not essential at Level 6, but it would be nice to see depending on the module (such as your Final Year Project).