Software Testing with Generative AI


Book Description

Speed up your testing and deliver exceptional product quality with the power of AI tools. The more you test, the more you learn about your software. Software Testing with Generative AI shows you how you can expand, automate, and enhance your testing with Large Language Model (LLM)-based AI. Your team will soon be delivering higher quality tests, all in less time. In Software Testing with Generative AI you’ll learn how to: • Spot opportunities to improve test quality with AI • Construct test automation with the support of AI tools • Formulate new ideas during exploratory testing using AI tools • Use AI tools to aid the design process of new features • Improve the testability of a context with the help of AI tools • Maximize your output with prompt engineering • Create custom LLMs for your business’s specific needs Software Testing with Generative AI is full of hype-free advice for supporting your software testing with AI. In it, you’ll find strategies from bestselling author Mark Winteringham to generate synthetic testing data, implement automation, and even augment and improve your test design with AI. Foreword by Nicola Martin. Purchase of the print book includes a free eBook in PDF and ePub formats from Manning Publications. About the technology There’s a simple rule in software testing: the more you test, the more you learn. And as any testing pro will tell you, good testing takes time. By integrating large language models (LLMs) and generative AI into your process, you can dramatically automate and enhance testing, improve quality and coverage, and deliver more meaningful results. About the book Software Testing with Generative AI shows you how AI can elevate every aspect of testing—automation, test data management, test scripting, exploratory testing, and more! Learn how to use AI coding tools like Copilot to guide test-driven development, get relevant feedback about your applications from ChatGPT, and use the OpenAI API to integrate AI into your data generation. You’ll soon have higher-quality testing that takes up less of your time. What's inside • Improve test quality and coverage • AI-powered test automation • Build agents that act as testing assistants About the reader For developers, testers, and quality engineers. About the author Mark Winteringham is an experienced software tester who teaches many aspects of software testing. He is the author of Testing Web APIs. The technical editor on this book was Robert Walsh. Table of Contents Part 1 1 Enhancing testing with large language models 2 Large language models and prompt engineering 3 Artificial intelligence, automation, and testing Part 2 4 AI-assisted testing for developers 5 Test planning with AI support 6 Rapid data creation using AI 7 Accelerating and improving UI automation using AI 8 Assisting exploratory testing with artificial intelligence 9 AI agents as testing assistants Part 3 10 Introducing customized LLMs 11 Contextualizing prompts with retrieval-augmented generation 12 Fine-tuning LLMs with business domain knowledge Appendix A Setting up and using ChatGPT Appendix B Setting up and using GitHub Copilot Appendix C Exploratory testing notes




Software Testing with Generative AI


Book Description

Speed up your testing and deliver exceptional product quality with the power of AI tools. The more you test, the more you learn about your software. Software Testing with Generative AI shows you how you can expand, automate, and enhance your testing with Large Language Model (LLM)-based AI. Your team will soon be delivering higher quality tests, all in less time. In Software Testing with Generative AI you’ll learn how to: • Spot opportunities to improve test quality with AI • Construct test automation with the support of AI tools • Formulate new ideas during exploratory testing using AI tools • Use AI tools to aid the design process of new features • Improve the testability of a context with the help of AI tools • Maximize your output with prompt engineering • Create custom LLMs for your business’s specific needs Software Testing with Generative AI is full of hype-free advice for supporting your software testing with AI. In it, you’ll find strategies from bestselling author Mark Winteringham to generate synthetic testing data, implement automation, and even augment and improve your test design with AI. Foreword by Nicola Martin. About the technology There’s a simple rule in software testing: the more you test, the more you learn. And as any testing pro will tell you, good testing takes time. By integrating large language models (LLMs) and generative AI into your process, you can dramatically automate and enhance testing, improve quality and coverage, and deliver more meaningful results. About the book Software Testing with Generative AI shows you how AI can elevate every aspect of testing—automation, test data management, test scripting, exploratory testing, and more! Learn how to use AI coding tools like Copilot to guide test-driven development, get relevant feedback about your applications from ChatGPT, and use the OpenAI API to integrate AI into your data generation. You’ll soon have higher-quality testing that takes up less of your time. What's inside • Improve test quality and coverage • AI-powered test automation • Build agents that act as testing assistants About the reader For developers, testers, and quality engineers. About the author Mark Winteringham is an experienced software tester who teaches many aspects of software testing. He is the author of Testing Web APIs. The technical editor on this book was Robert Walsh. Table of Contents Part 1 1 Enhancing testing with large language models 2 Large language models and prompt engineering 3 Artificial intelligence, automation, and testing Part 2 4 AI-assisted testing for developers 5 Test planning with AI support 6 Rapid data creation using AI 7 Accelerating and improving UI automation using AI 8 Assisting exploratory testing with artificial intelligence 9 AI agents as testing assistants Part 3 10 Introducing customized LLMs 11 Contextualizing prompts with retrieval-augmented generation 12 Fine-tuning LLMs with business domain knowledge Appendix A Setting up and using ChatGPT Appendix B Setting up and using GitHub Copilot Appendix C Exploratory testing notes




