Tools Covered:
Attendees will learn
Source Code Repository: GitHub
Build Tool: Maven / Gradle
Code Coverage: Cobertura / Open Clover
Code Quality: SonarQube
Continuous Integration / Delivery: Jenkins
Continuous Testing
- Framework: Cucumber / Gherkin
Unit Testing: Junit / TestNG
Functional Test Automation: Selenium
API Test Automation: Rest Assured
Performance Test Automation: JMeter
Centralized Test Reporting: Report Portal
Containerization: Docker
(Note: Basics of all the tools will be covered in this workshop).
Content:
Session – 1
1. Introduction to DevOps, difference and similarities with Agile
2. What is Continuous Testing?
• Difference between classic, agile and DevOps Testing and changing role of a tester
• Where does testing happen in DevOps Lifecycle
• Test First Approach (TDD, BDD) / Shift Left Test Automation
• DevOps Lifecycle
3. Testing in all phases of DevOps
• Continuous Deployment vs. Continuous Delivery and testing impact
• Release on Demand
• Dark Launches and Canary Releases
• A/B Testing
Expectation from this Session: You will be able to understand the basic of DevOps, its principles,
about continuous testing and why there is a need and where it is applied. We are going to discuss
shift left test automation and will be seeing some examples of TDD and BDD methodology. We will
also discuss A/B testing, blue green deployments and see why there is a need of continuous delivery
in the industry and why it is important to learn about the same.
Session – 2
4. Lab preparation
• Setup Eclipse
• Setup Testing tools
• Setup Jenkins
Expectation from this Session: You will be setting up the continuous testing environment on your
machine. In this we will be setting up all primary testing tools that we are going to use and, in the
process, pull some sample automation scripts to assess the environment setup. You will be able to
also learn how to setup Jenkins as your primary CI tool.
Session – 3
5. Git Strategies (GitHub)
• Dev Code Analysis
• Build Dev Code with Maven / Gradle
• Code Coverage / Code Quality Checks with Cobertura/Open Clover & SonarQube
Expectation from this Session: You will learn some basic GitHub strategies to effectively manage
your GitHub repository. In this section we will discuss trunk-based development strategy which is a
de-facto standard of the industry. You will also understand how to effectively use the build tools
(maven/gradle) in your project to manage the project dependencies and understand how important
a build tool is to manage executions of the tests. You will also understand how to work with code
coverage and code quality tools and how important is to use these to effectively introduce shift left
in the process with quick feedback on the code checked-in by the developers.
Session – 4
6. Test Development
• Test Development with Cucumber
o Selenium Test Integration for Functional Tests
▪ Understand Selenium (Assertions & Basic scripting)
o Rest Assured Integration for API Tests
• Performance Test Development with JMeter
• Git commit along with Dev Code
• Test Containerization with Docker
Expectation from this Session: You will learn to develop functional automated tests with Cucumber
& selenium, API automated tests with Rest Assured and performance automated tests with JMeter.
In all this session basic tests will be written so that we can run them as parallel pipeline tests to
effectively manage testing in DevOps and provide quick feedback to the developers. We will also
learn how to dockize the test executions to effectively manage the test infra and parallel executions
of tests.
Session – 5
7. Continuous Integration & Continuous Testing
• Jenkins file creation
• Run your pipeline
• Test integration with Pipeline
• Dashboard & Reporting
Expectation from this Session: You will learn to create parallel pipelines in Jenkins and how to
integrate your test code with Jenkins. Also, you will learn some strategies to effectively manage your
pipeline based on your project needs. In the process you will also centralise your test reporting and
see why it is important to do so and what inferences you can draw from the same.
Session – 6
8. Sample Project
Expectation from this Session: You will need to complete the sample project in the defined
amount of time. This will strengthen your knowledge that you have learnt in this workshop.