LEADER 07382nam 2200505 450 001 9910585794003321 005 20230104115231.0 010 $a1-4842-8142-X 024 7 $a10.1007/978-1-4842-8142-0 035 $a(MiAaPQ)EBC7047323 035 $a(Au-PeEL)EBL7047323 035 $a(CKB)24270410900041 035 $a(OCoLC)1336986462 035 $a(OCoLC-P)1336986462 035 $a(CaSebORM)9781484281420 035 $a(PPN)263902005 035 $a(EXLCZ)9924270410900041 100 $a20230104d2022 uy 0 101 0 $aeng 135 $aurcnu|||||||| 181 $ctxt$2rdacontent 182 $cc$2rdamedia 183 $acr$2rdacarrier 200 10$aLearn API testing $enorms, practices, and guidelines for building effective test automation /$fJagdeep Jain 210 1$aNew York, NY :$cApress,$d[2022] 210 4$d©2022 215 $a1 online resource (xxii, 223 pages) $cillustrations 311 08$aPrint version: Jain, Jagdeep Learn API Testing Berkeley, CA : Apress L. P.,c2022 9781484281413 327 $aIntro -- 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. 327 $aRequired 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. 327 $aJSON 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. 330 $aExplore 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 software testing. 606 $aApplication program interfaces (Computer software)$xTesting$xAutomation 606 $aComputer software$xTesting$xAutomation 615 0$aApplication program interfaces (Computer software)$xTesting$xAutomation. 615 0$aComputer software$xTesting$xAutomation. 676 $a005.3 700 $aJain$b Jagdeep$01252439 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910585794003321 996 $aLearn API Testing$92903589 997 $aUNINA