xUnit Test Patterns: Refactoring Test Code


Gerard Meszaros - 2003
    An effective testing strategy will deliver new functionality more aggressively, accelerate user feedback, and improve quality. However, for many developers, creating effective automated tests is a unique and unfamiliar challenge. xUnit Test Patterns is the definitive guide to writing automated tests using xUnit, the most popular unit testing framework in use today. Agile coach and test automation expert Gerard Meszaros describes 68 proven patterns for making tests easier to write, understand, and maintain. He then shows you how to make them more robust and repeatable--and far more cost-effective. Loaded with information, this book feels like three books in one. The first part is a detailed tutorial on test automation that covers everything from test strategy to in-depth test coding. The second part, a catalog of 18 frequently encountered "test smells," provides trouble-shooting guidelines to help you determine the root cause of problems and the most applicable patterns. The third part contains detailed descriptions of each pattern, including refactoring instructions illustrated by extensive code samples in multiple programming languages. Topics covered includeWriting better tests--and writing them faster The four phases of automated tests: fixture setup, exercising the system under test, result verification, and fixture teardown Improving test coverage by isolating software from its environment using Test Stubs and Mock Objects Designing software for greater testability Using test "smells" (including code smells, behavior smells, and project smells) to spot problems and know when and how to eliminate them Refactoring tests for greater simplicity, robustness, and execution speed This book will benefit developers, managers, and testers working with any agile or conventional development process, whether doing test-driven development or writing the tests last. While the patterns and smells are especially applicable to all members of the xUnit family, they also apply to next-generation behavior-driven development frameworks such as RSpec and JBehave and to other kinds of test automation tools, including recorded test tools and data-driven test tools such as Fit and FitNesse.Visual Summary of the Pattern Language Foreword Preface Acknowledgments Introduction Refactoring a Test PART I: The Narratives Chapter 1 A Brief Tour Chapter 2 Test Smells Chapter 3 Goals of Test Automation Chapter 4 Philosophy of Test Automation Chapter 5 Principles of Test Automation Chapter 6 Test Automation Strategy Chapter 7 xUnit Basics Chapter 8 Transient Fixture Management Chapter 9 Persistent Fixture Management Chapter 10 Result Verification Chapter 11 Using Test Doubles Chapter 12 Organizing Our Tests Chapter 13 Testing with Databases Chapter 14 A Roadmap to Effective Test Automation PART II: The Test Smells Chapter 15 Code Smells Chapter 16 Behavior Smells Chapter 17 Project Smells PART III: The Patterns Chapter 18 Test Strategy Patterns Chapter 19 xUnit Basics Patterns Chapter 20 Fixture Setup Patterns Chapter 21 Result Verification Patterns Chapter 22 Fixture Teardown Patterns Chapter 23 Test Double Patterns Chapter 24 Test Organization Patterns Chapter 25 Database Patterns Chapter 26 Design-for-Testability Patterns Chapter 27 Value Patterns PART IV: Appendixes Appendix A Test Refactorings Appendix B xUnit Terminology Appendix C xUnit Family Members Appendix D Tools Appendix E Goals and Principles Appendix F Smells, Aliases, and Causes Appendix G Patterns, Aliases, and Variations Glossary References Index "

Kanban in Action


Marcus Hammarberg - 2013
    Kanban leverages visual management techniques to involve stakeholders and to facilitate understanding of how the work works. Through limiting the amount of work in process, and by focusing on finishing that work as soon as possible, kanban helps you to adjust demand to capacity, to reduce lead times and to create a driver for continuous improvement.Kanban in Action is a down-to-earth, no-frills, get-to-know-the-ropes introduction to kanban. It's based on the real-world experience and observations from two kanban coaches who have introduced this process to dozens of teams. In this book, you'll discover basic but powerful techniques on how to visualize and track work, how to construct a kanban board, how to visualize queues and bottlenecks, and much much more. You'll learn the principles of why kanban works as well as nitty-gritty details like how to use different color stickies to help you organize and track your work items.

Agile Project Management with Kanban


