Category Archives: Experiences

London Tester Gathering Workshops 2013

I had the pleasure of attending the London Tester Gathering Workshops last week, organised by Tony Bruce and the team at Skillsmatter. It was a good couple of days, and a good break from the presentation led conferences that I have mostly attended in the past.

As an offshoot from the London Tester Gatherings, the purpose of the workshops were to enable testers to get more hands-on and practice in a group setting, with support from some great testers and presenters. For me it was a good opportunity to get back to being a bit more hands-on, and to improve my knowledge of security testing in particular.

If you were wondering what the venue or some of the attendees looked like 🙂 then take a look at Tony’s blog. He took the pictures, I spent the time learning and talking testing.

Day 1

There were a couple of workshops that really looked interesting. Black Ops Testing, run by Tony, James Lyndsay, Steve Green and Alan Richardson, and Security Testing for Mobile Apps, run by Bill Matthews.

Black Ops Testing focused on scouting, intrusion and extraction. Or, as the intro said – if you don’t like military metaphors: Thinking, Exploration, Diagnosis. It focused around exploratory techniques and a whole lot more. Using a variety of techniques on a test server, meant that we were able to quickly put into practice what we were learning. Sadly I have lost the mindmap I wrote so you’ll have have to take my word for it, and wait for the blog post from Dan Ashby.

The Black Ops Testing workshop continued on in the afternoon but sadly clashed with Bill Matthew’s Security Testing for Mobile Applications workshop. Given my focus on mobile testing, both professionally and otherwise, then this one couldn’t be missed. Bill focused the session around the Mobisec VM  and gave us all a large number of hints and tips on security testing for mobile applications.

I drew a mindmap: Security Testing for Android Apps

We focused on testing for Android applications, learning basic tools and techniques alongside some application security concepts. It was very useful to be able to setup the Mobisec VM in particular, and then use that to test an application with known vulnerabilities  Security Compass Exploit me –  they have a set of labs you can follow as well on their site. Using a VM meant we got all the tools we needed in one package, and Bill was on hand to explain, answer questions and make sure we were heading in the right direction. It was a good session with lots to takeaway and practice.

If you have an interest in mobile security then I would definitely recommend that you take a look at the Mobisec VM, and then head over to the Security Compass site. They also have an iPhone version, together with labs you can go through to help learn the main concepts.

The day concluded with the London Tester Gathering, which is always a good opportunity to meet old friends and new one’s over a beer or two.

Day 2

Day 2 was all about security testing again. Firstly Bug Hunting for Fun and Profit with Martin Hall, then The Evil Testers Guide to Http Proxies with Alan Richardson.

Bug Hunting for Fun and Profit was all about the tools and techniques that would enable testers to find security exploits in popular websites and applications, in order to make some money from bug bounty programs. Martin clearly knew his stuff – he gave us a lot of examples, a whole bunch of tools, and a lot of supporting information on which sites run bounty programs, the best way to approach them, and how to make some spare cash.

I mindmapped my ideas from the workshop, although, like Bill Matthew’s workshop the day before, this was just the start of things. There’s a lot of practice to do, both using the tools and the techniques before going onto any live sites. Fortunately there are a number of sites that one can practice on, and Martin gave us some great tools to use.

Bug hunting for fun and profit - Martin Hall

The afternoon was spent with Alan Richardson, talking about The Evil Testers Guide to Http Proxies. Having spent both Bill and Martin’s sessions using proxies then it was great to have Alan give his ideas and helpful advice. The session was organised around testing the Gruyere web application, a vulnerable app designed for practicing web security testing. Alan gave us a lot of documentation and support, far more than I can go through in one blog post.

The Evil Testers Guide to HTTP Proxies and Developer Tools

Wrap Up

The London Tester Gathering workshops were a great couple of days. I learnt a lot, and I now have a lot of great opportunities to learn and practice. The presenters were all very knowledgeable, and were happy to share that knowledge and a lot of useful tools, slides and experience. I met a lot of good testers who were keen to learn and improve their skills. It was great to meet some old friends, but equally it was good to see so many testers in the workshops that I haven’t met before. Sometimes the testing community can seem a little cliquey and this workshop certainly was not.

Thanks to Tony and all the other organisers and presenters. If you didn’t go to the workshop this year then make sure you check it out next year. It’s well worth it.