Experimentation for Engineers


Book Description

Optimize the performance of your systems with practical experiments used by engineers in the world’s most competitive industries. In Experimentation for Engineers: From A/B testing to Bayesian optimization you will learn how to: Design, run, and analyze an A/B test Break the "feedback loops" caused by periodic retraining of ML models Increase experimentation rate with multi-armed bandits Tune multiple parameters experimentally with Bayesian optimization Clearly define business metrics used for decision-making Identify and avoid the common pitfalls of experimentation Experimentation for Engineers: From A/B testing to Bayesian optimization is a toolbox of techniques for evaluating new features and fine-tuning parameters. You’ll start with a deep dive into methods like A/B testing, and then graduate to advanced techniques used to measure performance in industries such as finance and social media. Learn how to evaluate the changes you make to your system and ensure that your testing doesn’t undermine revenue or other business metrics. By the time you’re done, you’ll be able to seamlessly deploy experiments in production while avoiding common pitfalls. About the technology Does my software really work? Did my changes make things better or worse? Should I trade features for performance? Experimentation is the only way to answer questions like these. This unique book reveals sophisticated experimentation practices developed and proven in the world’s most competitive industries that will help you enhance machine learning systems, software applications, and quantitative trading solutions. About the book Experimentation for Engineers: From A/B testing to Bayesian optimization delivers a toolbox of processes for optimizing software systems. You’ll start by learning the limits of A/B testing, and then graduate to advanced experimentation strategies that take advantage of machine learning and probabilistic methods. The skills you’ll master in this practical guide will help you minimize the costs of experimentation and quickly reveal which approaches and features deliver the best business results. What's inside Design, run, and analyze an A/B test Break the “feedback loops” caused by periodic retraining of ML models Increase experimentation rate with multi-armed bandits Tune multiple parameters experimentally with Bayesian optimization About the reader For ML and software engineers looking to extract the most value from their systems. Examples in Python and NumPy. About the author David Sweet has worked as a quantitative trader at GETCO and a machine learning engineer at Instagram. He teaches in the AI and Data Science master's programs at Yeshiva University. Table of Contents 1 Optimizing systems by experiment 2 A/B testing: Evaluating a modification to your system 3 Multi-armed bandits: Maximizing business metrics while experimenting 4 Response surface methodology: Optimizing continuous parameters 5 Contextual bandits: Making targeted decisions 6 Bayesian optimization: Automating experimental optimization 7 Managing business metrics 8 Practical considerations




Advanced Automated Software Testing: Frameworks for Refined Practice


Book Description

"This book discusses the current state of test automation practices, as it includes chapters related to software test automation and its validity and applicability in different domains"--Provided by publisher.




Software Testing in the Cloud: Perspectives on an Emerging Discipline


Book Description

In recent years, cloud computing has gained a significant amount of attention by providing more flexible ways to store applications remotely. With software testing continuing to be an important part of the software engineering life cycle, the emergence of software testing in the cloud has the potential to change the way software testing is performed. Software Testing in the Cloud: Perspectives on an Emerging Discipline is a comprehensive collection of research by leading experts in the field providing an overview of cloud computing and current issues in software testing and system migration. Deserving the attention of researchers, practitioners, and managers, this book aims to raise awareness about this new field of study.




App Quality


Book Description