Eric Brechner - 2015
    You open the box and right on top is a quick-start guide. Being a novice, you follow the guide, and quickly get up and running. As you become more experienced, the other box contents address common advanced issues you'd face, like right-sizing teams, estimation, hitting deadlines, transitioning from Scrum or Waterfall, deploying components and services, and using Kanban within larger organizations.Real-world experience from a direct practitioner working on Xbox and Xbox.comA concise, pragmatic, and easy-to-read guide with clear, fresh, and hard-won guidanceUsing Kanban within larger organizations - how to deal with upper management, planning, and dependencies

Servant Leadership: A Journey Into the Nature of Legitimate Power and Greatness


Robert K. Greenleaf - 1977
    This highly influential book has been embraced by cutting edge management everywhere. Yet in these days of Enron and what VISA CEO Dee Hock calls our era of massive institutional failure, Greenleaf's seminal work must reach the mainstream now more than ever. Servant Leadership-- - helps leaders find their true power and moral authority to lead. - helps those served become healthier, wiser, freer, and more autonomous. - encourages collaboration, trust, listening, and empowerment. - offers long-lasting change, not a temporary fix. - extends beyond business for leaders of all types of groups.

Ejb 3 in Action


Debu Panda - 2007
    This book builds on the contributions and strengths of seminal technologies like Spring, Hibernate, and TopLink.EJB 3 is the most important innovation introduced in Java EE 5.0. EJB 3 simplifies enterprise development, abandoning the complex EJB 2.x model in favor of a lightweight POJO framework. The new API represents a fresh perspective on EJB without sacrificing the mission of enabling business application developers to create robust, scalable, standards-based solutions.EJB 3 in Action is a fast-paced tutorial, geared toward helping you learn EJB 3 and the Java Persistence API quickly and easily. For newcomers to EJB, this book provides a solid foundation in EJB. For the developer moving to EJB 3 from EJB 2, this book addresses the changes both in the EJB API and in the way the developer should approach EJB and persistence.

Pro Django


Marty Alchin - 2008
    Learn how to leverage the Django web framework to its full potential in this advanced tutorial and reference. Endorsed by Django, Pro Django more or less picks up where The Definitive Guide to Django left off and examines in greater detail the unusual and complex problems that Python web application developers can face and how to solve them.Provides in-depth information about advanced tools and techniques available in every Django installation Runs the gamut from the theory of Django's internal operations to actual code that solves real-world problems for high-volume environments Goes above and beyond other books, leaving the basics behind Shows how Django can do things even its core developers never dreamed possible

Agile!: The Good, the Hype and the Ugly


Bertrand Meyer - 2014
    The book details agile principles, roles, managerial practices, technical practices and artifacts, offering a complete review that will help readers master all the important agile ideas.

There Was an Old Fly Who Swallowed a Lady


Jason Pierce - 2012
    Once upon a time,"there was an old lady who swallowed a fly"...Well, the fly is back!He's bigger.He's badder.And he wants revenge!

Get Agile!: Scrum for UX, Design & Development


Pieter Jongerius - 2013
    This manual is aimed at everyone who works on interactive products in a design and development environment. It contains all of the basic information required for getting started with the project management method Scrum, but also offers a number of in-depth chapters looking at topics which even the most experienced Scrummers have trouble with on a daily basis. If you are experienced, you will find the advanced tips and tricks useful. If you are just considering Scrum, this book will most certainly get you enthusiastic.

Toyota Kata: Managing People for Improvement, Adaptiveness and Superior Results


Mike Rother - 2009
    Womack, Chairman and Founder, Lean Enterprise Institute. This game-changing book puts you behind the curtain of Toyota, providing new insight into the legendary automaker's management practices and offering practical guidance for leading and developing people in a way that makes the best use of their brainpower. Drawing on six years of research into Toyota's employee-management routines, Toyota Kata examines and elucidates, for the first time, the company's organizational routines--called kata--that power its success with continuous improvement and adaptation. The book also reaches beyond Toyota to explain issues of human behavior in organizations and provide specific answers to questions such as: How can we make improvement and adaptation part of everyday work throughout the organization? How can we develop and utilize the capability of everyone in the organization to repeatedly work toward and achieve new levels of performance? How can we give an organization the power to handle dynamic, unpredictable situations and keep satisfying customers? Mike Rother explains how to improve our prevailing management approach through the use of two kata: Improvement Kata--a repeating routine of establishing challenging target conditions, working step-by-step through obstacles, and always learning from the problems we encounter; and Coaching Kata: a pattern of teaching the improvement kata to employees at every level to ensure it motivates their ways of thinking and acting. With clear detail, an abundance of practical examples, and a cohesive explanation from start to finish, Toyota Kata gives executives and managers at any level actionable routines of thought and behavior that produce superior results and sustained competitive advantage.

