Concise Guide to Software Testing


Book Description

This practically-focused textbook provides a concise and accessible introduction to the field of software testing, explaining the fundamental principles and offering guidance on applying the theory in an industrial environment. Topics and features: presents a brief history of software quality and its influential pioneers, as well as a discussion of the various software lifecycles used in software development; describes the fundamentals of testing in traditional software engineering, and the role that static testing plays in building quality into a product; explains the process of software test planning, test analysis and design, and test management; discusses test outsourcing, and test metrics and problem solving; reviews the tools available to support software testing activities, and the benefits of a software process improvement initiative; examines testing in the Agile world, and the verification of safety critical systems; considers the legal and ethical aspects of software testing, and the importance of software configuration management; provides key learning topics and review questions in every chapter, and supplies a helpful glossary at the end of the book. This easy-to-follow guide is an essential resource for undergraduate students of computer science seeking to learn about software testing, and how to build high quality and reliable software on time and on budget. The work will also be of interest to industrialists including software engineers, software testers, quality professionals and software managers, as well as the motivated general reader.




Concise Guide to Software Engineering


Book Description

This textbook presents a concise introduction to the fundamental principles of software engineering, together with practical guidance on how to apply the theory in a real-world, industrial environment. The wide-ranging coverage encompasses all areas of software design, management, and quality. Topics and features: presents a broad overview of software engineering, including software lifecycles and phases in software development, and project management for software engineering; examines the areas of requirements engineering, software configuration management, software inspections, software testing, software quality assurance, and process quality; covers topics on software metrics and problem solving, software reliability and dependability, and software design and development, including Agile approaches; explains formal methods, a set of mathematical techniques to specify and derive a program from its specification, introducing the Z specification language; discusses software process improvement, describing the CMMI model, and introduces UML, a visual modelling language for software systems; reviews a range of tools to support various activities in software engineering, and offers advice on the selection and management of a software supplier; describes such innovations in the field of software as distributed systems, service-oriented architecture, software as a service, cloud computing, and embedded systems; includes key learning topics, summaries and review questions in each chapter, together with a useful glossary. This practical and easy-to-follow textbook/reference is ideal for computer science students seeking to learn how to build high quality and reliable software on time and on budget. The text also serves as a self-study primer for software engineers, quality professionals, and software managers.




Test Engineering


Book Description

This reference resource serves as a tool to facilitate development engineers to develop new testing methodologies appropriate for new technological products as they evolve.




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.




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?




Guide to Advanced Software Testing, Second Edition


Book Description

Software testing is a critical aspect of the software development process, and this heavily illustrated reference takes professionals on a complete tour of this increasingly important, multi-dimensional area. The book offers a practical understanding of all the most critical software testing topics and their relationships and inter-dependencies. This unique resource utilizes a wealth of graphics that support the discussions to offer a clear overview of software testing, from the definition of testing and the value and purpose of testing, through the complete testing process with all its activities, techniques and documentation, to the softer aspects of people and teams working with testing. Practitioners find numerous examples and exercises presented in each chapter to help ensure a complete understanding of the material. The book supports the ISTQB certification and provides a bridge from this to the ISO 29119 Software Testing Standard in terms of extensive mappings between the two; this is a truly unique feature.




Making Process Improvement Work


Book Description

Software process improvement too often reflects a significant disconnect between theory and practice. This book bridges the gap—offering a straightforward, systematic approach to planning, implementing, and monitoring a process improvement program. Project managers will appreciate the book’s concise presentation style and will be able to apply its practical ideas immediately to real-life challenges. With examples based on the authors’ own extensive experience, this book shows how to define goals that directly address the needs of your organization, use improvement models appropriately, and devise a pragmatic action plan. In addition, it reveals valuable strategies for deploying organizational change, and delineates essential metrics for tracking your progress. Appendices provide examples of an action plan, a risk management plan, and a mini-assessment process. You will learn how to: · Scope and develop an improvement plan · Identify and prioritize risks and mitigate anticipated difficulties · Derive metrics that accurately measure progress toward business goals · Sell your improvement program in-house · Initially target practitioners and projects most-open to new approaches and techniques · Stay focused on goals and problems · Align the actions of managers and practitioners · Delay major policy documents and edicts until solutions have been practiced and tested · Use existing resources to speed deployment · Incorporate improvement models, such as SEI CMM® and CMMISM, into your improvement program For those managers who are tired of chronic project difficulties, constant new improvement schemes, and a lack of real progress, this easily digestible volume provides the real-world wisdom you need to realize positive change in your organization.




Concise Guide to Formal Methods


Book Description

This invaluable textbook/reference provides an easy-to-read guide to the fundamentals of formal methods, highlighting the rich applications of formal methods across a diverse range of areas of computing. Topics and features: introduces the key concepts in software engineering, software reliability and dependability, formal methods, and discrete mathematics; presents a short history of logic, from Aristotle’s syllogistic logic and the logic of the Stoics, through Boole’s symbolic logic, to Frege’s work on predicate logic; covers propositional and predicate logic, as well as more advanced topics such as fuzzy logic, temporal logic, intuitionistic logic, undefined values, and the applications of logic to AI; examines the Z specification language, the Vienna Development Method (VDM) and Irish School of VDM, and the unified modelling language (UML); discusses Dijkstra’s calculus of weakest preconditions, Hoare’s axiomatic semantics of programming languages, and the classical approach of Parnas and his tabular expressions; provides coverage of automata theory, probability and statistics, model checking, and the nature of proof and theorem proving; reviews a selection of tools available to support the formal methodist, and considers the transfer of formal methods to industry; includes review questions and highlights key topics in every chapter, and supplies a helpful glossary at the end of the book. This stimulating guide provides a broad and accessible overview of formal methods for students of computer science and mathematics curious as to how formal methods are applied to the field of computing.




Software Quality Assurance


Book Description

This overview of software quality assurance testing in a “self-teaching” format contains easy-to- understand chapters with tips and insights about software quality, its basic concepts, applications, and practical case studies. It includes numerous, end-of-chapter questions with answers to test your knowledge and reinforce mastery of the concepts being presented. The book also includes state of the art material on the video-game testing process (Chapter 14) and a game-testing plan template (Chapter 15) and Game Testing by the Numbers (Chapter 16). Features: • Covers important topics such as black, white, and gray box testing, test management, automation, levels of testing, quality models, system and acceptance testing and more • Covers video game testing and effectiveness • Self-teaching method includes software lab experiments, numerous exercises (many with answers), projects, and case studies




The Art of Software Testing


Book Description

This long-awaited revision of a bestseller provides a practical discussion of the nature and aims of software testing. You'll find the latest methodologies for the design of effective test cases, including information on psychological and economic principles, managerial aspects, test tools, high-order testing, code inspections, and debugging. Accessible, comprehensive, and always practical, this edition provides the key information you need to test successfully, whether a novice or a working programmer. Buy your copy today and end up with fewer bugs tomorrow.