Testing with JUnit

Home  >>  Testing with JUnit

The Book

What This Book Is About

  • Design and implement robust system components by means of the de facto unit testing standard in Java
  • Reduce defect rate and maintenance effort, plus simultaneously increase code quality and development pace
  • Follow a step-by-step tutorial imparting the essential techniques based on real-world scenarios and code walkthroughs

Who This Book Is For

No matter what your specific background as a Java developer, whether you’re simply interested in building up a safety net to reduce regressions of your desktop application or in improving your server-side reliability based on robust and reusable components, unit testing is the way to go. This book provides you with a comprehensive but concise entrance advancing your knowledge step-wise to a professional level.

What You Will Learn

  • Organize your test infrastructure and resources reasonably
  • Understand and write well structured tests
  • Decompose your requirements into small and independently testable units
  • Increase your testing efficiency with on-the-fly generated stand-in components and deal with the particularities of exceptional flow
  • Employ runners to adjust to specific test demands
  • Use rules to increase testing safety and reduce boilerplate
  • Use third party supplements to improve the expressiveness of your verification statements

In Detail

JUnit has matured to become the most important tool when it comes to automated developer tests in Java. Supported by all IDEs and build systems, it empowers programmers to deliver software features reliably and efficiently. However, writing good unit tests is a skill that needs to be learned; otherwise it’s all too easy to end up in gridlocked development due to messed up production and testing code. Acquiring the best practices for unit testing will help you to prevent such problems and lead your projects to success with respect to quality and costs.

This book explains JUnit concepts and best practices applied to the test first approach, a foundation for high quality Java components delivered in time and budget.

From the beginning you’ll be guided continuously through a practically relevant example and pick up background knowledge and development techniques step by step. Starting with the basics of tests organization you’ll soon comprehend the necessity of well structured tests and delve into the relationship of requirement decomposition and the many-faceted world of test double usage. In conjunction with third-party tools you’ll be trained in writing your tests efficiently, adapt your test case environment to particular demands and increase the expressiveness of your verification statements. Finally, you’ll experience continuous integration as the perfect complement to support short feedback cycles and quality related reports for your whole team.

The tutorial gives a profound entry point in the essentials of unit testing with JUnit and prepares you for test-related daily work challenges.

Training

What This Training Is About

Mastering high quality software development driven by unit tests means to follow well attuned patterns and methods as a matter of routine, rather than reinventing the wheel on a daily basis. Having a good perception of the conceptual requirements and a wide-ranging arsenal of solution approaches, will empower you to continuously deliver code, which achieves excellent ratings not only with respect to the usual quality metrics.

We offer training that imparts the knowledge needed to cope with the challanges of testing with JUnit, efficiently in small on-site classes, tailored to your company needs, with a good deal of practical exercises.

Who Our Training Is For

We provide courses for all kind of Java developers with good knowlege of core APIs and programming techniques, but little or no experiences in writing JUnit tests.

What You Will Learn

The training material is based on the book Testing with JUnit and will cover

  • the motivation for JUnit testing beyond safety net and pure regression avoidance
  • the definition and different usage scenarios of unit-, integration- and acceptance-tests
  • the advantages of the test first approach
  • the common four phase structure of well written unit tests
  • the meaning of component behavior related testing
  • the role of test cases as low level specifications
  • the different test naming conventions
  • the decomposition of requirements into small and independently testable components
  • the importance of test isolation using test doubles as stand-in collaborator components
  • the pro and cons of using test double/mocking frameworks
  • an introduction of working with Mockito
  • the particularities of testing exeptional flow
  • the general architecture and particular usage scenarios of test runners
  • the mechanics of test helpers based on JUnit Rules
  • the different assertion approaches available and the importance custom assertions for readability
  • the employment of test coverage measurement
  • an introduction of how to run JUnit tests automatically within a CI build

Testing with JUnit Training

Scope and goals of the course can be adjusted to the specific needs of the participants. Trainings can be held in German or English. Contact us for more details, dates, and arrangements.

Posts