I ordered the book when I searched on Amazon for books on Software Testing. I tend to do that every so often as it provides me information if there is anything new! The difference this time was that I really wanted to read something different, basically to give myself a break from reading research papers! What really got my attention was the title! It is simple, but yet every tester would be curious to find out how they test at Microsoft! Yes, we can be sarcastic and ask ‘Do they Test at all at Microsoft? But the fact is that if you are a software tester, at some stage you have most likely used one of their products! Just like I used MS Word to type this out!
So now moving on to the book itself! After reading the first few pages I thought it was going to be more Microsoft centric and less about the testing (I was proven wrong later in the book)! Although, I must admit I enjoyed every bit of the first part. The book has been divided in four parts, Part I is ‘About Microsoft’, Part II is ‘About Testing’, Part III is ‘Test Tools & Systems’ and Part IV is ‘About the Future’.
These parts consist of chapters, ranging from Software Engineering at Microsoft in Part I to Analysing Risk with Code Complexity in Part II to Testing Software Plus Services in Part III and concluding with Solving Tomorrow’s Problems Today in Part IV. I won’t discuss each of the chapters, as I have highlighted that in the presentation I gave at the SIGIST conference. However, in this review I will highlight what appealed to me most, what was thought provoking and what was simply good reading!
In Part I, of course I enjoyed reading about the details of software engineering at Microsoft, but I particularly enjoyed the tester DNA term! I think it could be used very usefully to demonstrate testing needs specialised skills! Also, the career path diagrams are particularly useful to understand what career paths potentially exist in software testing. I was probably more drawn to it, because I started in the industry went back to academia, completed my PhD and am back in the industry. So different career paths at different organizations allow you to understand what possible options could be there! I particularly like the concept of IC (Individual Contributor) and how a VP can still be an IC. One other interesting point is about the test lead being the best tester! Increasingly the role of test lead tends to take away the thrill of testing, and may be the skill set.
One term that is mentioned in Part I and one I really intend to read more about is ‘Technical Debt’. In software testing, this term is definitely needed and probably its usage needs explanation! As I see it, it could be a topic for a separate discussion. But I can only write more, once I have read more.
And lastly, what really made me laugh in Part I was an advice ‘not to listen to the HiPPO’ in the ‘War Room’. So firstly, war room is simple, a room where decisions are taken but then who is the HiPPO? It is the Highest Paid Person in the Organisation!
Part II, focuses more on software testing techniques. I will not discuss this in too much detail as the material contained is what you would expect. But what makes these chapters easier to read than testing techniques for a certification is the fact that the techniques are illustrated with practical examples, the authors explain techniques which we as testers are assumed to know completely. So this part is particularly useful for testers who are involved with test case designing. Still from a personal perspective what appealed to me was the mention of the Triangle problem and how big companies like Microsoft still use the well known problems, and what is more interesting is that they are actually collecting data to support the empirical evaluation of a very well-know problem in testing. While I was reading about this, I think it was just the researcher in me that got very excited at the prospect of the availability of real data!
The only other thing about Part II that I have to inevitably mention is the chapter on Model Based Testing. I say inevitably purely because my PhD is on Finite State Machines Testing Method. I was keen to read about MBT at Microsoft, but I was slightly disappointed. Simply because, there was not much new for me in it, but from another perspective I thought it would be an ideal reading for people to introduce them to MBT who do not necessarily understand my research. I know the authors have already addressed this point in reply to another reviewer’s comment, and I do agree that if there is one chapter that could have a separate book on the topic it would be this one! And it is the only chapter that actually has a list of recommended reading.
Part III of the book focuses on Test Tools and Systems. It starts with an excellent chapter on ‘Managing Bugs & Test Cases’. And I say excellent, because I just couldn’t put the book down when I was reading this chapter. The concept of the Bug bar is very interesting, though I am not sure how that would be applicable to a scenario where the developer is only assigned for bug fixing. It also discusses the concept of bug triage, and I find it useful because I am actually trying to use formal triaging in my current project with a colleague who is very keen on it. I could go on about this chapter for a while, but I would say it is a must read for all testers but more so for test leads and senior testers.
The remaining chapters discuss automation, non-functional testing and information about tools, customer feedback, and testing software plus services. And going back to my reasons for picking this book up to read, I was very curious about the customer feedback chapter. The chapter actually made me think about why I kept hitting ‘Don’t Send Report’ button when I saw the Window Error Reporting pop up. Also, I have never signed up for Customer Experience Improvement Program CEIP that Microsoft runs. It did make me wonder whether I was being a responsible user or because I was the user I didn’t have to worry about feedback and errors! But someone has to. And I suppose they do, that is why Microsoft has 8000 people involved in the CEIP program.
Part IV is all about the future. It briefly describes the challenges that Microsoft faces, and I suppose by the time you are reading this chapter you are most likely thinking about challenges that your team or you as a software test professional would be facing. How much can the challenges being faced by Microsoft generalised. But the best thing about the last part is this quote by Machiavelli and its parallels in software testing, with which I will conclude this review!
Machiavelli wrote, “In the beginning of the malady it is easy to cure but difficult to detect, but in the course of time not having been either detected or treated in the beginning, it becomes easy to detect but difficult to cure"
Tags: at, how, microsoft, software, test, we
Share
Facebook
You need to be a member of Software Testing Club - An Online Software Testing Community to add comments!
Join Software Testing Club - An Online Software Testing Community