The Art of Unit Testing

The Art of Unit Testing
Author :
Publisher : Simon and Schuster
Total Pages : 459
Release :
ISBN-10 : 9781638353058
ISBN-13 : 1638353050
Rating : 4/5 (58 Downloads)

Synopsis The Art of Unit Testing by : Roy Osherove

Summary The Art of Unit Testing, Second Edition guides you step by step from writing your first simple tests to developing robust test sets that are maintainable, readable, and trustworthy. You'll master the foundational ideas and quickly move to high-value subjects like mocks, stubs, and isolation, including frameworks such as Moq, FakeItEasy, and Typemock Isolator. You'll explore test patterns and organization, working with legacy code, and even "untestable" code. Along the way, you'll learn about integration testing and techniques and tools for testing databases and other technologies. About this Book You know you should be unit testing, so why aren't you doing it? If you're new to unit testing, if you find unit testing tedious, or if you're just not getting enough payoff for the effort you put into it, keep reading. The Art of Unit Testing, Second Edition guides you step by step from writing your first simple unit tests to building complete test sets that are maintainable, readable, and trustworthy. You'll move quickly to more complicated subjects like mocks and stubs, while learning to use isolation (mocking) frameworks like Moq, FakeItEasy, and Typemock Isolator. You'll explore test patterns and organization, refactor code applications, and learn how to test "untestable" code. Along the way, you'll learn about integration testing and techniques for testing with databases. The examples in the book use C#, but will benefit anyone using a statically typed language such as Java or C++. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. What's Inside Create readable, maintainable, trustworthy tests Fakes, stubs, mock objects, and isolation (mocking) frameworks Simple dependency injection techniques Refactoring legacy code About the Author Roy Osherove has been coding for over 15 years, and he consults and trains teams worldwide on the gentle art of unit testing and test-driven development. His blog is at ArtOfUnitTesting.com. Table of Contents PART 1 GETTING STARTED The basics of unit testing A first unit test PART 2 CORE TECHNIQUES Using stubs to break dependencies Interaction testing using mock objects Isolation (mocking) frameworks Digging deeper into isolation frameworks PART 3 THE TEST CODE Test hierarchies and organization The pillars of good unit tests PART 4 DESIGN AND PROCESS Integrating unit testing into the organization Working with legacy code Design and testability

The Art of Unit Testing

The Art of Unit Testing
Author :
Publisher :
Total Pages : 292
Release :
ISBN-10 : OCLC:1083300982
ISBN-13 :
Rating : 4/5 (82 Downloads)

Synopsis The Art of Unit Testing by : Roy Osherove

Including numerous examples throughout, this book guides you step-by-step from writing your first simple unit tests to building complete test sets that are maintainable, readable, and trustworthy. --

Unit Testing Principles, Practices, and Patterns

Unit Testing Principles, Practices, and Patterns
Author :
Publisher : Simon and Schuster
Total Pages : 460
Release :
ISBN-10 : 9781638350293
ISBN-13 : 1638350299
Rating : 4/5 (93 Downloads)

Synopsis Unit Testing Principles, Practices, and Patterns by : Vladimir Khorikov

"This book is an indispensable resource." - Greg Wright, Kainos Software Ltd. Radically improve your testing practice and software quality with new testing styles, good patterns, and reliable automation. Key Features A practical and results-driven approach to unit testing Refine your existing unit tests by implementing modern best practices Learn the four pillars of a good unit test Safely automate your testing process to save time and money Spot which tests need refactoring, and which need to be deleted entirely Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About The Book Great testing practices maximize your project quality and delivery speed by identifying bad code early in the development process. Wrong tests will break your code, multiply bugs, and increase time and costs. You owe it to yourself—and your projects—to learn how to do excellent unit testing. Unit Testing Principles, Patterns and Practices teaches you to design and write tests that target key areas of your code including the domain model. In this clearly written guide, you learn to develop professional-quality tests and test suites and integrate testing throughout the application life cycle. As you adopt a testing mindset, you’ll be amazed at how better tests cause you to write better code. What You Will Learn Universal guidelines to assess any unit test Testing to identify and avoid anti-patterns Refactoring tests along with the production code Using integration tests to verify the whole system This Book Is Written For For readers who know the basics of unit testing. Examples are written in C# and can easily be applied to any language. About the Author Vladimir Khorikov is an author, blogger, and Microsoft MVP. He has mentored numerous teams on the ins and outs of unit testing. Table of Contents: PART 1 THE BIGGER PICTURE 1 ¦ The goal of unit testing 2 ¦ What is a unit test? 3 ¦ The anatomy of a unit test PART 2 MAKING YOUR TESTS WORK FOR YOU 4 ¦ The four pillars of a good unit test 5 ¦ Mocks and test fragility 6 ¦ Styles of unit testing 7 ¦ Refactoring toward valuable unit tests PART 3 INTEGRATION TESTING 8 ¦ Why integration testing? 9 ¦ Mocking best practices 10 ¦ Testing the database PART 4 UNIT TESTING ANTI-PATTERNS 11 ¦ Unit testing anti-patterns

