Index

As this ebook edition doesn't have fixed pagination, the page numbers below are hyperlinked for reference only, based on the printed edition of this book.

A

A/B testing 17

acceptance testing 17

Agile environment

test automation 11

testing, demands 5

Agile methodology 17

Agile test automation

quadrants 27

strategy, implementing 26-28

Android emulator

configuring 129-132

anti-pattern 217

API automation

considerations 171, 172

API calls

intercepting 119, 120

mocking, considerations 233

API mocking 229

working 229, 230

API requests

chaining 166, 167

organizing with collections 157-161

API response

asserting, with snippets 162-164

API testing 18

API testing tool

selecting, criteria 67

API tests 205

Appium 60, 126

advantages 126

components 60

high-level architecture 60, 61

installing 127, 128

reference link 61, 141

WebdriverIO, configuring with 132, 133

Appium Client 60

Appium doctor 142

Appium Inspector

configuring 136-138

installing 136-138

Appium Server 60

Appium/WebdriverIO test 140, 141

application programming interfaces (APIs) 10, 34, 147

arrow functions 109

creating, in JavaScript 109

assertions

working with 184, 185

async/await functions

using, in JavaScript 138, 139

automated API tests

writing 162

automation engineer

tools 43

Axe 65, 66

reference link 65

B

Bamboo 32

Bash

reference link 48

Behavior-Driven Development (BDD) 18

black-box testing 18

bug

versus defect 6

business layer pattern 41

C

callback functions 110

creating, in JavaScript 110, 111

Carthage 142

Chai 112

Chai Assertion Library

reference link 162

Chef 25

CI/CD integration 68

CircleCI 104

CLI 44-46

advantages 48

flags 47, 48

shell scripting 48, 49

usage, tips/tricks 47

Vim, working with 46, 47

cloud-based environment

tapping, advantages 34

cloud service providers (CSPs) 143

coding/design anti-patterns

assertions, incorrect usage 220, 221

business logic, validating with UI tests 222

code duplication, impact 218, 219

code quality, compromising in tests 217

complex tests, affecting test maintainability 219, 220

data, handling within test frameworks 221, 222

inefficient code reviews, effects 223

refactoring, significance 222

tightly coupled code 218

cohesion 218

collections

used for organizing API requests 157-161

collection variables 164

command line

used, for executing spec 113-115

used, for handling Jmeter’s tests 186-188

comma-separated values (CSV) file 30

component tests 205

conditional statements

using 97-99

containers 171

continuous delivery (CD)

and deployment pipeline 202-204

continuous integration and continuous delivery (CI/CD) 199

basics 201, 202

GitHub Actions 208-212

process 200

test automation strategies 204

continuous integration (CI) 32, 104

continuous testing 10

coupling 218

Create, Read, Update, Delete (CRUD) 148

cy.get function 116

Cypress 62, 104, 229

additional configurations 120, 121

API calls, intercepting 119, 120

components 62

features 104

high-level architecture 62, 63

installing 104-109

limitations 121

reference link 63

selectors, using 116

test, creating 109

Cypress Node.js server 62

Cypress test runner 62

D

data-driven testing 18

data types

objects 87

primitive 87

data variables 164

defect 6

versus bug 6

defect management

in testing 6

design patterns, in test automation

business layer pattern 41

factories pattern 40, 41

Page Object Model (POM) 38-40

using 37

development-operations (DevOps) 7, 34

Docker

URL 148

Document Object Model (DOM) 116

dynamic test suite data 221

E

ECMAScript 84

ECMAScript 6 (ES6) version 109

emulator 143

end-to-end (E2E) test automation framework 127

end-to-end (E2E) testing 18, 25, 104

end-to-end (E2E) tests 200, 205, 206

environment variables 164

exploratory testing 18

Extreme Programming 9

F

factories pattern 40, 41

fat arrow (=>) 109

flags

in CLI 47, 48

flags, using with commit command

--amend 75-77

-m 74, 75

framework level constants 222

functional bugs 4

functional test data 221

G

Garden.io 216

GET API request

creating 152-155

GET request

sending with Postman 151

Git 49-56, 74

change, committing 74

commands 80

commit message 74

flags 76

flags, using with commit command 74-77

merge conflicts, resolving 77-80

reference link 56

Git commands

git bisect 80

git cherry-pick 80

git rebase 81

git reflog 81

git reset 81

git revert 81

GitHub Actions 104

global data 221

global variables 164

go-to-market (GTM) 34

Grid 58

Groovy documentation

reference link 193

H

Homebrew 85, 87

HTTP(S) Test Script Recorder

using 189, 190

Hybrid apps 60

I

Integrated Development Environment (IDE) 58

selecting, features 81, 82

setting up 82, 83

using 81

VS Code, downloading 82, 83

integration testing 18

Internet of Things (IoT) 29

iOS-specific considerations, mobile automation

CSPs, selecting 143

real devices, versus emulators 143

issues

test automation 213-217

J

Java 191-193

Java Development Kit (JDK) 193

Java documentation

reference link 193

Java Runtime Environment (JRE) 193

JavaScript 84

basics 85

data types 87, 88

exploring 100

functions 99, 100

learning, need for 84

objects 89

strings, working with 88, 89

variables 86, 87

JavaScript arrays

using 89-91

JavaScript functions

with async/await 138, 139

JavaScript objects

arrays 94

destructuring 93

object literals, working with 91, 92

JavaScript program

executing 85

Node.js, installing 84

running 84

Java Virtual Machine (JVM) 191, 193

Jest 229

JIRA 32

