Vai al contenuto principale della pagina
| Autore: |
McDonough James E.
|
| Titolo: |
Automated unit testing with ABAP : a practical approach / / James E. McDonough
|
| Pubblicazione: | [Place of publication not identified] : , : APress, , [2021] |
| ©2021 | |
| Descrizione fisica: | 1 online resource (xv, 393 pages) |
| Disciplina: | 005.14 |
| Soggetto topico: | Computer software - Testing |
| Note generali: | Includes index. |
| Nota di contenuto: | Intro -- Table of Contents -- About the Author -- About the Technical Reviewer -- Acknowledgments -- Chapter 1: Introduction -- For Whom This Book Is Applicable -- How This Book Should Be Used -- Why This Book Was Written -- Credentials of the Author -- Summary -- Chapter 2: Preparing to Take the First Step -- Road Map to Automated Unit Testing -- Where We Are Now -- Where We Are Going -- Why We Are Going There -- How We Are Going to Get There -- Legacy Code -- Calisthenics -- Summary -- Chapter 3: Software Quality -- The Quality of Software -- Assessing Software Quality -- Summary -- Chapter 4: The Origins of Automated Unit Testing -- In the Beginning ... -- The Emergence of xUnit -- Features of xUnit -- Phases of xUnit Tests -- Writing xUnit Tests -- Advantages of xUnit Tests -- Summary -- Quiz #1: xUnit Concepts -- Multiple Choice: Select the Best Answer -- True or False -- Chapter 5: Automated Unit Testing with ABAP -- ABAP Unit -- The ABAP Unit Testing Framework -- Requirements for Writing ABAP Unit Tests -- Types of Components Applicable to Unit Testing -- Testable ABAP Modularization Units -- Automatic Generation of ABAP Unit Test Classes -- ABAP Language Statements Related to Unit Testing -- Writing an ABAP Unit Test -- Using Fixture Methods -- Invoking the Services of the ABAP Unit Testing Framework -- ABAP Unit Test Runner -- Unit Test Results Report -- Initiating ABAP Unit Test Execution -- Initiating Unit Tests from Within an ABAP Editor -- Initiating Unit Tests from Outside an ABAP Editor -- Evolution of the ABAP Unit Testing Framework -- Challenges to Effectively Testing ABAP Code -- Challenges Presented by Classic ABAP Event Blocks -- Challenges Presented by Global Variables -- Challenges Presented by the MESSAGE Statement -- Challenges Presented by ALV Reports -- Challenges Presented by Classic List Processing Statements. |
| Challenges Presented by Open SQL Statements -- Controlling the ABAP Unit Testing Framework -- Client Category -- Client Category Override -- Unit Testing Configuration -- Client Settings -- Application Server Settings -- Summary -- Quiz #2: ABAP Unit Testing Concepts -- Multiple Choice: Select the Best Answer -- True or False -- Chapter 6: Rudiments -- Introducing a Simple Unit Test -- Expanding Unit Test Coverage -- Implementing Unit Tests for Function Modules -- Implementing Unit Tests for Global Classes -- ABAP Statements and Features Affecting Automated Unit Testing -- Exploring the Effects of the MESSAGE Statement -- Exploring the Effects of ALV Reports -- Exploring the Effects of Classic List Processing Statements -- How Automated Unit Testing Enables Confident Refactoring -- Diagnosing the Absence of Sufficient Test Data -- Creating and Using Fabricated Test Data -- Gaining Control Over References to Modifiable Global Variables Within Subroutines -- Summary -- Chapter 7: Design for Testability -- Changing the Production Path to Enable Automated Testing -- Categorizing Input and Output -- Encapsulating Indirect Input and Output -- Interaction Points -- Encapsulating Indirect Input Processes to Accommodate Unit Testing -- Encapsulating Indirect Output Processes to Accommodate Unit Testing -- Summary -- Chapter 8: Test Doubles -- Depended-On Components -- The Purpose of Test Doubles -- Alternative 1 -- Alternative 2 -- Alternative 3 -- Using Test Doubles -- Test Double Using Base Class -- Test Double Using Interface -- Categories of Test Doubles -- Using Test Doubles for Indirect Input -- Using Test Doubles for Indirect Output -- Summary -- Chapter 9: Service Locator -- Purpose of a Service Locator -- Using a Service Locator -- Using a Service Factory -- Organizing Local Components -- Summary -- Chapter 10: Leveraging the Service Locator. | |
| Issues Requiring Leverage -- Using the Service Locator to Manage Global Classes -- Using the Service Locator to Manage Function Modules -- Using the Service Locator to Manage MESSAGE Statements -- Handling MESSAGE Statements Triggering Unconditional Unit Test Failures -- Handling Unit Test Failures Arising from MESSAGE Statement Control Flow -- Using the Service Locator to Manage List Processing Statements -- Summary -- Chapter 11: Test-Driven Development -- The TDD Cycle -- The Three Laws of TDD -- The Benefits of TDD -- Following the TDD Cycle -- Summary -- Chapter 12: Configurable Test Doubles -- Isolation Frameworks -- mockA -- ABAP Test Double Framework -- Summary -- Chapter 13: Obtaining Code Coverage Information Through ABAP Unit Testing -- Code Coverage Metrics -- Summary -- Chapter 14: Cultivating Good Test Writing Skills -- The Pillars of Good Unit Tests -- Test Simplicity -- Test Coverage -- SAP Recommendations and Constraints When Writing Unit Tests -- Tips for Writing Unit Tests -- Issues Related to Testing Object-Oriented Code -- Summary -- Chapter 15: Welcome to Autropolis -- One Small Step for Manual Toward Automated -- The Right Tool for the Job -- Resistance Is Futile -- Becoming the Agent for Change -- Go Forth and Automate -- Summary -- Appendix A: Requirements Documentation and ABAP Exercise Programs -- Appendix B: Answers to Chapter Quizzes -- Answers to Quiz #1 -- Multiple Choice: Select the Best Answer -- True or False -- Answers to Quiz #2 -- Multiple Choice: Select the Best Answer -- True or False -- Appendix C: Concepts Associated with Defining Local Test Classes -- Index. | |
| Titolo autorizzato: | Automated unit testing with ABAP ![]() |
| ISBN: | 1-4842-6951-9 |
| Formato: | Materiale a stampa |
| Livello bibliografico | Monografia |
| Lingua di pubblicazione: | Inglese |
| Record Nr.: | 9910483795603321 |
| Lo trovi qui: | Univ. Federico II |
| Opac: | Controlla la disponibilità qui |