Its the second edition of Liz goes to….
This time to a testing conference.
Its theme was to find out what the next generation of testers would be doing and how software development is changing.
This blog posts theme is linking, so I will try to provide links to interesting stuff where I can.
The one thing I took away from the day is that in order to keep up with competitors we need to react to change fast, deliver changes and understand the risks of those to help make decisions. Making smaller more achievable goals that we can adapt to as we go will decrease the risk. CI, automation (specifically unit testing), fast feedback from A/B testing are all part of this.
I have summarised the more interesting talks for now.
Dave Snowden – The Internet of Things
David Snowden has some pretty controversial views, so if you like controversy like I do google him.
Studying the way humans react to the internet and how quickly things change. We adapt without even knowing!
He explained that having too much structure can mean we take longer to adapt to change. Forcing specific requirements is great for efficiency but it gives no time to adapt and repurpose something that is already alive We need to react fast to constantly evolve. Its common now to try to replicate something you like, but as its the end point of a revolutionary process you need to understand the why before scaling the how.
Exaptation requires time for redundancy and efficiency, so being 100% efficient can cause problems as teams have no time to adapt and innovate.
The tools we use change our cognitive processes and we become dependent on them. Don’t manage things you don’t need to manage. e.g Internet Explorer 6!
A recording of the talk is on his blog.
Stephen Janaway – Testing as an activity
Stephen explained that the future of testers is not just to be the tester, and is more about offering guidance to the team.
It is what we are trying to do at reed.co.uk but it seems there are a lot of companies out there that still have a team of testers hidden in the basement.
Testing or Checking
Testing is an activity, a performance, something you do and that this can be any testing task, not just the actually checking it works.
Testing is evolutionary product learning
Checking is a performance. You have a set of plans, and you run through those plans. (Better for automated tests)
Checking is testing the back and white rules
The future testers role:
– Customer advocates
– Quality owned by teams
– Raising profile of the need for quality
– Testers invoke teams to own quality!
Slides Testing As An Activity
Dan North presents…Dan North
Another one that if you haven’t watched him on You Tube is worth a watch. Dans brief was to argue against all the points in the previous talks, plus to give his views about the future of the testing role.
Testing is the future!
Testing is to be more collaborative. Collaboration brings individual blind spots to foreground – quality improves!
Dan disagreed that testing is an activity. He described it as a mindset and its testers jobs to guide others how to use this mindset.
Getting fast feedback is about taking risks. We can’t all test everything so we focus our efforts where they are needed the most
All risks have an impact and likelihood and the tendency is just to fix all the high things, but with risk we need to think about the context of it too. Every risk will have a completely different context depending on the stakeholder.
Taking risks will allow for faster feedback and therefor more innovation and exaptation. The quicker we get feedback the quicker we can react to it!
Automation is a key in making these risks smaller as it provides fast feedback. Building safely in with reduces risk.
Rather idealistically he described how a change was A/B tested without hours and refactored based on user feedback.
He also agreed with Dave Snowden saying that ‘People with time invent things’ Becoming too focused on burndown charts and story points can actually be counter productive
Dan explained how testers need to use cognitive bias to aid questioning of requirements. Its a tendency to only agree with things in your world view, especially after being given some really rigid requirements or being sold an idea and testers are really good at thinking of the things no one else can.
We are normally thinking about the selective reality as the what we class as unnecessary points are already removed. This can lead to false assumptions, so its always good to question.
The ladder of inference is a good tool for this
Nothing pleases people more than to go on thinking what they have always thought, and at the same time imagine that they are thinking something new and daring: it combines the advantage of security and the delight of adventure’
T S Eliot
Net a Porter’s Mobile testing tips
Mobile testing is a complete minefield. So many devices to choose from, so knowing business aim helps testing focus.
Net a porter shared their mobile app testing tips:
- Date and time settings modify the app time – we don’t want to be sending people reminders at 2am!
- Languages settings
- keyboard settings
- Location settings
- Network settings – 3g, wifi, wifi authentication (like on the tube)
- Native share
- Test Non retina devices
- Privacy settings – Don’t let the app use the camera, what would happen etc
- Storing data
Fragmentation of devices is tricky, try to pick the most common ones.
Performance is super important – make sure this is in your definition of done!
If the app crashes or is slow, people will react badly to it.
I talked to a number of people about automated testing and its value.
Everyone agreed that unit testing is fundamental as they are quick to run and give us some level of confidence, but did question how valuable UI testing is as it can be incredibly time consuming to maintain, especially if you try to test more than basic functionality.
It took me back to the agile testing pyramid and the fact that we should be unit testing more.
Net a porter spoke about their approach to API testing
They unit test all the core parameters and manually test using soap opera scenarios using a REST client.
There is loads online at the moment about testers needing to be developers to stay in ‘agile’. Today is so easy to learn online, so we talked that upskilling will have value but that testers are also useful elsewhere in an agile team. The role of tester will become a lot more collaborative with other members of the team and guiding others about quality.
Dealing with sprint bugs
– add unit tests for them!!