240 likes | 255 Views
Explore the integration of DevOps practices in QA, including automation, infrastructure as code, continuous testing, and monitoring. Learn how to leverage the DevOps toolchain for frictionless application delivery. Gain the knowledge and pipeline required to perform continuous QA in complex environments.
E N D
Welcome TCQAA DEVOPS & THE FUTURE OF TESTING
Devops & QA Why DevOps The Goal QA and DevOps: The QA Roles Change for the better Integrating the DevOps practice in QA Clouds, VM’s, Containers– The Building Blocks DevOps in Action – Demo Infrastructure and Toolchain Q&A
THE GOAL Workflows that make application delivery frictionless—a developer can push his or her code to a source repository, and infrastructure is automatically deployed to support test processes that can push an application all the way to production without human intervention.
The QA Roles Change for the better • Testing is more than just the App • Understand the entire deployment process • Build what is needed for Test and Monitoring • Dev, Stage and Production Environments • Manage Reporting and Instrumentation
Devops Keys • Infrastructure as code • Provisioning Environments • Automated application deployment • Knowledge sharing • Continuous integration and delivery • Automated test harness deployment • Continuous Testing • Instrumentation, Logging and Monitoring • Analysis
DevOps • Continuous Deployment • Continuous Innovation • Continuous Monitoring/ Modeling • Continuous Quality
Deploy and Mange Test Environments Test Automation Deployment Monitoring Reporting All Testing Automated Unit Tests Functional Tests Performance Tests Script and Manage Test Automation GUI /CLI Interfaces C# / .NET Java Dev Cloud Pipeline Application Traditional QA QA in DevOps Cloud Knowledge and Pipeline Knowledge required to Perform Continuous QA on Application
Leverage the Pipeline Deploy Complex Environments Deploy Test Environments Run Tests Capture Data Tear Down Repeat, Dev, Dev. Dev, Stage,Prod
Devops & QA – Know your Tool Options • DevOps – • The Tool Chain • Source Control • Orchestration Tools • CI/CD Tools • Hypervisors/Clouds • Containers App/Service Deployment • Monitoring
The Building Blocks Develop Test Deploy Monitor Log Manage Security Collaboration
Docker - Build and Run in Containers • Abstract the underlying infrastructure and middleware: • Runtime Environments • Services • Desired State Configurations • Everything need to run the AUT • Using: • Described as Code (IAC) • Orchestration and Deploy • Docker Kubernetes Open Shift , DockerCloud
Docker Build QA Pipeline then Use image until change is Needed version: '2' networks: prodnetwork: driver: bridge services: nexus: image: rburton04/nexus:tcqaa ports: - "18081:8081" networks: - prodnetwork jenkins: image: rburton04/jenkins:tcqaa ports: - "18080:8080" networks: - prodnetwork volumes: - /var/run/docker.sock:/var/run/docker.sock - /usr/bin/docker:/usr/bin/docker - /opt/jenkins/:/var/lib/jenkins/ depends_on: - nexus - gitlab environment: - NEXUS_PORT=8081 - SONAR_PORT=9000 - SONAR_DB_PORT=5432 services: nexus: build: ./nexus ports: - "18081:8081" networks: - prodnetwork jenkins: build: ./jenkins ports: - "18080:8080" networks: - prodnetwork volumes: - /var/run/docker.sock:/var/run/docker.sock - /usr/bin/docker:/usr/bin/docker - /opt/jenkins/:/var/lib/jenkins/ depends_on: - nexus - gitlab Docker Compose up Docker Build FROM jenkins:2.19.4 # Adding default Jenkins Jobs COPY jobs/3-conference-app-seed-job.xml /usr/share/jenkins/ref/jobs/3-conference-app-seed-job/config.xml COPY jobs/3-conference-app-seed-job-dev.xml /usr/share/jenkins/ref/jobs/3-conference-app-seed-job-dev/config.xml COPY jobs/3-conference-app-seed-job-qa.xml /usr/share/jenkins/ref/jobs/3-conference-app-seed-job-qa/config.xml COPY jobs/3-conference-app-seed-job-preprod.xml /usr/share/jenkins/ref/jobs/3-conference-app-seed-job-preprod/config.xml COPY jobs/4-selenium2-seed-job.xml /usr/share/jenkins/ref/jobs/4-selenium2-seed-job/config.xml COPY jobs/5-docker-admin-seed-job.xml /usr/share/jenkins/ref/jobs/5-docker-admin-seed-job/config.xml
The Tools For Our Pipeline Develop CI/CD Orchestration Test Monitor Docker Compose
QA Devops Docker Cloud Orchestration AWS Infrastructure • Sonar/Portainer • NewRelic/ELK GIT Development • Test Framework Docker AUT Dev Unit GitLab AUT Branches Test Folders Docker Cloud Production Deploy Docker/AUT QA Integration Jenkins Docker/AUT PreProd E2E UI Drop Folder Integration Drop Folder E2E Monitor Android Firefox Drop Folder UI Selenium Server Chrome IOS
Summary • Learn to Navigate the Tools • Understand How everything works together • Containers • Tests • Instrumentation • Automate the spin up of the whole thing • Keep it agile for easy changes