"App Quality: Secrets for Agile App Teams" gives agile and lean app teams an edge in building well-received apps, and accelerates them on the way to 5-stars. The book is written for app developers, testers and product managers. The book uses real world examples and data-driven techniques that any app team can apply to their designs, code, agile sprints, and product planning. "App Quality" gives your app team access to the best practices and hard-earned lessons from analyzing hundreds of millions of app store reviews, thousands of app testers testing hundreds of top apps, and conversations with top app teams. Included: Top 10 App Quality Monsters Top 10 Quality Attributes Tips for Developers, Testers, and Product Managers The book is aimed at both "Agile" and "Lean" app teams. The book is focused on analytics and practical, real-world examples of quality issues, and practical solutions to those quality issues. Whether the team is just starting to plan their next great app, or improving an existing one, following the recommendations and system outlined in this book will help get your app to 5 stars. "App Quality" walks through the "Top 10 App Quality Monsters". These are the top sources of quality issues in today's modern apps: App Deployment and Distribution, Device State and Fragmentation, Users, Real World, Reviews, Metrics, Competition, Security and Privacy, User Interface, and Agile Mobile Teams themselves. Each quality monster is described in detail, with specific best practices and tips for Developers, Testers, and Product Managers. The book also describes the "Top 10 Quality Attributes", learned from app store review analysis and app testing: Content, Elegance, Interoperability, Performance, Pricing, Privacy, Satisfaction, Security, Stability, and Usability. Each quality attribute is described in detail, with real world app examples, with specific best practices and tips Developers, Testers, and Product Managers and pointers to tools and services to improve app quality. Prepare for a deep dive on app store reviews. Deep analytics of what types of feedback people are leaving in the apps store reviews, by type, by frequency, per-category, etc. The book outlines ways to leverage this data to build a higher quality app, improve star ratings, and make users happier. Some myths about Agile for app teams are also debunked. Techniques for leveraging app store reviews for competitive analysis are also described in detail. App store reviews are critical to building a high quality app that is also perceived as high quality. Putting it all together, the book then walks through an example of applying all these great tips, best practices, and data, to a real-world app. See how an expert applies these techniques to a real world app, and see how it can easily apply to your app. See the impact on test planning, development practices, and product prioritization. Armed with the latest best practices, tips, and data-driven quality analysis, app teams can build solid apps with minimal effort and time. The secrets in "App Quality" gives agile and lean teams an edge in building well-received apps, and accelerate them on the way to 5-stars.




Artificial Intelligence Methods In Software Testing


Book Description

An inadequate infrastructure for software testing is causing major losses to the world economy. The characteristics of software quality problems are quite similar to other tasks successfully tackled by artificial intelligence techniques. The aims of this book are to present state-of-the-art applications of artificial intelligence and data mining methods to quality assurance of complex software systems, and to encourage further research in this important and challenging area.




How Google Tests Software


Book Description

2012 Jolt Award finalist! Pioneering the Future of Software Test Do you need to get it right, too? Then, learn from Google. Legendary testing expert James Whittaker, until recently a Google testing leader, and two top Google experts reveal exactly how Google tests software, offering brand-new best practices you can use even if you’re not quite Google’s size...yet! Breakthrough Techniques You Can Actually Use Discover 100% practical, amazingly scalable techniques for analyzing risk and planning tests...thinking like real users...implementing exploratory, black box, white box, and acceptance testing...getting usable feedback...tracking issues...choosing and creating tools...testing “Docs & Mocks,” interfaces, classes, modules, libraries, binaries, services, and infrastructure...reviewing code and refactoring...using test hooks, presubmit scripts, queues, continuous builds, and more. With these techniques, you can transform testing from a bottleneck into an accelerator–and make your whole organization more productive!




A Practitioner's Guide to Software Test Design


Book Description

Written by a leading expert in the field, this unique volume contains current test design approaches and focuses only on software test design. Copeland illustrates each test design through detailed examples and step-by-step instructions.




Testing Computer Software


Book Description

This book will teach you how to test computer software under real-world conditions. The authors have all been test managers and software development managers at well-known Silicon Valley software companies. Successful consumer software companies have learned how to produce high-quality products under tight time and budget constraints. The book explains the testing side of that success. Who this book is for: * Testers and Test Managers * Project Managers-Understand the timeline, depth of investigation, and quality of communication to hold testers accountable for. * Programmers-Gain insight into the sources of errors in your code, understand what tests your work will have to pass, and why testers do the things they do. * Students-Train for an entry-level position in software development. What you will learn: * How to find important bugs quickly * How to describe software errors clearly * How to create a testing plan with a minimum of paperwork * How to design and use a bug-tracking system * Where testing fits in the product development process * How to test products that will be translated into other languages * How to test for compatibility with devices, such as printers * What laws apply to software quality