Date: 1st May 2010
Time: 15:30 – 17:30 GMT
Mission: This Flash app generates barcodes – but how? Can you find how it’s calculating them? Find the highest value that you can, and report invalid values.
Michael Bolton and Mohamed Adel both joined during the debrief of the session.
Stephen Hill started off by establishing the different parameters in the barcode. He didn’t manage to discover the relationship between the parameters and the eventual price – he would have liked a glimpse at the code! He built himself a table of test values, and the impact they were having, as he tested. He didn’t discover the FAQ on the site until nearly the end. For him, he found that the interesting thing was how such an apparently simple application could generate lots of interesting tests and opportunities to try different test techniques.
Ram started off looking at the home page, to find more information as he wasn’t certain about the mission from the mission statement, and he found some clues there though it doesn’t give the algorithm. He tried view source thinking that might give him some insight, but wasn’t able to get a view of the source data. He also found that creating a table helped him, varying input factors to work out what brought the values up.
Thomas Ponnet looked at the FAQ early on, so he had a couple of parameters fixed, and then also created a table for his test values, changing them one by one to see in which direction they were changing. As he learned more information the data he’d noted down made more sense. He then started iterating the height/weight until he reached a value of $9.94 – he wasn’t able to get higher than this. Iterations helped him to find information to either enforce, or disregard a train of thought, helping him to decide where to focus, or whether to defocus and try elsewhere.
Jeroen Rosink started by exploring the app, trying it out by just pressing the buttons and identifying its behaviour. He checked the same values twice, to see if there was any randomising element. He tried out gender, confirming that in the barcode only that value changed. He noticed that when using actual values, that there was some mix-up of the entered and presented values in the barcode. Towards the end, he truncated the URL and discovered the FAQ information, which gave him some valuable info about calculation. For lessons learned, he stated: 1) agree upon the level of detail you prepare your model about the app. 2) Avoid the pitfall that if app is simple and no documentation available using the app, search for other means. 3) Tools to read code might help 4) Translation between metric systems is often an area for failure.
We had a fascinating discussion about modelling the approach, focusing and defocusing heuristics, process vs common sense, testability and communicating with stakeholders. Transcript now attached: ewt16
In the meantime, Ram has already blogged the session…
Image Credits: http://neatorama.cachefly.net/images/2005-11/zebra-barcode.jpg