Effective Unit Testing

Effective Unit Testing
Author :
Publisher : Simon and Schuster
Total Pages : 394
Release :
ISBN-10 : 9781638353881
ISBN-13 : 1638353883
Rating : 4/5 (81 Downloads)

Synopsis Effective Unit Testing by : Lasse Koskela

Summary Effective Unit Testing is written to show how to write good tests—tests that are concise and to the point, expressive, useful, and maintainable. Inspired by Roy Osherove's bestselling The Art of Unit Testing, this book focuses on tools and practices specific to the Java world. It introduces you to emerging techniques like behavior-driven development and specification by example, and shows you how to add robust practices into your toolkit. About Testing Test the components before you assemble them into a full application, and you'll get better software. For Java developers, there's now a decade of experience with well-crafted tests that anticipate problems, identify known and unknown dependencies in the code, and allow you to test components both in isolation and in the context of a full application. About this Book Effective Unit Testing teaches Java developers how to write unit tests that are concise, expressive, useful, and maintainable. Offering crisp explanations and easy-to-absorb examples, it introduces emerging techniques like behavior-driven development and specification by example. Programmers who are already unit testing will learn the current state of the art. Those who are new to the game will learn practices that will serve them well for the rest of their career. Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book. About the Author Lasse Koskela is a coach, trainer, consultant, and programmer. He hacks on open source projects, helps companies improve their productivity, and speaks frequently at conferences around the world. Lasse is the author of Test Driven, also published by Manning. What's Inside A thorough introduction to unit testing Choosing best-of-breed tools Writing tests using dynamic languages Efficient test automation Table of Contents PART 1 FOUNDATIONS The promise of good tests In search of good Test doubles PART 2 CATALOG Readability Maintainability Trustworthiness PART 3 DIVERSIONS Testable design Writing tests in other JVM languages Speeding up test execution

Unit Test Frameworks

Unit Test Frameworks
Author :
Publisher : "O'Reilly Media, Inc."
Total Pages : 216
Release :
ISBN-10 : 9780596552817
ISBN-13 : 0596552815
Rating : 4/5 (17 Downloads)

Synopsis Unit Test Frameworks by : Paul Hamill

Unit test frameworks are a key element of popular development methodologies such as eXtreme Programming (XP) and Agile Development. But unit testing has moved far beyond eXtreme Programming; it is now common in many different types of application development. Unit tests help ensure low-level code correctness, reduce software development cycle time, improve developer productivity, and produce more robust software.Until now, there was little documentation available on unit testing, and most sources addressed specific frameworks and specific languages, rather than explaining the use of unit testing as a language-independent, standalone development methodology. This invaluable new book covers the theory and background of unit test frameworks, offers step-by-step instruction in basic unit test development, provides useful code examples in both Java and C++, and includes details on some of the most commonly used frameworks today from the XUnit family, including JUnit for Java, CppUnit for C++, and NUnit for .NET.Unit Test Frameworks includes clear, concise, and detailed descriptions of: The theory and design of unit test frameworks Examples of unit tests and frameworks Different types of unit tests Popular unit test frameworks And more It also includes the complete source code for CppUnit for C++, and NUnit for .NET.

xUnit Test Patterns

xUnit Test Patterns
Author :
Publisher : Pearson Education
Total Pages : 890
Release :
ISBN-10 : 9780132797467
ISBN-13 : 0132797461
Rating : 4/5 (67 Downloads)

Synopsis xUnit Test Patterns by : Gerard Meszaros

Automated testing is a cornerstone of agile development. 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.

Dependency Injection Principles, Practices, and Patterns

Dependency Injection Principles, Practices, and Patterns
Author :
Publisher : Simon and Schuster
Total Pages : 911
Release :
ISBN-10 : 9781638357100
ISBN-13 : 1638357102
Rating : 4/5 (00 Downloads)

