Description:In Detail Thorough testing is the basis of good software. Whether we use an agile development methodology such as Extreme Programming, or a more traditional approach, we must test our software at the unit level and application level. The tests must run automatically and cover all aspects of the software. In this book, the authors draw on more than 20 years of experience to show how automated testing can be applied to a real commercial product. This book will teach you how to automatically test user interfaces (Swing GUIs), the help system, internationalization, log files, spreadsheets, email, and web services, how to perform tests involving multiple JVMs, and a host of other things. These tests are applied at the module level (unit tests) and at the application level (function tests). The authors have developed the test processes in the broader context of an Extreme Programming (XP) methodology. However, the testing techniques are certainly not specific to XP, and may be applied within any given development methodology. What you will learn from this book? What needs testing in a Java software project--the extreme testing approachManaging test classes and test dataUseful tools for robotically testing Java applicationsManaging and testing user interface components, and using UI wrappers in function testingSetting up Swing GUI components in a thread-safe mannerCreating and testing a JavaHelp system for an applicationTesting highly multi-threaded system and communication with external systemsTesting the logs produced by a software applicationEmbedding GUI components in server-side classesManaging databases in a way that facilitates testingSpecifying and writing tests at the system level, tests using multiple JVMsBasics of load testingExploring GrandTestAuto, a tool for test automation, coverage checking, and distributed testingDealing with intermittent test failures Approach This book is a practical guide based on the authors' daily experience developing and maintaining a cutting-edge Artificial Intelligence system. Every chapter comes up with real-life examples and the source code that comes with the book is full of useful (and well-tested) tools. The practical examples make this book suitable learning material for Swing developers. Who this book is written for? This book is for Swing developers who design and develop complex software for user interfaces that requires extensive testing. If you want to learn to test your Swing GUI components, this book is for you.