Learn API testing norms, practices, and guidelines for building effective test automation

Explore software web application architecture, API testing, coding practices, and the standards for better API test automation development and management. This book focuses on aspiring software testing engineers currently working in API testing, and those starting their journey in the field of softw...

Descripción completa

Detalles Bibliográficos
Otros Autores: Jain, Jagdeep, author (author)
Formato: Libro electrónico
Idioma:Inglés
Publicado: New York, NY : Apress [2022]
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009671496806719
Tabla de Contenidos:
  • Intro
  • Table of Contents
  • About the Author
  • About the Technical Reviewers
  • Acknowledgments
  • Introduction
  • Chapter 1: Introduction to API Testing
  • What Is API Testing?
  • Need
  • Types of API Testing
  • Advantages
  • Summary
  • Chapter 2: Web Application Architecture
  • Web Applications Defined
  • Monolithic vs. Microservices Architecture
  • Designing Test Strategies
  • RESTful Architecture
  • HTTP
  • Headers
  • Requests
  • Request Methods
  • Resource Addresses
  • Request Headers
  • Request Body
  • Response
  • Status Line
  • Response Header
  • Response Body
  • Response Codes
  • Summary
  • Chapter 3: Authentication
  • HTTP Authentication
  • Basic Authentication
  • Session-Based Authentication
  • Token/JWT-Based Authentication
  • OAuth2-Based Authentication
  • Authorization
  • RBAC
  • ABAC
  • Authentication and Authorization Services
  • Summary
  • Chapter 4: Tools, Frameworks, and Libraries
  • API Testing Tools
  • cURL
  • Authentication
  • POST
  • GET
  • PUT
  • DELETE
  • Postman
  • Workspace
  • Globals/Environments
  • Collection
  • Authentication
  • Parameters
  • Assertions
  • Requests
  • HTTP Methods
  • Authentication
  • Variables
  • Console
  • POST
  • GET
  • PUT
  • DELETE
  • RestAssured
  • Frameworks/Libraries
  • TestNG
  • Log4j
  • Jackson-Databind
  • HashMap
  • Assertj
  • Java Spring
  • Summary
  • Chapter 5: Test Pyramid
  • Black Box Testing
  • Grey Box Testing
  • White Box Testing
  • Test Pyramid
  • Summary
  • Chapter 6: Testing the API
  • Workflows/Use Cases/Test Script
  • Schema Validation
  • Test Coverage
  • Header Testing
  • Request Header
  • Correct Header
  • Missing Header
  • Incorrect Header
  • Unsupported Type
  • Response Header
  • Supported Type
  • Response Codes
  • Request Body
  • Format Unsupported
  • Special Characters
  • Very Long Strings
  • Invalid Method
  • Invalid Value
  • Incorrect Data Type
  • Empty Data/Object.
  • Required Fields
  • Null
  • Redundant Fields
  • DELETE Already Deleted Entity
  • Duplicate Check
  • Response Body
  • Actual Data vs. Expected Data
  • Limit/Size/Pagination/Sorting
  • API Version Testing
  • Internal vs. External APIs
  • Consumer-Driven Contract Testing
  • Importance of Negative Testing
  • Summary
  • Chapter 7: A Good Test Script
  • Components of a Test Script
  • setup()
  • test()
  • teardown()
  • Guidelines
  • Single-Attempt Test
  • Document Test Objective
  • Keep It Small
  • Use assertj for Assertions
  • Use log4j
  • Order of Tests
  • No Interventions Between Test Steps
  • Avoid Hard Sleeps
  • Always Use Assertions
  • Do Not Overtest
  • Do Not Import a Test into Another Test
  • Test Boundaries
  • API Test Coverage
  • Provide Short Commands
  • Do not try{} catch{}
  • Summary
  • Chapter 8: Coding Guidelines
  • Coding Best Practices
  • Class Naming Conventions
  • Method Naming Conventions
  • Variable Naming Conventions
  • Constant Naming Conventions
  • Provide User Actions
  • Simplicity
  • Indentation
  • Test Assertions
  • Test Class Naming Conventions
  • Test Method Naming Conventions
  • Test Package Naming Conventions
  • Documentation
  • Summary
  • Chapter 9: Organize a Test Framework
  • Framework Requirements
  • Request
  • Response
  • Exception
  • Configuration
  • User Authentication
  • Processor
  • Model
  • Test Framework
  • Test Assertions
  • Logger
  • Util
  • Test Execution
  • Debug Config
  • Test Driver
  • Setting Up a Maven Project
  • Dependencies and Plugins
  • RestAssured
  • Log4j
  • TestNG
  • Spring Framework
  • Assertj
  • Jackson-Databind
  • Maven Compiler Plugin
  • Surefire Plugin
  • Java Code Formatting Plugin
  • Request
  • Response
  • Exceptions
  • Configuration
  • Properties File
  • Spring
  • Application Configuration
  • Application Context
  • Application Config
  • Complete URL For the Test Script
  • Test Data.
  • JSON File
  • Payload for POST and PUT HTTP Methods
  • User Authentication
  • Processor
  • Model
  • Test Framework
  • Logger
  • Util
  • Test Execution
  • Debug Config
  • Test Driver
  • Summary
  • Chapter 10: First Test Script
  • Developing Your First Test
  • Base Test
  • Authentication
  • Request Processor
  • Response Processor
  • First Test
  • Test Suite
  • TestNG XML
  • Executing a Test
  • Execute a Test Suite
  • Execute an Individual Test
  • Execution Results
  • TestNG Report
  • Logging
  • log().all()
  • Response Time
  • Debug
  • Summary
  • Chapter 11: API Documentation
  • Need
  • Swagger
  • Summary
  • Chapter 12: Case Study: Shopping Cart APIs
  • Feature List
  • QA Responsibility Matrix
  • Sprint #
  • Goal Setting
  • Sprint One
  • Sprint Guidelines
  • Definition of Done
  • Story Pointing
  • Backlog Grooming
  • Story Grooming
  • QA Tasks
  • Documentation
  • Test Environment
  • Setting Up the Application
  • QA Tools
  • Continuous Integration/Continuous Deployment
  • Targeted Features
  • API Endpoints
  • Unit Testing
  • Test Plan Development
  • Test Data Preparation
  • Manual Test Scripts
  • Postman
  • Test Automation
  • Test Suite
  • Parallel Test Execution
  • Test Execution
  • Front-End Team
  • Sprint Nth
  • Sprint Demo Feedback Testing
  • Hardening Sprint
  • Release Testing
  • Summary
  • Appendix A: Workstation Setup
  • Java
  • MacOS
  • Ubuntu
  • Linux
  • Windows
  • Maven
  • MacOS
  • Ubuntu
  • Linux
  • Windows
  • Maven Project
  • cURL
  • MacOS
  • Ubuntu
  • Linux
  • Windows
  • Postman
  • IDE
  • Tomcat
  • MacOS/Ubuntu/Linux
  • Windows
  • Appendix B: Contact Management Application
  • Swagger
  • Appendix C: Shopping Cart Application
  • Swagger
  • Index.