Table of Contents

Preface

Part 1: The Basics

1

Introduction to Test Automation

Getting familiar with software testing

Knowing the importance of testing

Tasks involved in testing

Testing in an world

Defect management in testing

Shift-Right and Shift-Left propositions

Quality and DevOps

Challenges in testing

Test early, test often

Understanding test automation

Agile test automation

Test automation challenges

Finding and handling regression bugs

Test automation metrics

Exploring the roles in quality engineering

Test automation engineer

SDET

Familiarizing yourself with common terminologies and definitions

Summary

Questions

2

Test Automation Strategy

Technical requirements

Knowing your test automation strategy

Test automation objectives

Gathering management support

Defining the scope of test automation

Test automation environment

Implementing an Agile test automation strategy

Reporting the test results

Devising a good test automation strategy

Selecting the right tools and training

Standards of the test automation framework

Testing in the cloud

Understanding the test pyramid

Unit/component tests

Integration/API tests

E2E/System/UI tests

Structuring the test cycles

Familiarizing ourselves with common design patterns

Using design patterns in test automation

Summary

Questions

3

Common Tools and Frameworks

Technical requirements

The basic tools for every automation engineer

The CLI

Git

Common test automation frameworks

Selenium

Appium

Cypress

JMeter

AXE

Choosing the right tool/framework

Selecting a performance testing tool

Selecting an API testing tool

Selecting a web testing tool

Mobile

Common considerations

Summary

Questions

Part 2: Practical Affairs

4

Getting Started with the Basics

Technical requirements

Getting more familiar with Git

Committing a change

Resolving merge conflicts

Additional Git commands

Using an IDE

Choosing an IDE

Downloading and setting up VS Code

Introduction to JavaScript

Why learn JavaScript?

Running a JavaScript program

JavaScript basics

Summary

Questions

5

Test Automation for Web

Technical requirements

Why Cypress?

Installing and setting up Cypress

Creating your first test in Cypress

Creating arrow functions in JavaScript

Creating callback functions in JavaScript

Writing our first spec

Becoming familiar with the spec structure

Executing our first spec

Employing selectors and assertions

Working with selectors

Asserting on selectors

Intercepting API calls

Additional configurations

Considerations for web automation

Limitations of Cypress

Web automation considerations

Summary

Questions

6

Test Automation for Mobile

Technical requirements

Getting to know Appium

What is Appium?

Advantages of using Appium

Knowing WebdriverIO and its advantages

Setting up Appium and WebdriverIO

Appium installation

Configuring an Android emulator

Configuring WebdriverIO with Appium

WebdriverIO Android configuration

Appium Inspector installation and configuration

Writing our first mobile test

JavaScript functions with async/await

First Appium/WebdriverIO test

Key considerations for mobile automation

Areas of complexity

iOS-specific considerations

Optimizing our mobile automation framework

Summary

Questions

7

Test Automation for APIs

Technical requirements

Getting started with Postman

Basics of REST API testing

Downloading the Postman application

Creating and managing workspaces

Sending GET and POST requests

Making a GET API request

Making a POST API request

Organizing API requests using collections

Writing automated API tests

Using snippets for asserting an API response

Understanding Postman variables

Chaining API requests

Various ways to execute tests

Key considerations for API automation

Effective API test automation

Testing GraphQL versus REST APIs

Summary

Questions

8

Test Automation for Performance

Technical requirements

Getting started with JMeter

What is JMeter and how does it work?

Installing JMeter

Automating a performance test

Building and running our first performance test

Working with assertions

Working with tests via the command line

Using the HTTP(S) Test Script Recorder

Java essentials for JMeter

A quick introduction to Java

Using the JSR233 assertion

Considerations for performance testing

Summary

Questions

Part 3: Continuous Learning

9

CI/CD and Test Automation

Technical requirements

What is CI/CD?

CI/CD process

CI basics

CD and deployment pipeline

Test automation strategies for CI/CD

Unit/component tests

API tests

E2E tests (API and UI)

Smoke tests

Addressing test failures

GitHub Actions CI/CD

Summary

Questions

10

Common Issues and Pitfalls

Recurrent issues in test automation

Unrealistic expectations of automated testing

Inadequate manual testing

Not focusing on automating the right things

A lack of understanding of the system under test

Overlooking test maintenance

Not choosing the right tools

Under-investing in test environments

Taking a siloed approach

Not taking a lean approach

Not having a plan for test data needs

Test automation anti-patterns

Coding and design anti-patterns in test automation

Process-oriented anti-patterns in test automation

Summary

Questions

Appendix A:Mocking API Calls

How API mocking works

Mocking API calls using Postman

Considerations for API mocking

Summary

Assessments

Chapter 1, Introduction to Test Automation

Chapter 2, Test Automation Strategy

Chapter 3, Common Tools and Frameworks

Chapter 4, Getting Started with the Basics

Chapter 5, Test Automation for Web

Chapter 6, Test Automation for Mobile

Chapter 7, Test Automation for APIs

Chapter 8, Test Automation for Performance

Chapter 9, CI/CD and Test Automation

Chapter 10, Common Issues and Pitfalls

Index

Other Books You May Enjoy

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.14.5.156