If you’re looking to implement any sort of test automation within a software development project you’ll want to find a way of automating your test execution and result capture process. We’re not talking about ‘automating your tests’ here. We’re talking about automating the processes around the control and execution part of the process. More specifically it’s the process of Automating your testing using Jenkins.
Automating the processes, to provide a continuous testing capability, allows you to operate hands free (so to speak). It allows you to hand off all the complexity of the execution triggers, overseeing the execution and collating all the results. This capability is just as important as building out a good automation framework.
Embedding the Process of Automation
Addressing this allows you to make this way of working a habit. It allows you to start embedding the process of continuous testing in to your day-to-day way of working. As we discuss in [link to continuous-testing] this is important to you for three reasons….
- It allows you to bed in and stabilise your automated tests
- It enables to shake down and stabilise your test Environments
- It forces you to spend time evolving and stabilising your working Processes
By far the best way of implementing a “continuous test” process is by learning and implementing Jenkins. Jenkins is a Continuous Integration and Build tool typically used for code builds and deployment. However, it lends it’s self really well to the automated test management to.
The ‘Continuous Automated Testing with Jenkins’ Mini Training Course
We’ve put together a series mini training modules that will help get you started with Jenkins. Each mini tutorial shows you how to setup an automation job that will help you run and control your automated tests.
1
What is Jenkins and How to Install Jenkins
In this module we take you through the steps to get Jenkins installed and configured. The install process is quite simple but we’ll walk you through it so that you have a system setup ready to implement the subsequent Jenkins test tasks in this mini course.
2
Checking Test System Environment Before Starting Your Tests
The environment where your run your tests is just as important as the automated tests themselves. If your environment isn’t stable you have no chance of obtaining reliable results. This example job shows you how to continuously monitor your test environment and check the status. Any deviation from your expected environment configuration is alerted to you so that you can correct it before your execution runs commence.
3
Test Automation Execution based on App Version Updates
With this module we show you how to configure your first job in Jenkins and set things up so that your job monitors your application under test. When the version of the application under test changes this job will pick up the change automatically and can then be used to initiate the execution full set of regression tests.
4
Re-running A Failed Automated Test Automatically With Jenkins
Some times it’s just not possible to get your automated test to run reliably and pass 100% of the time (we’re assuming here that the issue is with the test / environment rather than the system under test). With this nifty little job configuration you’ll see how to get your automated test to run a 2nd time if it fails the first time.
5
Running Data Driven Tests with the Matrix Project Plugin
With this example Jenkins job we take you through a clever little Jenkins plugin that allows you to take one job and run it multiple times with different data sets. The job is configured to run multiple times with a different data set each time and then collate the results of multiple run to give you an aggregated overall run result.