Share E-Book
Scan to open this page

Scan with your phone to open this page

AuthorGayathri Mohan

Testing is a critical discipline for any organization looking to deliver high-quality software. This practical book provides software developers and QA engineers with a comprehensive one-stop guide to testing skills in 10 different categories. You'll learn appropriate strategies, concepts, and practical implementation knowledge you can apply from both a development and testing perspective for web and mobile applications. Author Gayathri Mohan offers examples of more than 40 tools you can use immediately. You'll acquire the skills to conduct exploratory testing, test automation, cross-functional testing, data testing, mobile testing, and visual testing, as well as tests for performance, security, and accessibility. You'll learn to integrate them in continuous integration pipelines to gain faster feedback. Once you dive into this guide, you'll be able to tackle challenging development workflows with a focus on quality. With this book, you will: • Learn how to employ various testing types to yield maximum quality in your projects • Explore new testing methods by following the book's strategies and concepts • Learn how to apply these tools at work by following detailed examples • Improve your skills and job prospects by gaining a broad exposure to testing best practices

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 A practical, tool-rich guide for developers and QA engineers who want to master the full spectrum of software testing—from exploratory and automated tests to performance, security, and data validation—and integrate them into CI/CD for faster, higher-quality delivery. 【Book Arc】 - **Opening (~0%–9%)**: Introduces testing as a core discipline woven into every stage of software delivery, outlines the book’s 10 testing skill categories, and sets up the journey from manual to automated and cross-functional testing. - **Early (~16%–34%)**: Dives into manual exploratory testing—distinguishing it from scripted manual testing—and presents frameworks, user personas, domain knowledge, business priorities, and infrastructure awareness as building blocks, with hands-on tools like Postman and browser DevTools for simulating real-world conditions. - **Middle (~38%–53%)**: Moves into automated functional testing, contrasting manual vs. automated costs, explaining the test pyramid (unit, service, UI, end-to-end), and walking through practical implementations with Selenium WebDriver, Cypress, and JUnit, including page-object patterns and failure screenshots. - **Late (~53%–75%)**: Covers service-level and unit testing strategies, plus data testing—databases, caches, batch processing, event streams—with SQL, JDBC, Kafka, and tools like Test Containers and Deequ, emphasizing how to validate data pipelines and integrations. - **Ending (~75%–100%)**: Ties everything together by addressing cross-functional testing (performance, security, accessibility, visual, mobile) and how to embed all these tests into continuous integration pipelines, using Git, Jenkins, and the Four Key Metrics to measure delivery quality. 【Key Takeaways】 - **Exploratory testing is analytical, not scripted** (Early): Unlike checklist-based manual testing, exploratory testing requires forming mental models via frameworks (e.g., input partitioning, edge cases) and considering user personas, domain workflows, and business priorities to uncover real-world bugs. - **Infrastructure knowledge unlocks hidden test cases** (Early): Knowing how services and databases are deployed, rate limits, and API gateway settings helps simulate failure scenarios (e.g., exceeding rate limits) that scripted tests miss. - **Automated testing pays off via faster feedback** (Middle): With ~20 test cases per feature and 2 minutes each, manual regression testing is slow and risky; automation reduces cost and catches integration bugs earlier in the cycle. - **Prefer lower-level micro tests over UI tests** (Middle): Before writing a UI functional test, question its intent—if it validates input or service-level rules, write unit or service tests instead to save time and maintenance effort. - **End-to-end tests validate integration, not functionality** (Middle): Keep a few end-to-end tests that activate all components (UI, services, DB, downstream systems) to confirm integration, but don’t use them to test individual component behavior. - **Data testing requires specialized tools and strategies** (Late): Databases, caches, batch jobs, and event streams each need tailored validation—using SQL, JDBC, Kafka, Test Containers, and Deequ to ensure data correctness across pipelines. - **Cross-functional testing is a distinct skill set** (Late): Performance, security, accessibility, and visual testing are not afterthoughts; they require dedicated tools and strategies to be integrated into CI for continuous quality checks. 【Reading Tips】 - **Skim the opening chapters** (~0%–16%) if you’re already familiar with testing basics; focus instead on the exploratory testing frameworks and the 10-skill overview to understand the book’s scope. - **Deep-read the automated testing chapters** (~38%–53%) for hands-on code examples—Selenium, Cypress, and JUnit—and practice the page-object pattern and failure screenshot setup in your own projects. - **Pay special attention to the data testing chapter** (~53%–75%) if you work with databases or event streams; the tool walkthroughs (SQL, JDBC, Kafka, Deequ) are practical and immediately applicable. - **Treat the cross-functional and CI chapters as a checklist** for your own pipeline; use the Four Key Metrics to assess whether your testing strategy is actually improving delivery speed and stability. - **Don’t skip the exercises**—they’re designed to reinforce each skill with real tools, so set aside time to run them rather than just reading. 【Coverage Limits】 This guide synthesizes the book’s core themes from the provided excerpts, but detailed code listings, specific tool configurations, and the full 10-skill breakdown (e.g., visual testing specifics) are not fully covered here—refer to the book for complete examples.
Excerpt 1
81 Additional Testing Tools 85 Pact ...
View in text
Excerpt 2
ded for delivering high-quality web and mobile applications Let’s explore these 10 skills, and why you should care about learning them: Manual exploratory te...
View in text
Excerpt 3
esponse status code, headers, body, and cookies in the bot‐ tom panel, as shown in Figure 2-10. Figure 2-10. Creating a new request and verifying the respons...
View in text
Excerpt 4
t){ if(ITestResult.FAILURE == result.getStatus()) { var camera = (TakesScreenshot) driver; File screenshot = camera.getScreen...
View in text
Excerpt 5
strategies to achieve multiple 97 Do frequent code commits Team members should make frequent code commits and push them to the VCS as soon as they finish eac...
View in text
Excerpt 6
n order, and the downstream systems read the event and take respective actions to fulfill the order. From the data flow perspective, the order data is stored...
View in text
Excerpt 7
abase instances. It is especially useful for developers who want to run unit and integration tests on their local machines without needing to set up a proper...
View in text
Excerpt 8
d highlights the differences between them. It also provides many of the same features, such as allowing you to configure test sensitivity, select elements fo...
View in text
Tags
AI categories
TechnologyCodeProgramming
ISBN: 1098108132
Publisher: O'Reilly Media
Publish Year: 2022
Language: English
Pages: 403
File Format: PDF
File Size: 18.6 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…