Tuesday 19 November 2013

Gaming! - Playing to be a better tester?

I'm a tester. I love it. But without doubt the pastime that first got me into IT as a career, and latterly testing, is undoubtedly gaming. I owe those early home computing pioneers a debt, like many of us in IT careers now. I first played games on the ZX Spectrum and Commodore Amiga machines, and this is where I first learned to program in BASIC, from all those dog eared copies of code printed in magazines. It was a joy. 

Latterly, as a PC gamer I was a member of clans on various games such as the Jedi Knight and Soldier of Fortune series. Since then I have had various home consoles, such as the Wii, X-Box and PS3...which are all now reaching the next stage in their evolution in home entertainment.

Now many of you might question the value of gaming as a pasttime. I can agree that it is a distraction from more serious and worthy pursuits. However it does provide a degree of relaxation and a way of blowing off steam following a day at the office that a work out, game of squash or a walk in the countryside cannot provide. I only play for a few hours per week, unlike hardcore gamers who will go for days at a time without interacting with another human being.

Recently I have been playing the fifth title in the Grand Theft Auto series. This series of games has introduced a number of controversial themes and scenarios to gamers over the last 10-15 years, but they are without doubt one of the most successful game franchises of all time. I will not be discussing the associated social and political problems with such games as part of this post, but will instead be looking at them in terms of their value as a software product. I'm not going to justify my choice of hobby here.

Firstly, the budget. This is reported by various sources to be in the region of $170 million. This would make it the most expensive video game ever made. But riding on that budget is a reputation for gameplay, narrative and quality that has more than surpassed its peers, such as the Call of Duty or Batman Arkham franchises. 

If you further question its validity as a software product worth discussing, then within 24 hours of release it earned approximately $800 million in sales, and $1 billion within 3 days. This surpasses any entertainment product, from the most successful games to the massive blockbuster movies such as Titanic, the Harry Potter series or the most recent James Bond movie. In a word, this is big business. The game producers, Rockstar, needed to ensure that not only did the game sold well, but that it exceeded the bar in terms of quality.

Whilst playing the game one evening, I thought of a testing challenge I have recently been a part of. I considered the potential elements of the game that would need to be explored by the Rockstar testers (of which there are many)..and this quickly became a morass of thoughts in my head within only a few minutes. 

Similar to the task of exploring a large commercial software product I was new to, I attempted to mind-map the game, in terms of it's functionality, gameplay elements, user interface and so on. As much as anything this was an exercise for me in learning to use mind mapping as a process for me to understand the scope of the application under test, and potential areas of interest for testing.

It might surprise you that I had not used mind mapping as a test tool before, so this process was new to me. I am now using this process to derive exploratory and security tests on a daily basis. Its a powerful process, that if used well can help to visualise the challenge of exploratory testing for all sorts of applications. I'm using it more and more now, and I am still learning how to do it better. 

