View all web browser and mobile devices available in our cloud-based test lab.
Jenkins is a popular CI tool — and you should be scaling Jenkins with test automation.
Throughout the different stages of DevOps, software development processes must rely on a stable test environment. Teams need stable test automation that can cover their ever-changing web and mobile apps continuously within the CI/CD pipeline. Testing that is well-integrated into the CI/CD pipeline results in faster releases, integration validations, and unified visibility to stakeholders.
Keep reading to learn how to create a foundation of continuous test automation that can scale with Jenkins.
CI/CD/CT enables an efficient pipeline and DevOps software delivery chain.
DevOps is a compound of development and operations, or a union of people, processes, and technology. These elements work together to continuously provide value to customers at a scale across different geographies and across different platforms.
To deliver value continuously, it takes developers, Ops personnel, test engineers, a product team, the business, and everyone. But to make that a reality, you have to have a good, solid pipeline, otherwise known as the CI/CD pipeline. To have a good development pipeline, you need to have a gate at each phase to provide solid validation. This lets you know that you can transition onto the next phase confidently.
In DevOps and Agile, you want to have constant checks and feedback loops being sent back to the developers as early and as soon as possible. This is also known as shift left testing, or sometimes shifting right.
The glue that unites CI and CD is CT, otherwise known as continuous testing. It ensures that you are able to perform test automation that brings you value and that you can trust.
Continuous testing depends on test automation, but it's more than just test automation. It's also the unification of different tools, technologies, and personas. To do continuous testing and enable an efficient CI/CD, you need to be testing at each and every gate and phase in your development pipeline. This includes testing in planning, in the build acceptance test, in the building of the software, and when you do beta acceptance testing, as well as during the release and post-release in production.
Unfortunately, the reality is that there are a lot of gaps in the process of continuous testing that slow down test automation engineers. There are a lot of challenges that impact the automation coverage, the automation stability, and the feedback loop, including:
There are a lot of complexities in CI/CD/CT and you need to be strategic with those. You need to have a common understanding and a full collaboration between developers, test automation engineers, business testers, product management, and product owners. By aligning everyone, you can overcome these challenges — otherwise you risk escaped defects to production.
As if these challenges aren't enough, we are also living in a continuously changing digital reality. New technology that testing teams must keep up with includes:
New technologies like these are constantly being introduced to the market and have a huge implications on what's happening to your test automation environment. Maintenance needs to be baked into your processes, whether or not you made any change to your native or hybrid application.
If you want to start building out your continuous testing activities and merging them into the pipeline with Jenkins, here’s where to start.
If you want to establish a strong strategy for scaling continuous testing in DevOps, you need to build in quality by testing early. You need to have a good certified test automation that you can reliably execute prior to embedding it into Jenkins.
You also need to have visibility into features, into the story points to have access to the Jira design activities, and the product requirements so you can start building testing inside the cycle earlier.
These activities need to happen in parallel across the three main personas:
They need to have a solid communication layer that addresses what is supported, product requirements, and timeline. These three personas also need to provide each other access to the frameworks, to the environments, and to the data that is going to be used to build the test cases and anything that can support test creation.
Which tests should you automate? Approach this question strategically. For a test automation strategy, think about the skill sets of your three personas: the business tester, SDET, and developer, and match technology to each skillset.
You’ll also want to consider the following questions. What is in the scope of the sprint to automate? What are the objectives? What are you trying to get out of the test automation investment?
Map out the top scenarios on your app based on business needs. For example, these could include functions such as:
Charting these out like the example above will help you prioritize the most critical scenarios for testing. It’s a straightforward way to determine what needs to be automated and what needs to happen inside the cycle. The top scenarios that are impacting your customers and are mostly being used — these are the ones that need to be closely examined.
The next consideration is parallel testing. Parallel testing is key for increasing coverage to get the execution speed to the highest level and to obtain fast feedback. You do parallel testing for a reason, and you invest in having a solid test automation foundation that you can pass running in parallel upon each code change because of these three benefits:
These should be your objectives. Parallel testing is done not just to get the job done faster. It's also to put more coverage into the cycle and to get feedback much faster to the developers so you can meet sprint deadlines.
Now that you know what’s required for automated testing at scale with Jenkins, see it in action.
See a solid, reliable pipeline, running trusted test automation across 16 different devices running a single test form within Jenkins across different phases. Watch an example of testing with Jenkins and Perfecto at 41:21 in the video below.
High-value testing that’s easily scalable is what Perfecto does best.
Automate tests, synch seamlessly with Jenkins and other tools, and execute in parallel on web browsers and mobile devices. You can do all of this in Perfecto’s testing cloud.
With Perfecto, you can…
Give it a try today. Start your free two-week trial today.
Get My Trial
DevOps Chief Evangelist & Sr. Director at Perforce Software, Perfecto
Eran Kinsbruner is a person overflowing with ideas and inspiration, beyond that, he makes them happen. He is a best-selling author, continuous-testing and DevOps thought-leader, patent-holding inventor (test exclusion automated mechanisms for mobile J2ME testing), international speaker, and blogger.
With a background of over 20 years of experience in development and testing, Eran empowers clients to create products that their customers love, igniting real results for their companies.