Software Testing
Josh Poley
Josh Poley has been a software tester (SDET) at Microsoft since 1998. He initially worked on the very first version of the Passport authentication service (currently called Windows Live ID). Then, in the spring of 2000, Josh moved over and joined a small handful of people who were starting to work on a project code-named Xbox. His initial responsibilities covered various pieces of the low level operating system (file systems, peripheral communication, etc.). Shortly after the Xbox game console launched in 2001, Josh took over as lead of the Kernel Test Team and remained in charge of validating the core operating system throughout the development and launch of the Xbox 360. Then, in the spring of 2007, Josh joined the Zune group as a Test Architect, where he helped solve various problems across the four main test teams in the organization. After a year in Zune, Josh went back to Xbox to help solve some more hard problems there.

Blog

Software Sleuthing
Software Sleuthing is an MSDN technology blog which focuses primarily on testing and development. As with most blogs, items covered are typically subjects which are at the front of my mind at the time. Aside from tech related posts, there may be an occasional random entry on items of interest or job related topics.

Publications

Best Practices - Code Reviews (MSDN)
This document is designed to point out some of the common areas in C and C++ code that frequently have defects which are easy to spot or need special attention during reviews. When you see these patterns in the source, you should give them special consideration and verify that the intention is correctly coded. [local pdf]

Best Practices - API Tests (MSDN)

If you ask several testers how to write good API tests you will get several different answers. Not only are peoples' styles and approaches different, but often API sets will lend themselves to various methodologies. That being said, my goal here is to describe some of the practices that have worked well for me while testing the Xbox Operating System. [local pdf]

Josh Poley's Black Book [2.26 MB]

I took a collection of knowledge that I frequently needed to reference and placed it all into one document. When printed out as a booklet, and placed within arm's reach, it made it very easy to get at what I needed. This document has everything from error codes to calling conventions to IIS server variables to Hungarian notation.

Trip Reports

StarWest 2007 (MSDN)
I went down to California for Software Quality Engineering's STARWEST testing conference which was held in Anaheim the week of October 22nd. Overall, it was a great week represented by people from a wide variety of industries. Here I outline some of the sessions and high level points that stood out in the talks which I attended. [local pdf]

Patents

7162407 - Testing a host's support for peripheral devices
In order to test a host's support for peripherals that use a given type of peripheral interface, an interface device communicates with peripheral interface ports of the host. The interface device also communicates with an emulation computer over a local area network. The emulation computer is programmed to emulate one or more peripheral devices by receiving and responding to messages. The interface device passes messages between the host and the emulation computer, using a peripheral interface communications protocol for communications with the host and using a network communications protocol for communications with the emulation computer.

Library

These are the recent additions to my bookshelf.
The Practical Guide to Defect Prevention
I was able to score a free (signed!) copy of this book at a presentation done by one of the authors (Ross Smith). If you see this book in the store, be sure to check out the first page of chapter one.
Professional Rootkits
I saw this book while at Star West and the title caught my eye: just what uses are there for a rootkit which are not nefarious? And maybe there is something useful here from a testing point of view. Plus knowing about how these things work definitely won’t hurt while trying to keep them off of my machines.
Windows PowerShell Cookbook
Considering how much time I spend in the command shell and using scripting languages, I wanted to check out and see what power shell had to offer.
Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)
Scott Meyers has a wonderful grasp of the C++ language and always finds some key aspects of the language which you really need to know. Even if you've read the previous revisions, it is worth taking a look at the latest version as he highlights different aspects of C++.
Lua 5.1 Reference Manual
More and more products are starting to take advantage of LUA as a scripting language, so this was a good time to pick it up and learn something new.

Web Resources

MSDN Tester Center
The Tester Center website is an effort to help grow the global community of testers and communicate Microsoft's thought leadership and expertise in the testing market. The site offers tips on testing practices, short whiteboard videos on targeted testing techniques and strategies, stories from testers, tester spotlights, technical articles, etc.
MSDN Testing Forums
Public forums for discussing software testing technologies, methodologies, and tools.
StickyMinds
StickyMinds.com is an online resource for helping developers and testers produce better software. It offers original articles from industry experts, technical papers, industry news, a searchable tools and books guide, discussion forums, and more.
Microsoft & MSDN Development Search
Custom Google search which gives precedence to Microsoft and MSDN results. This is very useful for looking up APIs, debugging information, and general technical knowledge.
Online HP 48G Calculator
Online (simplified) version of the HP 48G RPN calculator.
Advertisement