Frontend Architecture for Design Systems: A Modern Blueprint for Scalable and Sustainable Websites


Micah Godbolt - 2015
    This practical book takes experienced web developers through the new discipline of frontend architecture, including the latest tools, standards, and best practices that have elevated frontend web development to an entirely new level.Using real-world examples, case studies, and practical tips and tricks throughout, author Micah Godbolt introduces you to the four pillars of frontend architecture. He also provides compelling arguments for developers who want to embrace the mantle of frontend architect and fight to make it a first-class citizen in their next project.The four pillars include:Code: how to approach the HTML, CSS, and JavaScript of a design systemProcess: tools and processes for creating an efficient and error-proof workflowTesting: creating a stable foundation on which to build your siteDocumentation: tools for writing documentation while the work is in progress

Software Requirements 3


Karl Wiegers - 1999
    Two leaders in the requirements community have teamed up to deliver a contemporary set of practices covering the full range of requirements development and management activities on software projects. Describes practical, effective, field-tested techniques for managing the requirements engineering process from end to end. Provides examples demonstrating how requirements "good practices" can lead to fewer change requests, higher customer satisfaction, and lower development costs. Fully updated with contemporary examples and many new practices and techniques. Describes how to apply effective requirements practices to agile projects and numerous other special project situations. Targeted to business analysts, developers, project managers, and other software project stakeholders who have a general understanding of the software development process. Shares the insights gleaned from the authors' extensive experience delivering hundreds of software-requirements training courses, presentations, and webinars.New chapters are included on specifying data requirements, writing high-quality functional requirements, and requirements reuse. Considerable depth has been added on business requirements, elicitation techniques, and nonfunctional requirements. In addition, new chapters recommend effective requirements practices for various special project situations, including enhancement and replacement, packaged solutions, outsourced, business process automation, analytics and reporting, and embedded and other real-time systems projects.

Teaching Smart People How to Learn


Chris Argyris - 2008
    So when they do fail, instead of critically examining their own behavior, they cast blame outward—on anyone or anything they can. In Teaching Smart People How to Learn, Chris Argyris sheds light on the forces that prevent highly skilled employees for learning from mistakes and offers suggestions for helping talented employees develop more productive responses. Since 1922, Harvard Business Review has been a leading source of breakthrough ideas in management practice-many of which still speak to and influence us today. The HBR Classics series now offers you the opportunity to make these seminal pieces a part of your permanent management library. Each volume contains a groundbreaking idea that has shaped best practices and inspired countless managers around the world-and will change how you think about the business world today.

The Art of Software Testing


Glenford J. Myers - 1979
    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.

Collaborative Intelligence: Using Teams to Solve Hard Problems


J. Richard Hackman - 2011
    Tragically, these teams often devolve into wheel-spinning, contentious assemblies that get nothing done.  Or members may disengage from a team if they find its work frustrating, trivial, or a waste of their time.  Even teams with a spirit of camaraderie may take actions that are flat-out wrong. But there is also good news. This book draws on recent research findings as well as Harvard Professor Richard Hackman’s own experience as an intelligence community researcher and advisor to show how leaders can create an environment where teamwork flourishes.  Hackman identifies six enabling conditions – such as establishing clear norms of conduct and providing well-timed team coaching – that increase the likelihood that teams will be effective in any setting or type of organization.. Although written explicitly for intelligence, defense, crisis management, and law enforcement professionals it will also be valuable for improving team success in all kinds of leadership, management, service, and production teams in business, government, and nonprofit enterprises.