Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Amazon Web Services

Advanced Testing Practices Using AWS DevOps Tools

Amazon Web Services and Amazon via AWS Skill Builder

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

Reviews

Start your review of Advanced Testing Practices Using AWS DevOps Tools

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.