Get Out and Test – My Mobile Testing Blog Post Over At The Testing Planet

I’ve just had an article published on The Testing Planet’s new site. It’s all about mobile testing, and why you shouldn’t just sit in your seat, in your office, when you are testing mobile.

Why not head over to their site and take a look? You can find the article on The Ministry of Testing website.

Further Notes From A Testers Hierarchy of Needs – pt2

In my first post about ‘A Testers Hierarchy of Needs’ I explained a little about humanistic psychology and the work of Abraham Maslow. Let’s now look at how this can be applied to software testing.

As with the first post, the headings match with the slides I presented at TestBash.

A Typical Career Path

career pathA typical testers career path can look like this – it’s rather rigid and set. There are similar paths to this for management roles, and often testers are pushed towards management because it pays better, even if they don’t like management.

But what if we forgot about roles and job descriptions?

But what if we forgot about roles and job descriptions? After all, why do we have to consider our roles as part of a career ladder? How do we fit within our roles? What makes us satisfied as testers? What satisfies those who work for us in testing?

It’s all about considering building blocks. How do we fit the pieces together? How do we build a different kind of model to help us understand ourselves and our testers? Well I think Maslow’s work can help us out here. It can give us a framework.

A Testers Hierarchy of Needs

HierarchyofNeeds

Our first level – Maslow would call this the Physiological level. I call it acceptance. Acceptance of testing. So testing is just a job. Management view is ‘anyone can do it’. You are probably complying with work rules and basic processes to continue staying in job. There’s a lack of respect or support BUT there is testing happening. It’s probably manual checking only but it’s a start. So a positive step.

The next level is Maslow’s Safety level. Testing is mandated. There is a test team. Testers have peers. There is some safety – the job is seen as worthwhile and so unlikely to suddenly be moved to somewhere where people can press the buttons and check more cheaply. But testers are still universally seen as an annoyance. It’s about meeting expectations of peers and bosses, sometimes unspoken, to meet a moral and social code. It’s a learning level. As a tester you can learn testing, the company you work for is learning about testing. You play a key part in ensuring that learning happens.

One level up and it’s all about belonging. Testing, testers and the test team is seen as a key part of the company.  It is taken seriously by all. It’s about meeting and exceeding more demanding expectations of peers and bosses, sometimes unspoken, to meet moral and social code. Consultation. Respect. Inclusion.

The Interaction level is next.  The impact of testing reaches further than just the IT team. Consultation from the business. Reliance. Interaction. And overall a real sense of Esteem for the tester. A sense of worth. You are really adding value.

Then the top. Maslow’s self-actualisation level. Test Mastery.

• The skills and continual learning needed to succeed.
• Coaching others up the hierarchy.
• A responsibility to the wider testing community.
• The person must not only achieve the previous needs, but master them.
Recognition from all. Inside a company and outside. Respect and recognition from peers, thought leaders, and those that you really respect and value.

What affects your movement between levels?

Maslow never drew the theory of needs as a pyramid. In fact he never drew it as a diagram at all as far as I know. That was done in a later psychology text book.  He felt that there could be overlap between states. You can move between states. Down as well as up. Changing roles, changing teams, life changes, can all affect movement between levels. Where you are on the hierarchy is just a snapshot in time.

I feel that, for a testers theory of needs, a pyramid is right. It shows the hierarchy best. But it could be a set of overlapping balloons, if you like that sort of thing.

So….where do you think you are on the pyramid?

Are you on a path to self-actualization. To Test Mastery? Do you think you are there already? What are you doing to stay there? What about the testers who are in your team? What about the company you work for?

I’d be very interested to know what you think.

 

 

Further Notes From A Testers Hierarchy of Needs – pt1

I’ve written about Maslow and links between humanistic psychology and software testing a couple of times before. I presented ‘A Testers Hierarchy of Needs’ at TestBash 2.0. This post gives a bit more information and material to support the slides which you can find on this page.

The idea is that the headings match the slides, in order to make things easy to follow. It’s split into two posts – the first talks about humanistic psychology and Maslow. The second will focus on how we can adapt this to software testing.

Abraham Maslow, Humanistic Psychology and Testing

