David Evans and Bri Axon explain alternatives to the traditional user story format and why to consider them. Food for thought.
Category Archives: Experiences
Just find bugs? Absolutely not, and Tony Bruce showed the audience what testers really do, and the skills that we use.
He had a great mindmap which you can see here. It was far better than mine
Matt Wynne and Seb Rose explain how to overcome common issues with BDD and Cucumber, helped by a demonstration on a car sales website
The first talk from the Agile Testing and BDD Exchange from Gojko Adzic and Christian Hasse.
Here’s my mind map in PDF. A good start to the day.
I’m at the Agile Testing and BDD Exchange today. As I did with EuroSTAR, I’ll try and get some mindmaps down, and share them after the talks on here.
Check back later for, hopefully, more
What a great start to day 2 at Eurostar. Keith Klain explained how to approach organisational bias towards testing and how he is initiating change at Barclay’s.
Here’s my mind map, in PDF and image.
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.
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.
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 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.
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 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.
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.
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
A 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
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.
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.
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
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.
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.