Synopsis Dependency Injection Principles, Practices, and Patterns by : Mark Seemann

Summary Dependency Injection Principles, Practices, and Patterns teaches you to use DI to reduce hard-coded dependencies between application components. You'll start by learning what DI is and what types of applications will benefit from it. Then, you'll work through concrete scenarios using C# and the .NET framework to implement DI in your own projects. As you dive into the thoroughly-explained examples, you'll develop a foundation you can apply to any of the many DI libraries for .NET and .NET Core. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Dependency Injection (DI) is a great way to reduce tight coupling between software components. Instead of hard-coding dependencies, such as specifying a database driver, you make those connections through a third party. Central to application frameworks like ASP.NET Core, DI enables you to better manage changes and other complexity in your software. About the Book Dependency Injection Principles, Practices, and Patterns is a revised and expanded edition of the bestselling classic Dependency Injection in .NET. It teaches you DI from the ground up, featuring relevant examples, patterns, and anti-patterns for creating loosely coupled, well-structured applications. The well-annotated code and diagrams use C# examples to illustrate principles that work flawlessly with modern object-oriented languages and DI libraries. What's Inside Refactoring existing code into loosely coupled code DI techniques that work with statically typed OO languages Integration with common .NET frameworks Updated examples illustrating DI in .NET Core About the Reader For intermediate OO developers. About the Authors Mark Seemann is a programmer, software architect, and speaker who has been working with software since 1995, including six years with Microsoft. Steven van Deursen is a seasoned .NET developer and architect, and the author and maintainer of the Simple Injector DI library. Table of Contents PART 1 Putting Dependency Injection on the map The basics of Dependency Injection: What, why, and how Writing tightly coupled code Writing loosely coupled code PART 2 Catalog DI patterns DI anti-patterns Code smells PART 3 Pure DI Application composition Object lifetime Interception Aspect-Oriented Programming by design Tool-based Aspect-Oriented Programming PART 4 DI Containers DI Container introduction The Autofac DI Container The Simple Injector DI Container The Microsoft.Extensions.DependencyInjection DI Container

Elastic Leadership

Elastic Leadership
Author :
Publisher : Simon and Schuster
Total Pages : 241
Release :
ISBN-10 : 9781638351085
ISBN-13 : 1638351082
Rating : 4/5 (85 Downloads)

Synopsis Elastic Leadership by : Roy Osherove

Summary Elastic leadership is a framework and philosophy that can help you as you manage day-to-day and long-term challenges and strive to create the elusive self-organizing team. It is about understanding that your leadership needs to change based on which phase you discover that your team is in. This book provides you with a set of values, techniques, and practices to use in your leadership role. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Your team looks to you for guidance. You have to mediate heated debates. The team is constantly putting out fires instead of doing the right things, the right way. Everyone seems to want to do things correctly, but nobody seems to be doing so. This is where leaders get stuck. It's time to get unstuck! Elastic leadership is a novel approach that helps you adapt your leadership style to the phase your team is in, so you can stay in step as things change. About the Book Elastic Leadership is a practical, experience-driven guide to team leadership. In it, you'll discover a set of values, techniques, and practices to lead your team to success. First, you'll learn what elastic leadership is and explore the phases of this results-oriented framework. Then, you'll see it in practice through stories, anecdotes, and advice provided by successful leaders in a variety of disciplines, all annotated by author and experienced team leader, Roy Osherove. What's Inside Understanding why people do what they do Effective coaching Influencing team members and managers Advice from industry leaders About the Reader This book is for anyone with a year or more of experience working on a team as a lead or team member. About the Author Roy Osherove is the DevOps process lead for the West Coast at EMC, based in California. He is also the author of The Art of Unit Testing (Manning, 2013) and Enterprise DevOps. He consults and trains teams worldwide on the gentle art of leadership, unit testing, test-driven development, and continuous-delivery automation. He frequently speaks at international conferences on these topics and others. Table of Contents PART 1 - UNDERSTANDING ELASTIC LEADERSHIP Striving toward a Team Leader Manifesto Matching leadership styles to team phases Dealing with bus factors PART 2 - SURVIVAL MODE Dealing with survival mode PART 3 - LEARNING MODE Learning to learn Commitment language Growing people PART 4 - SELF-ORGANIZATION MODE Using clearing meetings to advance self-organization Influence patterns The Line Manager Manifesto PART 5 - NOTES TO A SOFTWARE TEAM LEADER Feeding back Channel conflict into learning It's probably not a technical problem Review the code Document your air, food, and water Appraisals and agile don't play nicely Leading through learning: the responsibilities of a team leader Introduction to the Core Protocols Change your mind: your product is your team Leadership and the mature team Spread your workload Making your team manage their own work Go see, ask why, show respect Keep developers happy, reap high-quality work Stop doing their work Write code, but not too much Evolving from manager to leader Affecting the pace of change Proximity management Babel Fish You're the lead, not the know-it-all Actions speak louder than words