Abraham Harold Maslow was an American psychologist who died in 1970. He was best known for creating Maslow’s hierarchy of needs, a theory of psychological health predicated on fulfilling innate human needs in priority, culminating in self-actualization. He stressed the importance of focusing on the positive qualities in people, as opposed to treating them as a “bag of symptoms”.

The needs of humans, in their most basic form

Humanistic Psychology focuses on the needs of human’s in their most basic forms. It focuses on the positive qualities in people in a positive way and is based upon observations of humans’ innate curiosity – innate curiosity, something useful for testing I’d argue. Consider the classic “Testing is questioning a product in order to evaluate it” for example.

Maslow studied what he called exemplary people such as Albert Einstein,  rather than mentally ill or neurotic people. He also  studied the healthiest 1% of the college student population.

Humanistic theories of 
self-actualization

Humanistic psychology is a perspective which rose to prominence in the mid-20th century in response to Sigmund Freud’s psychoanalytic theory. Maslow once commented: “It is as if Freud supplied us the sick half of psychology and we must now fill it out with the healthy half”. Humanistic psychologists believe that every person has a strong desire to realize his or her potential, to reach a level of “self-actualization”

It holds that people are inherently good.

Qualities of 
self-actualizing people

Maslow studied what he called self-actualised people. He realized that all the individuals he studied had similar personality traits. All were “reality centered,” able to differentiate what was fraudulent from what was genuine. We do that as testers. They were also “problem centered,” meaning that those treated life’s difficulties as problems that demanded solutions. We do that as testers. These individuals also were comfortable being alone and had healthy personal relationships. Are we like that as testers? 🙂

Self-actualizing people tend to focus on problems outside themselves; have a clear sense of what is true and what is false; and are spontaneous and creative..

The Theory of Needs

needs

The theory of human needs can be expressed or ordered in a pre-potent hierarchy—a pressing need would need to be mostly satisfied before someone would give their attention to the next highest need. Maslow described human needs as being relatively fluid—with many needs being present in a person simultaneously.

1) At the bottom of the hierarchy are the “Basic needs or Physiological needs” of a human being: food, water, sleep and sex.

2) The next level is “Safety Needs: Security, Order, and Stability.” These two steps are important to the physical survival of the person.

3) The third level of need is “Love and Belonging,” which are psychological needs.

4) The fourth level is achieved when individuals feel comfortable with what they have accomplished. This is the “Esteem” level, the need to be competent and recognized, such as through status and level of success.

5) At the top of the pyramid, “Need for Self-actualization,” occurs when individuals reach a state of harmony and understanding because they are engaged in achieving their full potential.

Once a person has reached the self-actualization state they focus on themselves and try to build their own image. They may look at this in terms of feelings such as self-confidence or by accomplishing a set goal.

Usually people in developed countries focus on the third and fourth level of needs while those in less developed worlds focus on the first and second.

Meta-motivation

Maslow used the term metamotivation to describe self actualized people who are driven by innate forces beyond their basic needs, so that they may explore and reach their full human potential. To become better people. Or better Testers.

But how does this fit in with Software Testing? We’ll find out more in part 2.

Presenting at TestBash – A Testers Hierarchy of Needs

TestBash

I was fortunate enough to get the opportunity to speak at TestBash 2.0 recently. TestBash is one of the best software testing conferences, and this year it has a great line-up of speakers: James Bach, Seth Eliot, Matt Archer, Amy Phillips, me, Lisa Crispin, Huib Schoots, Bill Matthews and Tony Bruce.

Dan Ashby has written a great blog post about the presentations themselves, and I’ll leave it to Dan to explain what everything was about. I’ll do that for two reasons, one because he does a great job of explaining it, and two, because, as a presenter, I wasn’t always watching what was going on 🙂

My Presentation

I presented A Testers Hierarchy of Needs, which took ideas from Humanistic Psychology and the work of Abraham Maslow, and applied these to software testing, and the software testers. It stemmed from a blog post that I wrote last year, which seemed to be well received, and attracted a fair few comments.

I’ve published the slides on this site so do take a look  – A Testers Hierarchy of Needs.

I’m also writing a further post, which will go into a bit more detail about my presentation, and the links between humanistic psychology, Maslow, and software testing so do look out for that.

Persona Based Interviewing

Why you may need to do some actual testing in the interview for your next testing role

Interview

 