I know that by no means have I explored all the game using the mind map (I simply don't have that much time to play the game) and that I have barely scratched the surface. The learning process I went through whilst playing the game I felt went beyond the simple pleasure of following the narrative, interacting with the characters and gameplay elements. 

At this stage I have not derived any tests that I could explore and execute, but merely those elements that might need exploring further, the relationships between elements of the game such as gameplay, characters, environments, user interfaces and so on. I found this a really useful exercise as I have attempted to explore the game and find new things in it to enjoy once I had completed the main narrative.

Through additional gameplay I might come to develop further ideas regarding how to explore the game from a testing perspective, but I don't want this exercise to detract in my enjoyment of the game. I need to strike a balance.

It may seem that through doing this I am somehow trying to justify the number of hours I have put into playing the game, but I am not apologetic. It is a hobby like any other, and hobbies are important. 

The mind map I have developed so far is attached so you can take a look. I'd welcome any comments and suggestions. 

Friday 8 November 2013

The journey starts here...

Welcome to my new blog...



I've been testing for a while now. Some 12 years. Only in recent years have I felt the need to give something back to the testing community that for a while I felt disconnected from...and now is the time to make that desire a reality.

Anyone who knows me will understand why I have chosen the moniker The Test Doctor (@thetestdoctor on Twitter), but rather than filling your feeds with useless geekery, this blog and any posts from this twitter feed etc. will be entirely testing, IT and other related topics. 

I am currently a contract software tester (@drbconsulting) and my current client is a firm in Basingstoke, Hampshire in the UK. I work with a lot of great people, with a huge amount of knowledge and experience to share. It's fast paced and growing, with a huge challenge for developers and testers alike. But because the team work so well, those challenges can be shared and reflected on in a very positive environment...something that was lacking earlier in my career.

In the last six months I have learnt more about software development, the testing challenges that face us as a community, and myself as a tester than I have in the last ten years. Too much to include in this initial post, but over time I hope to be able to share what I have learnt with the community.

I hope to write periodically over the next few weeks and months as time allows. Like all of us, I have a lot of family and personal commitments and outside interests. So anything I post will be largely dependent upon those factors getting priority.

Firstly a little bit about me as a person. 

I currently live in Frome, Somerset, not far from the city of Bath. I am originally from Burgess Hill, near Brighton in East Sussex. I have been married to my wife Rae for 8 years.

I run a Cub Scout pack in Frome, Somerset, and also I am Assistant District Commissioner for Cubs for the Frome, Wells and Shepton Mallet area. It's a huge mental, emotional and physical challenge; but it teaches me new things about being a human being in a community of other humans every day. I have to work with adult leaders, other volunteers, parents and children to make sure they have great adventures.

I studied as a Primary School Teacher at Bath Spa University (yes, Bath has an 'other place' too) but during my final year decided that this particular vocation was not for me.

I started my IT career whilst working at the AOL/CompuServe call centre that was then in Bristol. Within the year I found myself testing screen pop and cased based reasoning tools whilst handling calls, and eventually a full time promotion to the Tools team, where I started on localising and testing a new CRM tool for the business.

Following this initial foray into testing, I worked for various companies such as Capita, Yell.com and Northgate Public services. For anyone who is interested, my Linkedin profile can be found here: http://www.linkedin.com/in/danielbilling

I started contracting in 2010. The dual motivation of choosing my own clients and developing my own future challenges appealed to me. But partly because I felt somewhat adrift in my career, with what I perceived as a lack of focus and perhaps commitment. It had become a  means to an end, rather than a career in which I was interested in and wanted to develop.

In the last couple of years I have found a new impetus to learn more, develop myself as a tester, learn from other people in the software industry and the testing community as a whole. I may have been testing a while, but for a long time I had blinkers on...just getting the job done, looking for that next rung on the ladder so I could improve my lot. 

Learning new tools, techniques and processes is all very well. But unless you have some sort of personal framework or context in which these learnings can be utilised, they just become bullet points on a CV. Meaningless! 

Unless you can prove yourself as a competent, learning and developing member of the testing community, these skills are not worth the paper they are printed on. Sure, I have taken those courses we all debate about, and worry about their validity and use, but to be honest I don't want to work for organisations where having letters after your name are a prerequisite to getting a job. I want to discuss things with my peers, develop great ideas, materials and resources to share with the community. 

In the last year I have been given a metaphorical and physical kick up the back side by attending just one or two events with my peers. Alongside that, I have worked within a couple of organisations recently where you really needed to raise my game in order to stay ahead of the testing challenge. 

I could reel off a list of influential people who have helped me back onto a new path where I feel happy to contribute to a vibrant and exciting community. But that would be name dropping. Those people I hope know what they mean to me. To them I say thank you. To the rest of you, I hope to meet you soon, learn from you, maybe help you learn something too.

I've got some great ideas in my head. I want to get them out there to share with you. If they are flawed, I want to know. If they need challenging, then throw them back at me. I look forward to meeting you!