Swing Extreme Testing
|Also available on:|
- Learn Swing user interface testing strategy
- Automate testing of components usually thought too hard to test automatically
- Practical guide with ready-to-use examples and source code
- Based on the authorsâ€™ experience developing and testing commercial software
Table of Contents
Chapter 1: What Needs Testing?
Chapter 2: Basics of Unit Testing
Chapter 3: Infrastructure for Testing
Chapter 4: Cyborg—a Better Robot
Chapter 5: Managing and Testing User Messages
Chapter 6: Making Classes Testable with Interfaces
Chapter 7: Exercising UI Components in Tests
Chapter 8: Showing, Finding, and Reading Swing Components
Chapter 9: Case Study: Testing a 'Save as' Dialog
Chapter 10: More Techniques for Testing Swing Components
Chapter 11: Help!
Chapter 12: Threads
Chapter 13: Logging
Chapter 14: Communication with External Systems
Chapter 15: Embedding User Interface Components in Server-side Classes
Chapter 16: Tests Involving Databases
Chapter 17: Function Tests
Chapter 18: Load Testing
Chapter 19: GrandTestAuto
Chapter 20: Flaky Tests
Download the code and support files for this book.
Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.
What you will learn from this book
- What needs testing in a Java software projectâ€”the extreme testing approach
- Managing test classes and test data
- Useful tools for robotically testing Java applications
- Managing and testing user interface components, and using UI wrappers in function testing
- Setting up Swing GUI components in a thread-safe manner
- Creating and testing a JavaHelp system for an application
- Testing highly multi-threaded system and communication with external systems
- Testing the logs produced by a software application
- Embedding GUI components in server-side classes
- Managing databases in a way that facilitates testing
- Specifying and writing tests at the system level, tests using multiple JVMs
- Basics of load testing
- Exploring GrandTestAuto, a tool for test automation, coverage checking, and distributed testing
- Dealing with intermittent test failures
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.
This book is a practical guide to automated software testing for extreme Java programming using Swing GUIs, with lots of ready-to-use real-life examples and source code for automated testing of the software components usually regarded as too hard to test automatically.
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 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.