When I was starting to think about writing some posts to help out those who are either recruiting testers (see here for my first post), or for testers looking for new roles, the obvious first post was going to be around interviews. Interviews are scary, interviews need preparation, etc.

But to be honest, there is already so much available on the web that’ll teach you the basics, that I’d be re-inventing the wheel.

This is the second post in a series on finding a job within testing – the first one is Starting a New Job In Testing which you can also read on this site.

Basic interviewing techniques

If you need some help on basic interviewing techniques then I’d recommend spending some time on Ministry of Testing, looking at the recruitment resource section. What I want to discuss in this post is an interviewing technique we are using where I work, in order to help us recruit testers. It’s not new but it’s also not typical, and so hopefully it helps you.

 

A typical interview

A typical interview has a set of questions, and sometimes a script to follow. While the questions may not be written down, an experienced interviewer typically has a number of questions in their head that they can tailor to the interview situation, and use to steer the conversation in a particular direction. There may be a formal test, or the interview may just be conducted verbally.

Simply asking someone questions about testing, and gauging their responses, is one way of understanding in more detail what they know. You can also find out more about who they are, and what they can bring to the company. While we are following this approach, we’re also doing things a little differently.

 

Persona based interviewing

In a persona based interview, each of the interviewers play out part of a task based story, which the candidate is also a part of. One of more scenario’s are played out, normally based around a task that the candidate would typically face if they were successful in joining the company. The interviewers take different persona’s, each playing the part of a role or person that the candidate would need to interact with, in order to successfully pass the task that they are set. In this way the interviewers can understand how the candidate approaches particular tasks, how they solve problems, and how they interact with others.

For our interviewers for mobile test positions we typically play out some scenario’s based around testing our applications on real hardware. I won’t go into too much detail, for obvious reasons, but the candidate receives a certain testing task, and then is expected to start testing and exploring the application in order to successfully find bugs within it.

We play the parts of other people in the story. These could be the Product Owner deciding on re-prioritisation, other testers being able to offer advice, a developer being difficult or helpful, or even a senior manager wanting to know the progress of a testing task. As we go through we throw in these sorts of requests, and other changes to the scenario, in order to see how the tester works when requirements change and the pressure mounts.

Attempting to complete the tasks without interacting with the other roles within the scenario is very difficult and we are looking as much towards how and when the candidate asks for help, as we are to the testing skills that they show.

After the scenario’s are complete then we discuss with the candidate how they think the scenario’s went, what they thought went well and what they would do differently if faced with them again.

 

Is persona based interviewing useful for test roles?

We think it is. Mainly because:

 

It gives us a better idea of how the candidate thinks, and how they approach a testing problem

I’m a firm believer in context-driven testing and Rapid Software Testing in particular, as is the company I work for. To me, being able to observe how someone approaches a testing task, who they communicate with, and what questions they ask is very important. Being able to get an understanding of how they change their approach based upon the context is also much easier within the scenarios. Using persona based interviewing I get to discover more about ‘how they tick’ rather than what testing terms they can remember, or how much of their career story they can tell.

 

We get to see a candidates real, practical skills

By giving the candidates tasks based around testing our live applications, usually on an iPhone or iPad, we give the candidates an opportunity to demonstrate the real, practical skills that they have. We encourage the candidates to talk us through what they are doing and give them the opportunity to demonstrate what they know. Being able to demonstrate ability also puts people more at ease and we get to see what they can really do.

 

It focuses on critical assessment and improvement

By having a de-brief or lessons learnt session after the scenario’s have played out, we also get to see how a candidate critically assesses themselves, and discover what they would do differently given another chance. Making mistakes is human but learning from them is the important thing, and I don’t expect testers in my teams to get everything right first time. However I do expect them to be able to recognise ways in which they can improve.

 

It’s more fun than just answering questions

It’s certainly more fun for the interviewers, and hopefully it’s also a bit more fun for the candidate (as much as interviews can be anyway). Asking questions isn’t much fun, and only being able to show your skills in simple answers, is not the best way to spend your time. Demonstration of skills tests how a candidate works not what they can remember.

So, why not try persona based interviewing next time you are recruiting for testers. It can be a great way of finding really good people who you can have confidence will do a good job.

 

The next post in the series will be about C.V.’s, and what you need to highlight in order to get noticed.

