Discussion about this post

User's avatar
John Thompson's avatar

Would also like to add that an effective way to test any app is to give it to people that know nothing (or, well, very little) about what it's supposed to do. With them, you'll get more corner-case inputs and subtask step reordering which often is where new problems arise (and which may suggest new guard-rail requirements in the user experience). Effective use of any software requires a "conceptual model" in which standard use cases exist (and make sense). New users (prospective customers?) lack that well-honed model to shape their interaction with the app in the same manner as designers and developers approach it ... with interesting and valuable outcomes.

John Thompson's avatar

Yes, I agree with the presented triumvirate of testing types. I wanted to layer in, somewhere, stress testing. My first take is to put it in 'Exploratory'. A couple examples - I faced a task of testing staged releases of residential CableTV set-top-box software (eg, the DVR features running inside your Cable box, as well as simple channel navigation, etc.). Adopting the QA Mindset, I first imagined "the household pre-teen" sitting on the Cable box remote control, mindlessly, and thus sending a stream of hundreds (thousands?) of "Channel Up" button presses (pick your poison here - volume button, whatever). How does the Cable box software respond to thousands of consecutive Channel Up messages? Next, I thought - well, we can schedule a DVR recording just fine. Can we schedule 10 or 20 of them, each one minute in length? And what if we intersperse Cancel Record interactions during the period in which the box is recording broadcast(s)? In each case, my tests found bugs (right away - system crashes) that I suspect the developers had not personally encountered. Sometimes, the designer and developer are challenged to identify "never intended" ways of interacting with the system. This is where new personnel can add value to the process.

No posts

Ready for more?