Coders at Work

Coders at Work
Author :
Publisher : Apress
Total Pages : 619
Release :
ISBN-10 : 9781430219491
ISBN-13 : 1430219491
Rating : 4/5 (91 Downloads)

Synopsis Coders at Work by : Peter Seibel

Peter Seibel interviews 15 of the most interesting computer programmers alive today in Coders at Work, offering a companion volume to Apress’s highly acclaimed best-seller Founders at Work by Jessica Livingston. As the words “at work” suggest, Peter Seibel focuses on how his interviewees tackle the day-to-day work of programming, while revealing much more, like how they became great programmers, how they recognize programming talent in others, and what kinds of problems they find most interesting. Hundreds of people have suggested names of programmers to interview on the Coders at Work web site: www.codersatwork.com. The complete list was 284 names. Having digested everyone’s feedback, we selected 15 folks who’ve been kind enough to agree to be interviewed: Frances Allen: Pioneer in optimizing compilers, first woman to win the Turing Award (2006) and first female IBM fellow Joe Armstrong: Inventor of Erlang Joshua Bloch: Author of the Java collections framework, now at Google Bernie Cosell: One of the main software guys behind the original ARPANET IMPs and a master debugger Douglas Crockford: JSON founder, JavaScript architect at Yahoo! L. Peter Deutsch: Author of Ghostscript, implementer of Smalltalk-80 at Xerox PARC and Lisp 1.5 on PDP-1 Brendan Eich: Inventor of JavaScript, CTO of the Mozilla Corporation Brad Fitzpatrick: Writer of LiveJournal, OpenID, memcached, and Perlbal Dan Ingalls: Smalltalk implementor and designer Simon Peyton Jones: Coinventor of Haskell and lead designer of Glasgow Haskell Compiler Donald Knuth: Author of The Art of Computer Programming and creator of TeX Peter Norvig: Director of Research at Google and author of the standard text on AI Guy Steele: Coinventor of Scheme and part of the Common Lisp Gang of Five, currently working on Fortress Ken Thompson: Inventor of UNIX Jamie Zawinski: Author of XEmacs and early Netscape/Mozilla hacker

Growing Object-Oriented Software, Guided by Tests

Growing Object-Oriented Software, Guided by Tests
Author :
Publisher : Pearson Education
Total Pages : 762
Release :
ISBN-10 : 9780321699763
ISBN-13 : 0321699769
Rating : 4/5 (63 Downloads)

Synopsis Growing Object-Oriented Software, Guided by Tests by : Steve Freeman

Test-Driven Development (TDD) is now an established technique for delivering better software faster. TDD is based on a simple idea: Write tests for your code before you write the code itself. However, this "simple" idea takes skill and judgment to do well. Now there's a practical guide to TDD that takes you beyond the basic concepts. Drawing on a decade of experience building real-world systems, two TDD pioneers show how to let tests guide your development and “grow” software that is coherent, reliable, and maintainable. Steve Freeman and Nat Pryce describe the processes they use, the design principles they strive to achieve, and some of the tools that help them get the job done. Through an extended worked example, you’ll learn how TDD works at multiple levels, using tests to drive the features and the object-oriented structure of the code, and using Mock Objects to discover and then describe relationships between objects. Along the way, the book systematically addresses challenges that development teams encounter with TDD—from integrating TDD into your processes to testing your most difficult features. Coverage includes Implementing TDD effectively: getting started, and maintaining your momentum throughout the project Creating cleaner, more expressive, more sustainable code Using tests to stay relentlessly focused on sustaining quality Understanding how TDD, Mock Objects, and Object-Oriented Design come together in the context of a real software development project Using Mock Objects to guide object-oriented designs Succeeding where TDD is difficult: managing complex test data, and testing persistence and concurrency