Image courtesy of Ambro / FreeDigitalPhotos.net

 

Starting a New Job in Testing

Image

Thing have been a bit quiet around here. Maybe you’ve noticed it. Maybe you’ve only came to this blog for the first time, from a link from Google or Bing, in which case welcome, and do note the gap in posts. I’ve been busy.

Primarily this has been because I’ve been searching for, and then settling into, a new job in a new company. Starting a new job isn’t easy, be it in testing or any other field, and it’s what you do in the first few months in a new company that can really affect how the rest of your time there goes. Those relationships you make early on, and how you are seen by others matter. It matters a lot.

So, while things are fresh in my mind, here’s some handy hints on what you should consider when starting somewhere new. I’ll be sharing further articles about recruitment, job searching and C.V.’s over the forthcoming months.

All presented with a software testing view.

Talk to people

Probably the most important thing you can do when you start, especially in a testing role. Being a good communicator, with the ability to get on with as many people as possible is very important as a tester. Spend your time searching out the important people, introduce yourself, and find out more about them. Ask them about the company, ask them about how you can work together, and find out what they think about how the company does testing. Those relationships you make early on affect how people see you for a long time. Sure, you won’t be able to remember all their names, but make sure they remember yours. And yes, this does mean talking to more than just testers 🙂

 

Ask Questions. A lot of questions

Testing is all about questioning a product in order to evaluate it, right? Take the same approach when you start a new job. Ask everything you can think of, no question is too stupid to ask if you don’t know the answer. Often, so much information in a company, is un-documented, and you want to make sure that you can understand the bigger picture, as well as just knowing enough to do your role. As testers we need as broad a view as possible in order to work effectively so make sure that you learn by questioning, and continue to do so. It takes time to settle into a new job but the more questions you ask then the quicker you should be able to feel like you understand company and your role within it. Don’t sit there, feeling blocked because you don’t feel like you can ask something.

 

Be nice

First impressions count. When you first start you meet a lot of people. Every time you meet someone new then that’s a new first impression. Always remember to be nice. Even if you are really an evil tester 🙂

 

Consider what you are bring to the company

They decided to employ you, there must be a reason, right? 🙂 Remember that you have good, and relevant, experience that you can bring. It’s easy when you first start, to just spend your time learning the company and your new role. But do not forget that your experience from outside the company could be really useful. Maybe your old company did it’s test automation a particular way or maybe you can see the new company works in a way you helped improve in an old role. It’s often new starters who are in the best position to see improvement areas. Don’t just accept that ‘this is the way its done round here’, and don’t feel afraid to speak up.

 

Ask for feedback

It can be really easy when you start somewhere new to just go into things head down and try and pick everything up at once. Remember that you need to pause and ask for feedback. Make sure that you question your own understanding of things, as you learn them, and regularly ask for feedback from those you work with.

 

Don’t forget to continue focusing outwards as well

When you start at a new company it can be really easy to spend all your time learning your new role. After all, there is a lot to pick up and a lot to learn. It is tiring, but don’t forget what you did before. Since you are reading this then I assume you read software testing blogs at least. Keep active in the testing community and keep learning. That way you can bring not only new ideas from your previous job, but also new ideas from the whole testing community.

 

Enjoy it

It takes a lot of effort when you start a new job. There is a lot to learn and a lot of people to meet. Focus on what attracted you to the new job and don’t forget to enjoy it 🙂

 

I’ll be speaking at TestBash 2.0

 

Some exciting news – I’ll be speaking about “A Tester’s Hierarchy of Needs” at TestBash 2.0 which is being held in Brighton, in the UK, on Friday 22nd March 2013. This will be the first time I’ve spoken at the event, and looking at the others speakers, then I’ll be certainly in very good company. James Bach will be giving the keynote.

You can find out a lot more about TestBash 2.0 at the event website, including how to get Super Early Bird tickets.

Hope to see you there.

Testing Experience: Beyond the Smartphone – Testing for the Developing World

I’ve been fortunate enough to have had an article published in the latest edition of Testing Experience magazine. It’s called “Beyond the Smartphone – Testing for the Developing World” and focuses on techniques and tools to use when testing feature phones.

You can download the whole magazine for free by visiting their website and subscribing to the online edition.

Hope you enjoy it.