JMeter 63, 176

components 64

download link 176

high-level architecture 64, 65

HTTP(S) Test Script Recorder, using 189, 190

installing 176-178

Java 191-193

Java essentials for 190

performance test, automating 179

performance testing, considerations 195

reference link 64

working 176

JMeter master 64

JMeter slave nodes 64

JMeter, user manual

reference link 190

JSON Server 229

JSR233 assertion

using 193-195

L

latency

versus sample time 184

listener 182

load testing 18

local variables 164

loops 94

working with 95, 96

M

machine learning (ML) 28

master on repository 49

master-slave architecture 64

mobile automation 141

challenges 141, 142

iOS-specific considerations 142

mobile automation framework

optimizing 144-146

mobile test

writing 138

mobile testing tools 68

Mocha framework 112, 133

mock API

setting up, with Postman 230-233

Mocki.io 229

N

Native apps 60

Newman 169

Node.js 60, 84

non-functional requirements (NFRs) 204

O

object-oriented programming (OOP) 104

P

Page Object Model (POM) 38-40

penetration testing 18

performance testing tool

requirements 66

selecting 66

performance test, JMeter

assertions, working with 184, 185

automating 179

building 179-184

running 179-184

working, via command line 186-188

personally identifiable information (PII) 33, 122

Portable Document Format (PDF) file 32

POST API request

creating 155-157

Postman 229

API requests organizing with collections 157-161

automated API tests, writing 162

download link 149

REST API testing 148

tests, executing 167-171

used for sending GET request 151

used for sending POST request 151

using, to set up mock API 230-233

variables 164-166

working with 148

workspaces, creating 150

workspaces, managing 150

Postman application

downloading 149

Postman docs

reference link 171

POST request

sending with Postman 151

Prettier 112

process-oriented anti-patterns 223-226

Progressive Web Apps (PWAs) 142

Q

quality 7

quality engineering

roles, exploring 15

Quick Test Professional (QTP) 30

R

real devices 143

request dashboard in Postman 151

REST APIs

testing aspects, GraphQL versus 172

REST API testing 148

S

sample time

versus latency 184

security testing 18

selectors 116

asserting on 117-119

working with 116, 117

Selenium 57

components 58

high-level architecture 58, 59

Selenium WebDriver 40

shell scripting 48

Shift-Left approach 7

Shift-Right approach 7

smoke testing 18

smoke tests 206, 207

snippets

used, for asserting API response 162-164

Software Development Engineer in Test (SDET) 16, 17, 32 , 204

responsibilities 16

versus test automation engineer 16

software testing 4

spec 109

executing 113

executing, with command line 113-115

executing, with visual test runner 115, 116

structure 112

writing 112

stress testing 18

system testing 18

T

Terraform 25

test automation 9-11

agile test automation 11, 12

anti-patterns 217

challenges 12

coding/design anti-patterns 217

metrics 13, 14

process-oriented anti-patterns 223-226

recurrent issues 213-217

regression bugs, finding 13

regression bugs, handling 13

test automation engineers 15, 16

test automation environment 24

constituting 24, 25

provisioning 25

testing, in production environment 25

test automation frameworks 56

Appium 60

Axe 65

Cypress 62

JMeter 63

selecting 66

Selenium 57

standards 30, 31

types 30, 31

test automation framework, standards

maintaining 32, 33

platform, laying for tests 32

test data, sanitizing 33, 34

test libraries, managing 31

test automation strategies, for CI/CD

API tests 205

E2E tests (API and UI) 205, 206

smoke tests 206, 207

test failures, addressing 207

unit/component tests 205

test automation strategy 22

devising 29

management support, obtaining 23

objectives 22, 23

scope, defining 24

testing, in cloud 34

test results, reporting 28, 29

tools and training, selecting 29

test automation tool, selecting considerations 68

budget considerations 68

CI/CD integration 68

team’s skillset 69

test case 18

test, Cypress 109

arrow functions, creating in JavaScript 109, 110

callback functions, creating in JavaScript 110, 111

creating 109

spec, executing 113

spec structure 112

writing 112

Test-Driven-Design (TDD) 9

Test-Driven Development (TDD) 19

test early and test often 8, 9

test failures

addressing 207, 208

testing 3

challenges 8

defect management 6

demands, in agile environment 5

DevOps 7

functional 4

need for 4

non-functional 4

quality 7

Shift-Left approach 7

Shift-Right approach 7

tasks 4, 5

testing aspects, GraphQL

versus RestAPI 172

test plan 19, 176

test pyramid 35

API tests 36

component tests 35, 36

E2E tests 36

integration tests 36

system tests 36

test cycles, structuring 37

tests 36

UI tests 36

unit tests 35, 36

tests

executing, in Postman 167-171

test suite/test automation suite 19

time-to-market (TTM) 34

tools

for automation engineer 43

selecting 66

TypeScript 113

U

UIAutomator 126

Unified Functional Testing (UFT) tool 30

unit tests 205

unit testing 19

usability testing 19

user acceptance testing (UAT) 25

user interface 64

V

validation 19

verification 19

Vim

reference link 46

working with 46, 47

virtual machines (VMs) 24

visual test runner

used, for executing spec 115, 116

W

waterfall model 5, 19

Web apps 60

web automation

considerations 121, 122

WebDriver 58

WebdriverIO 127

advantages 127

Android configuration 134-136

configuring, with Appium 132, 133

web testing tool

features 67

selecting 67

white-box testing 19

X

Xcode 142

Xcode Command Line Tools 142

XCUITest 126, 142

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

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