Tuesday, March 27, 2007

Test Patterns In Java

Abstract

Testing is an important part of software development. Effective testing is a key factor in reducing total cost of maintenance of any application over its lifetime. It reduces the cost and time of development, can increase savings on quality assurance and of course on sustaining. Knowing when to invest in better design, in post development quality assurance, in manual tests or in automatic testing forms a basic difference between successful and unsuccessful software projects in these tough and competitive days.

In this paper we start with general motivation and present automatic tests as a form of functional specification. It will then quickly dive deep down into hardcore JUnit test examples showing various forms of regression tests verifying algorithm complexity, memory management, data structure sizes, deadlocks, race condition behavior and tests randomly generating new test cases, simulating user clicks in the UI, API signature tests, etc.

We assume that you know what tests are and that tests are important and useful part of software development. This presentation will show how it looks when it comes to practical usage of a test framework. You will learn techniques, tips and tricks for testing various aspects of real world J2SE applications. We will also give examples of the savings and improvements that were achieved by increased usage of extensive automatic testing in the development of NetBeans platform and IDE.


http://openide.netbeans.org/tutorial/test-patterns.html

No comments: