Java Testing and Design Book — PushToTest
Personal tools
You are here: Home Library Java Testing and Design Book

Java Testing and Design Book

A book from unit tests to automated Web tests. In many ways, the TestMaker missing manual.

by Frank Cohen from Prentice Hall Publishing ISBN 0131421891, 540 Pages, Paperback

 

Now Available!

In Java Testing and Design: From Unit Testing To Automated Web Tests, Frank Cohen describes the architectural choices to build Web-enabled applications in Java and how each choice impacts scalability and reliability. Cohen shows how to test and optimize these systems in the reader's own environment. Cohen goes further to describe the need for intelligent test agents in Web-enabled environments, describes a test agent framework with a tutorial on the latest Web test techniques, and presents TestMaker, a free open-source framework for building intelligent test agents to check Java-based Web software for functionality, performance, scalability and reliability. Cohen presents case studies and immediately useful code of how Elsevier, 2Wire, Sun Microsystems and BEA successfully use intelligent test agent technology to build scalable Java applications and assure confidence in their Web-enabled Java projects.

Click here to register for email announcements on Java Testing and Design!

Click here to download the code examples from the book.

 


 

New! Selected chapter now available for free download. All chapters are in Adobe Acrobat (PDF) format. Check back here for additional free chapter downloads.

 

Table of Contents

Part I - GUAGING WEB-ENABLED APPLICATION PERFORMANCE
Chapter 1) The Forces at Work Affecting Your Web-enabled Software
Chapter 2) When Performance Becomes a Problem
Chapter 3) Modeling User Behavior For Meaningful Test Results (586K)
Chapter 4) Java Development and Test Automation Tools
Chapter 5) Bridging From Methodology To Design

Part II - SYSTEM COMPONENTS AND OPTIMIZATION
Chapter 6) Making Dynamic Web Applications Rock Solid
Chapter 7) Tuning SOAP and XML Web Services
Chapter 8) Addressing Bottlenecks Through Automation
Chapter 9) Building Interoperability with .NET Web Services
Chapter 10) Building And Testing Intranets and Secure Environments
Chapter 11) A Web Service Framework From Construction To Test (344K)
Chapter 12) Turning Test Agent Results Into Actionable Knowledge

PART III: CASE STUDIES: BUILDING RELIABLE APPLICATIONS
Chapter 13) Concurrency and Scalability in a High Volume Datacenter
Chapter 14) Making the Right Choices for SOAP Scalability
Chapter 15) Mutliprotocol Testing In An Email Environment

Java Test and Design is the companion to any book on Java software development practices, techniques, and testing. Software developers, QA analysts and IT managers working in large corporate IT groups, software development companies, and service providers will greatly benefit from this book because it expands other Java books by going from architectural discussions to show actual working code that the reader can use in their own environment. The case studies show real-world practical techniques to make software projects reliable, scalable and secure. The content requires a working knowledge of Internet systems and protocols.

The Need To Test and Design

By all measures, the software development tools market is strong even during the current weak economy. Enterprises are demanding productivity from the immense equipment purchases made over the past 5 years. The real productivity gains remain in next generation software applications that will run on existing Web infrastructures. Web integration technology projects have been wildly successful in enterprises such as Boeing, Washington Mutual Bank, Elsevier Science, the Federal Reserve Bank, 2Wire, AMP Financial Services, General Motors, Wachovia, NASDAQ, Continental Airlines, and JP Morgan Chase. While computer hardware manufacturers are having a difficult time in the market software publishers are doing well. All this software development is driving the software test tools and services market. Mercury Interactive realized $152 Million in Q4 2003 in this space.

Web integration projects, enterprise adoption of open-source technology, and new operating system technology drives the need for testing and monitoring technology. Plus, Java Testing and Design software developers for a 'laundry list' of new APIs, protocols and tools in J2EE 1.4. While the new software is big move forward for J2EE, it pushes software developers to learn even more technology to turn out complex, highly functional and interoperable J2EE-based software applications. Software developers are also gearing-up to adopt the next generation of Web Service protocols, including WS-I, SAML, ebXML, and Liberty Alliance. Plus tools from application and tools vendors (for example, BEA WebLogic Server, IBM WebSphere, SunONE, .NET) are on the move. All this innovation gives pause to a software developer, QA analyst and IT manager. Each choice of tool, protocol, platform and technique impacts system scalability and reliability. Java Testing and Design: From Unit Testing to Automated Web Tests shows you how and right now!

 

 


The Reviews Are Coming In!

From a review on Amazon.com by Wes Boudville. Click here for details.

The testing of any computer code should ideally be as systematic and logical as the code itself. But given the parlous nature of some code, this is scarcely reassuring about the testing.

For Java code, Cohen attempts to inject some discipline. He describes the by now well known need for comprehensive unit testing. But this is just the lowest level. Above these are functional tests, scalability and performance tests, and quality of service tests. These require that you consider what users will typically do. In practice, he suggests that the users' collective behaviour might be considered polymodal. You try to divide the users into different categories of behaviour, and then represent each category by a generic user. He calls these archetypes. This effort is not trivial in most cases.

But, in his experience, the main difficulty is in the next step. You should try to build programs, called test agents, which can simulate each archetype. The test agents then access the main program in such a way that the latter cannot distinguish between these and real users. This takes automated unit testing to the next level.

If you are a programmer, you can appreciate the amount of work needed to do this. Much of the book revolves around explaining how to make a test agent and the various test automation tools available to help you.

 

From a review on Amazon.com by Bart Thompson. Click here for details.

This book is an excellent guide to testing web applications and web services. I expect it will benefit all readers, from the software developers or QA tech just getting started, through to the experienced coders and testers.

Java Testing and Design comes in three parts. The first part describes the things we developers, QA techs and IT folks deal with everyday - tough schedules, user needs, messed up management and test methodologies past and present. All this is shown being applied to building Web applications. The second part takes on the nuts-and-bolts aspect of building networked applications, including different connectivity methods (from http through XML and SOAP), from functional unit tests to testing sequences of messages and session data. It puts a whole new light on testing from the user's perspective using a new method called user archetypes - basically test scripts that mimic a user's behavior. It's a cool technique to make testing a lot more simpler.

The chapters describe the issues and the common areas where things go wrong. Then each chapter provides a detailed description of testing using the TestMaker free open-source test tool.

The third part of the book covers some case studies of tests that Frank Cohen had to devise. These include tests for scalability and throughput of SOAP-based Web Services. He also uncovers a huge scalability problem with Web Services that every Service Oriented Architecture (SOA) developer should know about. RPC-based Web Services do not scale and the book shows why and how anyone can find the results.

The book's title is a little weird since the book has little to do with Java itself. You could be a .NET developer and get just as much from the book. I would have liked to see more coverage of other test tools but since TestMaker is free and open source that's no problem for me.

Java Testing and Design provides excellent insights into testing and gives you tools and explanations for performing tests of Web-enabled applications. I recommend this book highly.

 

Document Actions