Advanced Testing Practices Using AWS DevOps Tools
Offered By: Amazon Web Services via AWS Skill Builder
Course Description
Overview
This advanced course demonstrates how to integrate testing and security into continuous integration (CI), continuous delivery (CD), and continuous deployment (CD) pipelines. You will learn how to implement advanced testing practices in various phases of the application lifecycle to deliver application updates in a safer and more reliable manner. You will learn how to use AWS DevOps tools, such as AWS CodeCommit, AWS CodeBuild, AWS CodeDeploy, and AWS CodePipeline, to implement the advanced testing practices.
You will also learn how to set up review mechanisms and perform static code analysis to identify issues earlier in the development. You will explore various types of testing, such as security, synthetic, and load testing, using AWS Lambda and Amazon CloudWatch.
• Course level: Advanced
• Duration: 2.5 hours
Activities
This course includes video presentations, demonstrations, links to resources, and knowledge checks.
Course objectives
In this course, you will learn to:
• Explain the benefits of automating testing in CI/CD pipelines
• Describe methods to promote application changes to code repositories and explain the process of pull requests
• Create the buildspec.yaml for CI testing, such as unit tests, security tests, and code linting
• Use static code analysis to identify security or code issues
• Explain how different types of testing, including integration, load, and performance testing, can be performed during continuous delivery
• Apply synthetic testing to test continuous service availability using AWS Lambda and Amazon CloudWatch alarms
• Apply canary testing to identify deployment health status during continuous deployments
• Demonstrate pipeline approval-triggered testing to identify application state
• Manage pipeline flow when service errors occur during continuous deployments
Intended audience
This course is intended for:
• DevOps engineers
• DevOps developers
Prerequisites
We recommend that attendees of this course have:
• Completed the System Operations on AWS or DevOps Engineering on AWS course
• Working knowledge of one or more high-level programming languages (C#, Java, PHP, Ruby, Python, etc.)
• Intermediate knowledge of administering Linux or Windows systems at the command line level
• Working experience with AWS using the AWS Management Console and the AWS Command Line Interface (AWS CLI)
• Proficient experience with DevOps methodology and practices
Course outline
Module 1: Overview of Testing
• Identify the benefits of a testing strategy in your development
• Describe the different stages of testing using the testing pyramid
• Use test coverage to design an effective testing plan
• Recognize the benefits of automating testing in your development lifecycle
Module 2: DevOps Review
• Identify DevOps practices that provide faster application revisions
• Apply knowledge of AWS tools, such as AWS CodeCommit, AWS CodeDeploy, AWS CodeBuild, and AWS CodePipeline, to build and automate your CI/CD pipeline
• Use AWS serverless options and third-party tools at each stage of your CI/CD pipeline
Module 3: Continuous Integration
• Establish code standards as a requirement into your development practice
• Implement various testing methods in the CI stage
• Apply the benefits of unit testing and static code analysis
• Apply Test Drive Development (TDD) and Behavior Driven Development (BDD) to create an effective test strategy
• Use Amazon CodeGuru to review and improve the quality of your code
• Demonstration: Static Code Analysis
• Demonstration: Perform Pull Request
Module 4: Continuous Delivery
• Apply testing methods in the continuous delivery stage as needed
• Recognize the benefits of functional, regression, and performance testing
• Implement testing methods using third-party tools or serverless options
• Perform synthetic testing to ensure continuity of a service
• Automate security testing to implement security audit rules
• Demonstration: Synthetic Testing
Module 5: Continuous Deployment
• Apply testing methods in the continuous deployment stage as needed
• Use health checks as a strategy to avoid deployment failures
• Perform approval trigger tests to automate continuous deployment
• Use AWS Lambda to automate approvals
• Apply deployment options available with AWS CodeDeploy
• Implement deployment types, including segmented and canary deployments
• Control pipeline flow by disabling and re-enabling transitions between stages
• Demonstration: Amazon CloudWatch Synthetics
• Demonstration: Stopping a Deployment
Module 6: Course Summary
• Recall and identify various resources from course topics
• (Optional) Create a sandbox environment using sample code in your own AWS account to test your knowledge
Tags
Related Courses
Advanced Testing Practices Using AWS DevOps Tools (Simplified Chinese)Amazon Web Services via AWS Skill Builder Advanced Testing Practices Using AWS DevOps Tools (Indonesian)
Amazon Web Services via AWS Skill Builder Advanced Testing Practices Using AWS DevOps Tools (Italian)
Amazon Web Services via AWS Skill Builder API Testing a real web application via Postman
Coursera Project Network via Coursera DevOps Pipeline: Automatización hasta el despliegue
Universidad Anáhuac via edX