Software Testing and Quality Assurance


Book Description

A superior primer on software testing and quality assurance, from integration to execution and automation This important new work fills the pressing need for a user-friendly text that aims to provide software engineers, software quality professionals, software developers, and students with the fundamental developments in testing theory and common testing practices. Software Testing and Quality Assurance: Theory and Practice equips readers with a solid understanding of: Practices that support the production of quality software Software testing techniques Life-cycle models for requirements, defects, test cases, and test results Process models for units, integration, system, and acceptance testing How to build test teams, including recruiting and retaining test engineers Quality Models, Capability Maturity Model, Testing Maturity Model, and Test Process Improvement Model Expertly balancing theory with practice, and complemented with an abundance of pedagogical tools, including test questions, examples, teaching suggestions, and chapter summaries, this book is a valuable, self-contained tool for professionals and an ideal introductory text for courses in software testing, quality assurance, and software engineering.







Software Visualization


Book Description

Here is an ideal textbook on software visualization, written especially for students and teachers in computer science. It provides a broad and systematic overview of the area including many pointers to tools available today. Topics covered include static program visualization, algorithm animation, visual debugging, as well as the visualization of the evolution of software. The author's presentation emphasizes common principles and provides different examples mostly taken from seminal work. In addition, each chapter is followed by a list of exercises including both pen-and-paper exercises as well as programming tasks.







Practical Unit Testing with JUnit and Mockito


Book Description

This book explains in detail how to implement unit tests using two very popular open source Java technologies: JUnit and Mockito. It presents a range of techniques necessary to write high quality unit tests - e.g. mocks, parametrized tests and matchers. It also discusses trade-offs related to the choices we have to make when dealing with some real-life code issues. The book stresses the importance of writing readable and maintainable unit tests, and puts a lot of stress on code quality. It shows how to achieve testable code and to eliminate common mistakes by following the Test Driven Development approach. Every topic discussed in the book is illustrated with code examples, and each chapter is accompanied by some exercises. By reading this book you will: Grasp the role and purpose of unit tests Write high-quality, readable and maintainable unit tests Learn how to use JUnit and Mockito (but also other useful tools) Avoid common pitfalls when writing unit tests Recognize bad unit tests, and fix them in no time Develop code following the Test Driven Development (TDD) approach Use mocks, stubs and test-spies intelligently Measure the quality of your tests using code coverage and mutation testing Learn how to improve your tests' code so it is an asset and not a burden Test collections, expected exceptions, time-dependent methods and much more Customize test reports so that they show you what you really need to know Master tools and techniques your team members have never even heard of (priceless!): ) Nowadays every developer is expected to write unit tests. While simple in theory, in practice writing high-quality unit tests can turn out to be a real challenge. This book will help.




Enterprise Software Delivery


Book Description

Globalization, rapid technology churn, and massive economic shifts have made it more difficult than ever to deliver high-value enterprise software. In Enterprise Software Delivery, IBM Distinguished Engineer Alan W. Brown guides decision-makers in understanding these new challenges, choosing today's best solutions, and successfully anticipating future trends. Alan presents detailed, actionable techniques for building software supply chains that improve agility and innovation while responding to growing cost pressure. Using real-world case studies, he introduces the modern global software factory, demonstrating how to integrate and leverage global outsourced teams, collaborative application lifecycle management, and cloud-based virtual infrastructures. Drawing on his extensive experience leading IBM Rational software strategy, and consulting with IBM enterprise customers, Alan illuminates everything from software R&D to metrics. Coverage includes Understanding recent dramatic changes in enterprise software delivery requirements and practices Overcoming false assumptions, outdated data and delivery models, and inexperience with strategy, innovation, education, or research Incorporating integrators and partners in centers of excellence that specialize in delivering business value Establishing team-based practices that encourage agility, scalability, and quality Building adaptive software factories that integrate real-time feedback and respond rapidly to change Using virtualized collaborative infrastructure to connect worldwide teams for developing software, assembling solutions, and delivering results Transcending barriers related to geography, organization, skills, and culture If you're an enterprise software leader, strategist, or practitioner, this book can help you improve every facet of performance you care about, including agility, quality, predictability, innovation, and value.