وبلاگ بلیان

Introduction to Software Testing: A Practical Guide to Testing, Design, Automation, and Execution

معرفی کتاب «Introduction to Software Testing: A Practical Guide to Testing, Design, Automation, and Execution» نوشتهٔ Panagiotis Leloudas، منتشرشده توسط نشر Apress L. P. در سال 2023. این کتاب در 219 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است. «Introduction to Software Testing: A Practical Guide to Testing, Design, Automation, and Execution» در دستهٔ برنامه‌نویسی قرار دارد.

Get started and hit the ground running in the world of software testing. This simple and practical guide teaches you the fundamentals of software testing, with no prior experience required. You will start by learning functional and non-functional software testing. Then you will gain an understanding of the primary responsibilities of a tester in the Software Development Life Cycle and how to plan and execute testing activities. You will also learn how testing applies to an agile environment, what challenges you might face in your day-to-day life as a tester, and how to overcome them. You will learn the most commonly used test design techniques, with ample examples and exercises to practice yourself. This book takes you on a journey around the software testing world, covering the basic principles and techniques and showing examples of how to apply them. Software testing is a safeguard of the quality of a software product, and a tester is responsible for reporting on the quality status. Keep in mind that the quality of the product is not the sole responsibility of a tester; rather, it’s a collective effort from every individual in the organization. A chain is only as strong as its weakest link. Different types of testing are applicable to every phase of the software development life cycle; of course, the priorities and the risks are not the same in all the products. Testing is all about identifying those risks and setting up a mitigation plan by executing the necessary tests and analyzing the results. In this book, I will demonstrate some of the most important software testing types and techniques that exist and how to apply them. You will find out what testing activities take place during every phase of software development, how to plan the testing activities, how to design the test cases, how to execute them, and how to report defects and the status of your activities. It is meant to be easy to understand for everyone, even with only the slightest technical background or involvement in a product. I hope you will enjoy the process and pick up a thing or two! By the end of this book, you will understand the software testing ecosystem, from its types, techniques, and tools, to test planning, execution, and reporting. What You Will Learn: Master the fundamentals of Software Testing Gain an understanding of different software testing types Plan and execute testing activities Apply test design techniques to concrete examples Who This Book Is For: Software testers, developers, project managers, and other stakeholders involved in software testing. Table of Contents About the Author About the Technical Reviewer Acknowledgments Introduction Chapter 1: The Importance of Software Testing Summary Chapter 2: Software Testing Types and Techniques Functional Testing Unit Testing Integration Testing System Testing User Acceptance Testing Nonfunctional Testing Performance Testing Security Testing Usability Testing Compatibility Testing Scalability Testing Reliability Testing Availability Testing Installability Testing Maintainability Testing Compliance Testing Static Testing Code Reviews Requirement Reviews Design Reviews Walk-Throughs Inspections Summary Chapter 3: Software Development Life Cycle Planning Phase Requirements Gathering Phase Design Phase Development Phase Deployment Phase Maintenance Phase The Role of Testing in the SDLC Summary Chapter 4: Test Planning Defining Testing Objectives Determining the Scope of Testing Selecting the Testing Approach Identifying Testing Resources Developing the Test Schedule Defining Test Cases Identifying Test Data Defect Management Process Stop Testing Criteria Reviewing and Approving the Test Plan Benefits of Test Planning Test Plan Document Test Planning Tools and Techniques Summary Chapter 5: Test Design Techniques Black-Box Testing Equivalence Partitioning User Login Page Credit Card Payment Exercise Boundary Value Analysis Age Validation File Size Validation Exercise Decision Table Testing E-shop Discounts Transportation Price Exercise State Transition Testing Traffic Light System State Transition Table State Transition Diagram Shopping Cart State Transition Table State Transition Diagram Exercise Use-Case Testing Exercise Pairwise Testing Exercise Error Guessing Registration Form E-commerce Website Exercise Exploratory Testing Mobile App Online Marketplace Exercise Random Testing Web Application Game Testing Exercise Ad Hoc Testing Example of Ad Hoc Testing Exercise White-Box Testing Statement Coverage Exercise Branch Coverage Exercise Path Coverage Exercise Condition Coverage Exercise Decision Coverage Exercise Multiple Condition Coverage Exercise Modified Condition/Decision Coverage Loop Testing Data Flow Testing Static Testing Summary Chapter 6: Test Execution Getting Started Test Execution Process Test Environment Setup Defect Reporting and Retesting Regression Testing Test Case Status Reporting Test Case Completion Techniques and Tools Used in Test Execution Quality Metrics Defect Density Test Coverage Code Complexity Code Maintainability Fault Slip Through Coding Standards Code Duplication Dead Code Lines of Code Fan-Out Compiler Warnings Summary Chapter 7: Test Automation Benefits of Test Automation Record and Playback Tools Scripting Tools Hybrid Tools Frameworks Automated Testing Tools Automated Test Scripts Summary Chapter 8: Testing in Agile Environment Agile Testing Principles Agile Testing Quadrants Test-Driven Development Behavior-Driven Development Acceptance Test-Driven Development Continuous Integration and Continuous Delivery Test Automation in Agile Agile Testing Best Practices Summary Chapter 9: Challenges and Solutions in Software Testing Lack of Clear Requirements Impact of Lack of Clear Requirements on Testing Mitigating the Impact of Lack of Clear Requirements Time Constraints Impact of Time Constraints on Software Testing Strategies for Managing Time Constraints in Testing Lack of Skilled Resources Impact of Lack of Skilled Resources on Software Testing Strategies for Managing Lack of Skilled Resources in Testing Automation Challenges Common Automation Challenges Strategies for Addressing Automation Challenges Communication and Collaboration Change Management Testing Across Platforms Future of Software Testing Risk-Based Testing Summary Afterword Index Capture.PNG
دانلود کتاب Introduction to Software Testing: A Practical Guide to Testing, Design, Automation, and Execution