Software Testing Techniques


Book Description

Software Testing Techniques, 2nd Edition is the first book-length work that explicitly addresses the idea that design for testability is as important as testing itself not just by saying that testability is a desirable goal, but by showing the reader how it to do it. Every chapter has testability guidelines that illustrate how the technique discussed in the chapter can be used to make software more easily tested and therefore more reliable and maintainable. Application of all techniques to unit, integration, maintenance, and system testing are discussed throughout this book.As a self-study text, as a classroom text, as a working reference, it is a book that no programmer, independent software tester, software engineer, testing theorist, system designer, or software project manager can be without.




Effective Methods for Software Testing, CafeScribe


Book Description

Written by the founder and executive director of the Quality Assurance Institute, which sponsors the most widely accepted certification program for software testing Software testing is a weak spot for most developers, and many have no system in place to find and correct defects quickly and efficiently This comprehensive resource provides step-by-step guidelines, checklists, and templates for each testing activity, as well as a self-assessment that helps readers identify the sections of the book that respond to their individual needs Covers the latest regulatory developments affecting software testing, including Sarbanes-Oxley Section 404, and provides guidelines for agile testing and testing for security, internal controls, and data warehouses CD-ROM with all checklists and templates saves testers countless hours of developing their own test documentation Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.




Software Testing


Book Description

A groundbreaking, example driven, and practical oriented approach to software testing techniques and principles. This book offers a unique approach to learning software application testing, appropriate for students in computer sciences and related fields, quality engineers and software developers.In this book, software test cases are formally defined, software testing techniques are presented, and crucial strategies, principles, and practices one can follow in real life scenarios are discussed. The author tries to present simple and clear concepts, and then systematically advance from basic concepts to testing techniques and principles with abundant examples in order to help the readers to understand the theories, techniques, and principles easily. The common techniques that are most useful in practice based on industry experiences are discussed in this book. The main techniques discussed extensively are equivalence partitions, combinatorial testing, decision table testing, and various structural testing techniques. Basic testing principles and regression testing are covered in part 3 of the book, with two case studies to apply some of the basic techniques and principles discussed in the book. Performance testing is also covered in great details with three real life case studies. The author also defined test cases and types of testing in a new original and fundamental way which are never published anywhere else. This book is targeted mainly to software quality engineers but should be valuable to software developers and other IT personals. The book is written in a textbook style, and there are also numerous exercise problems at the end of most chapters, especially the ones on testing techniques, and it's designed to be used as a reference or a textbook to students who are taking classes in software testing related subjects.




Exploratory Software Testing


Book Description

How to Find and Fix the Killer Software Bugs that Evade Conventional Testing In Exploratory Software Testing, renowned software testing expert James Whittaker reveals the real causes of today’s most serious, well-hidden software bugs--and introduces powerful new “exploratory” techniques for finding and correcting them. Drawing on nearly two decades of experience working at the cutting edge of testing with Google, Microsoft, and other top software organizations, Whittaker introduces innovative new processes for manual testing that are repeatable, prescriptive, teachable, and extremely effective. Whittaker defines both in-the-small techniques for individual testers and in-the-large techniques to supercharge test teams. He also introduces a hybrid strategy for injecting exploratory concepts into traditional scripted testing. You’ll learn when to use each, and how to use them all successfully. Concise, entertaining, and actionable, this book introduces robust techniques that have been used extensively by real testers on shipping software, illuminating their actual experiences with these techniques, and the results they’ve achieved. Writing for testers, QA specialists, developers, program managers, and architects alike, Whittaker answers crucial questions such as: • Why do some bugs remain invisible to automated testing--and how can I uncover them? • What techniques will help me consistently discover and eliminate “show stopper” bugs? • How do I make manual testing more effective--and less boring and unpleasant? • What’s the most effective high-level test strategy for each project? • Which inputs should I test when I can’t test them all? • Which test cases will provide the best feature coverage? • How can I get better results by combining exploratory testing with traditional script or scenario-based testing? • How do I reflect feedback from the development process, such as code changes?




Software Testing and Analysis


Book Description

Teaches readers how to test and analyze software to achieve an acceptable level of quality at an acceptable cost Readers will be able to minimize software failures, increase quality, and effectively manage costs Covers techniques that are suitable for near-term application, with sufficient technical background to indicate how and when to apply them Provides balanced coverage of software testing & analysis approaches By incorporating modern topics and strategies, this book will be the standard software-testing textbook




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.




Software Testing Automation Tips


Book Description

