Saturday, March 14, 2009

Book Review: “Software Testing with Visual Studio Team System 2008” from PACKT Publishing

Software Testing with Visual Studio Team System 2008

“A comprehensive and concise guide to testing your software applications with Visual Studio Team System 2008

  • Test your software applications with Visual Studio Team System 2008 and rest assured of its quality
  • Create a structured testing environment for your applications to produce reliable products
  • Comprehensive yet concise guide with a lot of examples and clear explanations
  • No knowledge of software testing is required, only basic knowledge of Visual Studio 2008 operation is expected


PACKT Publishing was recently kind of enough to send me a review copy of their “Software Testing with Visual Studio Team System 2008” book. Over the last few days I’ve been spending some quality time with the book and I have to say I’m better for it.

This book provides a nice overview, level 100+, guide to the testing capabilities found in the Visual Studio 2008. From unit testing through the features of the Test Edition, you’re provided a good working level introduction and usage overview.

Software Testing with Visual Studio Team System 2008 - Table of Contents

Chapter 1: Visual Studio Team System 2008 Test Types
Chapter 2: Unit Testing
Chapter 3: Web Testing
Chapter 4: Advanced Web Testing
Chapter 5: Load Testing
Chapter 6: Manual, Generic, and Ordered Tests
Chapter 7: Managing and Configuring the Test
Chapter 8: Deploying and Running Tests
Chapter 9: Command Line
Chapter 10: Working with Test Results
Chapter 11: Reporting


I’m not going to go into details into the book’s content, as I find those kinds of reviews a little hard to read. I am instead going to tell you what I personally gained from the book and what I learned…

First of all the book was a little unusual in that the images, screenshots, etc are not titled, i.e. there was no “Figure #…” on the images. I found that a little disconcerting. It didn’t detract from the content and I can see how the logical flow of the text and images might of made them superfluous, yet until I got used to it, it was a little distracting. It’s weird how something so very little and usually taken for granted can, where missing, can have such an effect. Again through, this was a very minor thing and something I quickly got used to.

So what did I walk away with?

Well I’ve been using some of the testing features in Visual Studio for a while now, yet like many of us, I’ve learned about those features “just in time.” When I’ve needed to use a given capability, I’ve played with it, searched for a minute or two, beat on it and then got it to do pretty much what I needed. And then stopped there. That’s the just nature of our space these days. Too much to learn and do to become experts on much of anything. We need to find out how to use something quickly, get it going in our environment and then move on to the next challenge.

That’s one of the things I liked about this book. It was a quick read, yet detailed enough to get me using some features and capabilities that I didn’t know I needed until I read the book. It helped me flesh out and discover a number of things I didn’t know I didn’t know.

“Enough of generalities, Greg! What were some of the things you learned! Fess up!”

Ordered Tests
I had ignored Ordered Tests until I read about them here. I’m not sure how I feel about Ordered Test, as I do not like the idea of tests having to run in a specific order (as that’s very anti-unit test’ie), bug living in the real world I can see where this could help me today.

I hadn’t realized the number of “Asserts” available. I mean wow. There are like a billion Assert.AreEqual overloads. Then there’s the StringAssert which I don’t think I knew about. And also the CollectionAssert...

Of course I’ve been using Assert.’s for a while, but I didn’t know the scope of possible ones I could be using (i.e. falling into a “Just in time learning” trap). Seeing all the different unit testing assert options opened my eyes and really got my mental gears turning…

Web Testing Includes Web Service Testing
It never really dawned on me that I could use the Web Testing to test Web Services. Makes sense in hind sight, but hind sight is always 20-20 isn’t it? I don’t do much “web” so every time I saw “Web Testing” I saw “ASP.Net web site/page testing” and so blew it off. Well now my blinders have been removed and I’ll be adding some in the very near future.

Data Driven Unit Testing
I do allot of data driven testing in my unit tests, but the initial learning curve was a little steep. This book makes it look easy (which it is ONCE you know the tricks).

Load Testing
Another blinder point for me was that I always associated VSTS “Load Testing” with Web Testing. I didn’t know that you could ALSO use Load Testing with “normal” unit tests.

TFS Report Writing
As I’ve blogged about in the past, writing a report against TFS can be pain. Again, it’s a learning curve thing. Well while this book doesn’t go into depth on this subject it does cover it and provides a nice leg up on getting started. It also provides a short view on using Excel as the report tool (i.e. hooking Excel up to the TFS OLAP cube/Data Warehouse)


Final Word

I would recommend this book for those who have heard of the testing capabilities of Visual Studio 2008, yet haven’t been able to squeeze in the time to take the plunge. I would also recommend this book to “functional/hands on Dev Managers” who need to get up to speed on Visual Studio testing. If you are already knee deep in VS Test/testing and are looking for deep, highly detailed, level 300-400 content, then this book is likely not for you (but it might be good to give to your new/associate Dev’s).

Would I have bought this book? Yes. And I can see myself returning to it, using it as a reference in the near future as well…


Related Past Post XRef:
Free “Visual Studio 2008 Test Types” Chapter from “Software Testing in Visual Studio Team System 2008” from Packt Publishing‏


Weblore said...

Thanks for your useful tips.

Anonymous said...

thanks for your support