Review of ‘Software Testing using Visual Studio 2012’ from Packt Publishing

I have just been reading Software Testing using Visual Studio 2012 by Subashni. S and Satheesh Kumar. N from Packt Publishing

9540EN_cov-stwvs2012

This book does what it says on the cover, it is a general introduction to the testing tools within the Visual Studio 2012 family. My comment is not about how well it is done, it is a clear enough introduction, but why produce a book that really just covers what is in MSDN, Channel9, numerous podcasts, blogs and ALM Rangers documentation?

I suppose this is a question of target audience, some people like to browse a physical book for ‘new’ technology, I can see that (though I tried it on Kindle, more of that later). This book certainly does cover the core areas, but sits strangely between a technology briefing for a manager/person who just needs an overview (it is all a bit long winded, list all the features and flags of tools) and not enough detail for the practitioner (the exercises do not go deep enough unlike those provide by Microsoft in Brian Keller VS/TFS demo VM series)

Given this concern I wonder who the target audience really is?

A real issue here is that Microsoft have gone to quarterly updates, so the product is always advancing, faster than any print book can manage (Microsoft’s own MSDN documentation has enough problems keeping up, and frequently is play catch up). For a book on testing this is a major problem as ‘test’ has been a key focus for the updates. This means when the book’s contents is compared to Visual Studio/TFS 2012.3 (the current shipping version at the time of this review) there are major features missing such as

  • The improvements in Test Explorer to support other non Microsoft test framework, playlists etc.,
  • SKU changes in licensing, MTM dropping down to Premium form Ultimate
  • Azure based load testing
  • The test experience in the web browser (as opposed to MTM)

The list will always grow while Microsoft stick to their newer faster release cycle. This was not too much of a problem when Microsoft shipped every couple of years, a new book opportunity, but now how can any book try to keep up on a 12 week cycle?

One option you would think is Kindle or eBooks in general, as at least the book can be updated . However there is still the issue of the extra effort of the authors and editors, so in general I find these updates are not that common. The authors will usually have moved onto their next project and not be focused on yet another unpaid update to a book they published last quarter.

As to my experience on the Kindle, this was the first technical book I have read on one. I have used the Kindle App on a phone for a couple of years for my novel reading, but always felt the screen was too small for anything that might have a diagram in it. I recently bought a Kindle Paperwhite so though I would give this book a go on it. I initially tried to email the book from the Packt site straight to my Kindle, but this failed (a file size issue I am told by Packt customer support), but a local copy of USB was fine.

So how was the Kindle experience? OK, it did the job, everything was clear enough,  it was not a super engaging reading experience but it is a technical book, what do you expect? It was good enough that I certainly don’t see my getting too many paper books going forward whether thet be novels or technical books.

So in summary, was the book worth the effort to read? I always gauge this question on ‘did I learn something?’ and I did. There is always a nugget or two in books on subjects you think you know. However, ‘would I say it is a really useful/essential read for anyone who already has a working knowledge in this subject?’, probably not. I would say their time is better spent doing a hand on lab or watching conference recordings on Channel9.

Leave this book to anyone who wants a general written introduction to the subject of Microsoft specific testing tooling.

A week with a Nokia 820

I have been using a Nokia 800 (Windows Phone 7.8) for a year or so and been happy with it. It does what I needed i.e. phone, email, media player mainly for podcasts. So given all the  reported issues with WP8 and podcasts (no Zune client to manage the subscription/sync and you can only subscribe through the store if you are in the USA) I was not too keen to ‘upgrade’

Anyway last week I was persuaded to give a Nokia 820 a try, I did not want to try the 920/925 as I don’t like too larger phone. The fact the 820 is bigger than my 800 I thought that might be an issue.

So how did it go?

The first couple of days were horrible. However, turns out many of the problems I had were due to poor quality USB cables. Once I used the short one that came with the phone as opposed to one I had used for months connected to my laptop base station, all the sync issues I had went away.

The 820 only had 7Gb of usable memory as opposed to 13Gb on the 800, so I had to put in a MicroSD

The 820 did not come with a rubber bumper case in the box, unlike the 800. I think these are essential to deal with the inevitable drops the phone will suffer, and the couple of millimetre bezel lifts the screen to avoid scratches, so I bought one.

I had to install the language pack before all the speech based functions worked. Now I really can’t remember if I had to do this on the 800, but I don’t recall it, I thought they were preinstalled.

But all these are niggles, the real issue was the podcasting, it was awful. Now I know podcasts are either a feature you use or not, there is little middle ground, what we in the UK call a Marmite feature. if you listen to podcasts it is probably the primary use of your phone. What was in Microsoft’s head when they cut the Zune functionality and suggested using ITunes for the sync I do not know. The current release of the Windows Phone Desktop is meant to address this issue allowing podcasts to be sync’d from iTunes for folders (which in turn can be sync’d via Zune). The problem is it just does not do the job, it does not honour the played flag, just syncing what it finds in the folder whether it is played or not. This becomes a real problem when you have about half the free space I had on my 800 (until I put in a MicroSD).

I did try with the Windows Phone Desktop for a day or two and gave up. So I moved to an App. The best I found was i Podcast, it just works. It is a shame it cannot drop the files into the phone media hub or make use of the MicroSD card, but these are minor issues. I did have a problem that it crashed and wiped out my subscriptions but I am told by the developers that this exception related bug was fixed in 2.1 which was released this week. Their email response to my query was excellent. Other than that it has been great. I would recommend purchasing the premium features so that it can store you subscription/playlist and sync them between device – very nice

I await with interest to see if the GDR2 update addresses the horror story that is WP8 out the box podcasting.

So one week down, will i go back to my 800? I think not, actually the 800 screen felt a little small now. However I will still say I am not using any of the new WP8 feature, so I would not pay a premium to upgrade? I would hold off, at least until the free upgrade point on my phone contract.

Why is my TFS Lab build picking a really old build to deploy?

I was working on a TFS lab deployment today and to speed up testing I set it to pick the <Latest> build of the TFS build that actually builds the code, as opposed to queuing a new one each time. It took me ages to remember/realise why it kept trying to deploy some ancient build that had long since been deleted from my test system.

image

The reason was the <Latest> build means the last successful build, not the last partially successful build. I had a problem with my code build that means a test was failing (a custom build activity on my build agent was the root cause if the issue). Once I fixed my build box so the code build did not fail the lab build was able to pickup the files I expected and deploy them

Note that if you tell the lab deploy build to queue it’s own build it all attempt to deploy this even if it is partially successful.