Quickly access 50 tips for software test engineers using automated methods. The tips point to practices that save time and increase the accuracy and reliability of automated test techniques. Techniques that play well during demos of testing tools often are not the optimal techniques to apply on a running project. This book highlights those differences, helping you apply techniques that are repeatable and callable in professionally run software development projects. Emphasis is placed on creating tests that, while automated, are easily adapted as the software under construction evolves toward its final form. Techniques in the book are arranged into five categories: scripting, testing, the environment, running and logging of tests, and reviewing of the results. Every automation engineer sooner or later will face similar issues to the ones covered in these categories, and you will benefit from the simple and clear answers provided in this book. While the focus of the book is on the use of automated tools, the tips are not specific to any one vendor solution. The tips cover general issues that are faced no matter the specific tool, and are broadly applicable, often even to manual testing efforts. What You'll Learn Employ best-practices in automated test design Write test scripts that will easily be understood by others Choose the proper environment for running automated tests Avoid techniques that demo well, but do not scale in practice Manage tests effectively, including testing of test scripts themselves Know when to go beyond automation to employ manual methods instead Who This Book Is For Software test engineers working with automated testing tools, and for developers working alongside testing teams to create software products. The book will aid test engineers, team leads, project managers, software testers, and developers in producing quality software more easily, and in less time.




Developer Testing


Book Description

How do successful agile teams deliver bug-free, maintainable software—iteration after iteration? The answer is: By seamlessly combining development and testing. On such teams, the developers write testable code that enables them to verify it using various types of automated tests. This approach keeps regressions at bay and prevents “testing crunches”—which otherwise may occur near the end of an iteration—from ever happening. Writing testable code, however, is often difficult, because it requires knowledge and skills that cut across multiple disciplines. In Developer Testing, leading test expert and mentor Alexander Tarlinder presents concise, focused guidance for making new and legacy code far more testable. Tarlinder helps you answer questions like: When have I tested this enough? How many tests do I need to write? What should my tests verify? You’ll learn how to design for testability and utilize techniques like refactoring, dependency breaking, unit testing, data-driven testing, and test-driven development to achieve the highest possible confidence in your software. Through practical examples in Java, C#, Groovy, and Ruby, you’ll discover what works—and what doesn’t. You can quickly begin using Tarlinder’s technology-agnostic insights with most languages and toolsets while not getting buried in specialist details. The author helps you adapt your current programming style for testability, make a testing mindset “second nature,” improve your code, and enrich your day-to-day experience as a software professional. With this guide, you will Understand the discipline and vocabulary of testing from the developer’s standpoint Base developer tests on well-established testing techniques and best practices Recognize code constructs that impact testability Effectively name, organize, and execute unit tests Master the essentials of classic and “mockist-style” TDD Leverage test doubles with or without mocking frameworks Capture the benefits of programming by contract, even without runtime support for contracts Take control of dependencies between classes, components, layers, and tiers Handle combinatorial explosions of test cases, or scenarios requiring many similar tests Manage code duplication when it can’t be eliminated Actively maintain and improve your test suites Perform more advanced tests at the integration, system, and end-to-end levels Develop an understanding for how the organizational context influences quality assurance Establish well-balanced and effective testing strategies suitable for agile teams




Effective Software Testing


Book Description

With the advent of agile methodologies, testing is becoming the responsibility of more and more team members. In this new book, noted testing expert Dustin imparts the best of her collected wisdom. She presents 50 specific tips for a better testing program. These 50 tips are divided into ten sections, and presented so as to mirror the chronology of a software project.




Black-Box Testing


Book Description

From a leading expositor of testing methods, a practical, comprehensive, hands-on guide to the state-of-the-art black-box testing techniques This book fills a long-standing need in the software and general systems development communities to make the essential aspects of black-box testing available in one comprehensive work. Written by one of the world's most respected figures in the field of testing, it is both a valuable working resource for independent testers and programmers and an excellent practical introduction for students. Dr. Boris Beizer clearly explains the principles behind behavioral testing in general and behind the most important black-box testing techniques in use today, which involve testing a system based on its desired behavior or function and for conformance to its specifications. Then, with fully worked examples, he leads you step-by-step from specifications to finished test cases. Complete coverage of all important test techniquesæincluding those that apply to object-oriented software * Up-to-dateæincluding the most recent breakthroughs in domain testing that now make this technique available to the working tester with no tools needed beyond a calculator or spreadsheet * Examples based on the popular off-the-shelf tax preparation packages let you try the techniques on your favorite tax software * Includes all necessary IRS tax forms * Self-evaluation quizzes help you evaluate your understanding of the material