Sponsored links


Valid XHTML 1.0!
Valid CSS!



Product: Book - Paperback
Title: Software Test Automation (ACM Press)
Publisher: Addison-Wesley Professional
Authors: Mark Fewster, Dorothy Graham
Rating: 5/5
Customer opinion - 5 stars out of 5
This is simply the Very Best Book. Period.


Book review
Mark Fewster and Dorothy Graham Software Test Automation Addison Wesley, 1999 ISBN 0-201-33140-3
A book for beginners in test automation. Everything you always wanted to know about test automation, but never dared to ask, and the tool suppliers probably won’t tell you.
This book is a must for every serious test manager. It is not only about automation. It is really about test architecture and test suite design. Most other books are about how to design test cases, or how to manage testing. This book is about designing the whole stuff into such a form that you can maintain it, that it will survice maintenance, and that you can automate it. The background is test automation. Many examples show the testware design pitfalls in building automated tests. But it hit me how useful the book is to any testing effort, even manual testing.
The book has two parts. Part 1 is a detailed guide to designing automated (or not totally automated) tests. Questions of selecting and introducing test tools are also discussed. Part 2 contains 15 guest chapters, written by people who have experience in test automation, sharing their experience. These chapters vary in style and are rather short.
There is a readers guide, It shows what te read if you have different intentions and know more or less from before.
Overview of part 1, the Test Automation Design Part.
Chapter 1 gives the context of test automation. It places the different tools into a test model and warns us of naive belief in and application of automation.
Chapter 2 shows the results of capture and playback. At the end of this chapter, the reader will have understood the limited scope of application of this. Problems with script robustness and automatic results comparison are shown.
From chapter 3, the focus changes to scripting. The chapter presents the five levels of generating test scripts, from linear through structures, shared, data-driven to keyword based. The reader will soon see that investment in scripting can pay off. The benefits of data driven or keyword driven testing are clearly shown. The only negative comment is that keyword driven testing, the most advanced and modern approach, is not shown to the same detail as the other techniques. However, these techniques are presented by authors of methodologies and real users in chapters 22 to 25.
Chapter 4 shows the practical details of automated verification of test results. There are lots of methods and pitfalls. The main possibilities are dynamic verification (during running the tests) and static verification (afterwards. The other option is how much to verify. In principle, everything may be interesting. But this costs both work time, maintenance effort, storage, and makes tests less robust and more proine to maintenance. An interesting alternative is to design a broad smoke test where as much as possible is captures and verified, and then a large main test, where every test only vewwrifies its main objective. The authors also show different methods for comparing “exotic” output. One objection is the shallow section on testing embedded systems. At least for telecom systems, but also other “standard” technical interfaces, lots of commercial tools exist that can be used to verify output in a problem oriented and intelligent way. There should also be some more mention about verifying time correctness of system outputs. There might also be some more focus on the use of check sums, statistical selection out of large amounts of data etc.
Chapter 5 shows a possible architecture of the test set. This chapter applies just as well to manual as to automated testing. It fills a hole in IEEE Standard 829, namely proposition as to how to structure the detailed test material, the scripts, input data, utilities, expected results, and actual results, togehter with all other information. The main idea behind the proposed directory structure and naming conventions is to make it easy to maintain and find through. It should also be easry to copy any needed test sets to a platform where they are needed.
There could be more different approaches, naturally, but the presented approach would work well and scale up. There could also be a cross reference to what IEEE 829 contains, and some example about how to use internet technology to document test structure, but all this is of minor disadvantage. This chapter is valuable to anyone who needs to structure test material.
Chapter 5 and 6 are a bit special, as they are as useful for automated, as for nonautomated testing. They concern the structure of the testing material, all the invoilved files, and the preprocessing and postprocessing. These chapters fill a hole in IEEE Standard 829, where no consideration is given to the practical details of building up and maintaining test material. A tool independent structure is given, and advice about how to connect the material with tools. Chapter 6 is an eye opener to the naive user of test automation tools: Preprocessing and postprocessing tasks must be automated, but are not in the scope of the commercial tools.
Chapter 7 presents other issues about test suite maintenance and maintainability. This is somehow good old material and knowledge. It one uses the good old rules for structured design and programing, and scheduled cleaning up of programs, the same could be applied to test amintenance and test material standards. Chapter 7 serves as a useful reminder about what you think you already knew, but maybe forgot in the concrete case.
Chapter 8 gives ideas about how to measure both testing and automated testing. For a metrics fan, this chapter is too short. It only outlines lots of examples of what can be done and why, but does not go into detail. On the other hand, there is enough literature elsewhere about this. Many of the proposed measurements are not very precise, but good advice to «the poor man» who has not measured much and has to fight for any resources to measure anything. The idea is: Anything which is of interest can be made measurable in some way, maybe not the ideal way and maybe not precisely. But any measurement is better than none. The chapter does a useful job in that respect.
Chapter 9 is a collection of points that have no natural place elsewhere. It includes short discussions on what to automate and what not, how to select tests, the order of running them, tricks to minimize time for failure analysis, deciding the status of a test. Most of the points are well known and not discussed in much detail. A good section is about test status, where the authors present some good ideas about how to handle known bugs in the products that are not going to be fixed for a while (and failed tests for such bugs).
Chapter 10 and 11 concern selecting and introducing a test tool. Much of these chapters are general and could be read by anyone having to select and implement any software tool. What I am missing here is more specific information about concrete test automation tool features to ask for. The general questions to tool vendors are useful, but more concrete advice special for test automation tools is lacking. A few concrete references to test tool functionality overviews would have been helpful here.
In all, I found part 1 very useful, and well worth the time spent reading.
Part 2 is different. There are case studies about successful introduction of test automation, the problems solved, the benfits achieved, and the difficulties met. Chapter 12 to 18, as well as 20, 21, 23 and 25 to 28 are about successful cases. Most of these are short and regrettably general in nature. Not easy to read concrete advice for your own situation. The most interesting one was chapter 28, describing seveal unexpected uses of automated tests at Microsoft. Chapter 19 is a study about test automation failures, and this is useful. Probably it is always more easy to learn from failures. Chapters 20 and 22 are very special, they both describe keyword driven test automation design methods. Chapter 20 is about the action word method, now called TestFrame, by Hans Buwalda from CMG, whereas chapter 22 is about RadSTAR. Both chapters are useful, as they describe the most modern approach to maintainable test design. However, chapter 22 could be more detailed.
In all, I found less use for part 2 of the book, probably because I have heard some of the stories before, at conferences. It may be different to a person new to the field. I was missing more case studies about atuomated tests of other than business systems. There is a lot of automation to be done in this field, and very often there is no alternaitve to automated testing.
In all: Buy the book. In the worst case, chapters 5 and 6 only create benetitfs enough to make it worth the money.
Hans Schaefer



Product: Book - Hardcover
Title: MCSD Self-Paced Training Kit: Analyzing Requirements and Defining Microsoft .NET Solution Architectures, Exam 70-300
Publisher: Microsoft Press
Authors: Microsoft Corporation, Microsoft Corporation
Rating: 5/5
Customer opinion - 5 stars out of 5
This book must be good


I had a dream last night about this book being kind of good. So it must be good. Thanks.



Product: Book - Paperback
Title: Learning Web Design, 2nd Edition
Publisher: O'Reilly
Authors: Jennifer Niederst
Rating: 4/5
Customer opinion - 4 stars out of 5
Great intro for fledgling Web designers


What does it take to become a Web designer? Find out from Jennifer Niederst, one of the most experienced Web designers around. She's been designing commercial sites since 1993! Aimed squarely at beginners, the book assumes no previous knowledge of the Internet and guides you through each of the key components of conventional Web design.
The book is the cornerstone of O'Reilly's Web Studio Series of books created for newcomers to the world of the Web design. One upcoming book in the series is "Designing with JavaScript" by Nick Heinle (our former JavaScript columnist). Jennifer calls this a "prequel" to her Web Design in a Nutshell book of the same publisher. Jennifer says:
"I wrote Web Design in a Nutshell because it was the book I needed as a professional Web designer. Learning Web Design is the book I wished I had to give out as a coursebook to my classes on beginning Web design."
Part I takes you through what Web design skills you need (information architecture, interface design, graphics, HTML, JavaScript etc.), how the Web works, FTP, Web vs. print design, and the design process. Part II teaches you basic HTML and color, and III covers creating and optimizing common Web graphics formats (GIF, JPEG, & GIF89a). Part IV "Form and Function" fuses these fundamentals together to create more "advanced" techniques like fancy bulleted lists, vertical rules, sliced images, and pop-up windows.
My favorite parts of the book were the later chapters. Part IV continues with a short usability chapter that has some good advise for first-timers (site structure, metaphors, navigation design [breadcrumbs, toolbars, etc.]). Chapter 19 has some Web design dos and don'ts like keeping file sizes small, above the fold advice, chunking, fluid design, etc. The final chapter "How'd They Do That: An Introduction to Advanced Techniques" briefly covers forms, audio/video, CSS, JavaScript/DHTML, and Flash.
There's nothing here experience developers haven't seen before, but this is one of the few books that you can hand to beginning Web designers and be confident they'll be on the right track.
I have two minor quibbles with the book. The author keeps referring to style sheets, but gives them little coverage in the last chapter. Jennifer says that based on her years of teaching beginners aren't ready for CSS yet, and can barely handle HTML:
"I've gotten similar comments about the lack of CSS in the book. It was a tough decision where to cut the line for "beginners," especially since I am so pro-standards (style separate from content and all that) myself.
But in the end, it came down to audience. I based the decision on my experience teaching beginning web design courses. The people who sign up for my classes (the same people who might buy this beginners book) are NOT ready to handle style sheets. They think that Netscape owns the Internet. Even simple HTML tagging is fairly overwhelming to them. And frankly, for the types of sites they are trying to learn to make (personal sites, small organization sites, etc.), creating standard-compliant code with style information in CSS is overkill. They just want an overview of how to make sites. I teach them practical techniques that work today but make reference to style sheets as a more robust and "proper" way to go. I also provide pointers on where they can learn more about CSS on their own.
Keep in mind that the book is intended as an introduction (albeit a darn thorough one) to Web design for absolute beginners. The professional set will get a lot more out of Web Design in a Nutshell which covers CSS more thoroughly."
So I can see now why she emphasizes tables. My other quibble is in a minor technical error in the GIF compression/optimization section. The author says "GIF compression works by condensing rows of identical pixel colors." This is not technically correct, LZW works by condensing rows of identical pixel *patterns,* which would include identical colors. Jennifer says this is intended to be "a layman's description of LZW compression" as she's done in her past books.
Other than these two minor quibbles the book is a great introduction for fledgling Web designers. From WebReference.com.



Product: Book - Paperback
Title: Enterprise JavaBeans, Fourth Edition
Publisher: O'Reilly
Authors: Richard Monson-Haefel, Bill Burke, Sacha Labourey
Rating: 5/5
Customer opinion - 5 stars out of 5
The best Java book I've ever read!


I have read a lot of Java books, but this is probably the best one I have ever read. It's clear and easy to read with excellent examples (not to long or short) and perfectly paced. It's also on EJB 1.1! Everyone on my development team used the first edition on our project and we will continue with this second edition now that's its available.