A few weeks ago I spoke at the EuroSTAR software testing conference in Prague. The conference had one and a half days of tutorials, followed by two and a half days of talks. Around a thousand people attended. I was impressed by the sense of community and by the number of activities offered. For climate reasons, I chose to travel there and back by train instead of flying.
The conference started off with a day and a half of tutorials. On the Monday I attended Michael Bolton‘s session on using risk to guide testing. I really liked the holistic perspective on testing and the emphasis on tacit knowledge. The group exercises were very good, and reminded me of the idea-generating power of groups. On the Tuesday I picked up a lot of good testing ideas from Henrik Emilsson and Rikard Edgren from Nordic Medtest.
Of the keynotes, I really enjoyed Fiona Charles‘ talk with numerous examples of problematic and unethical use of technology. It was also fascinating to listen to Alexandre Bauduin speaking about how the flight simulator for the Boeing 777 is tested. For all the keynotes, slido was used to allow the audience to ask questions. The highest voted questions were then answered by the presenter. For the most part, this way of doing a Q&A worked quite well.
Of the talks, I liked Andrew Brown’s presentation on the endowment effect as an explanation of why we keep some tests that should really be deleted. It was also interesting to hear Martin Boesgaard talk about strategies for anonymizing data when taking production data to use in test.
Apart from the talks, there were many other organized activities. On two of the nights there were dinners. The gala awards dinner on Wednesday night was held in the Zofin Palace, which is quite spectacular. At the conference venue, there was a “test lab”, where you could play games and try solving various brain teasers. For example, they had the card game Set there, which I have written about in the past. Right beside, there was a station where you could pimp your conference badge, for example by adding a flag sticker indicating where you are from. These were surprisingly good to have, since they made starting conversations even easier. The test lab was always busy, and a really great way to get people together and talking.
Of all the people I spoke to, I didn’t meet any other developers – all I spoke to were testers. While that is understandable at a testing conference, I think testing is a hugely important subject for developers as well. I also noticed that the proportion of women attending was higher here than at developer conferences I have been to.
Here are some tips and ideas I liked from the two tutorials I attended:
First look for value in the product (learning it). Later you can flip that around when looking for risks to test for.
3 levels of testing. In the beginning, use sympathetic testing to discover the basic functionality using simple test data. This gives a good overview, and avoids getting bogged down in details. Any problems found here are probably important, since only basic functionality is used. Next, use risk-based testing, where a risk can be a quality or functionality from level one that is not met. Finally, use multi-testing – while testing one thing, look for other problems as well (slow responses, inconsistent terminology, bad error messages).
Test for charisma as well – what makes the product special? Is it appealing? How do you feel when using it?
A good way of finding bugs is to combine errors. Usually an error/fault in one dimension is handled, but if two or more are present at the same time, there is a greater chance of uncovering bugs.
Reporting test results. Report on values and threats. Report throughout the project, not just at the end. Report what stakeholders are interested in, not what you can report.
Look at the logs when automated tests are running.
37 Sources for Test Ideas (pdf).
Don’s ask “Is everything going OK?” – ask “What are your top three problems you have right now?”
And finally, a good quote from as early as 1961 on what is required of a tester: “We must struggle to develop a suspicious nature as well as a lively imagination.” – Herbert Leeds and Gerald M. Weinberg, Computer Programming Fundamentals
I gave my talk on “Learning from Bugs” on Thursday morning. I was supposed to give it in one of the smaller rooms, but there was a problem with the room, so I had to give it from the (enormous) main stage instead. There is a very nice sketch note from Ekaterina Budnikov summarizing my talk.
I got some good questions after the presentation. For example, Do I share my notes with the members of my team? No I don’t, mostly because I don’t want to force anybody to use my way of doing things. However, I am happy to share if anybody wants to, and the bugs file could easily be on a shared Wiki page. I usually also mention interesting bugs I come across, even if I don’t share the notes I write.
Have I evolved the headings I use? Not much. I have added if the bug was caused by me (a good addition – and almost all bugs I record are caused by me), and in which file the fix is done (has not been very useful so far, but it is quick to add, so it doesn’t matter). Furthermore, many of the headings I use (like Cause, How found) are free text fields, so they are easy to fill out. How do I get statistics out when it is just a plain text file? There is some structure thanks to the headers, so I just use grep (with flags -A, -B or -C). Also, I don’t extract statistics very often.
The conference app is called Whova, and it is by far the best conference app I have used. It has the basics all other apps have – the schedule, talk outlines and speaker bios. But it also has several other useful features.
It has organizer announcements that you can get as push notices. So when there is a room change or a speaker change, you get notified. It also has a message board functionality that was extremely active and well used at EuroSTAR. For example, people used it to meet for dinner or coffee, to share tips on what to see in Prague, and for finding people to share a ride to the airport with. There were also many interesting discussion threads, like what your job title is, testing techniques, article sharing and which talk was the most interesting. The engagement level was fantastic, which is probably both due to the app and the attendees, but regardless it is was really nice to see how vibrant the discussions were.
For each session, you can register that you plan to attend. This means that for each talk, you get an indication of how many will attend. This gives a measure of popularity, and how crowded you can expect the session to be. The app also gives you a personalized schedule. And of course you can use it to give feedback on the talks after you have listened to them.
In the app there is also a list of all the attendees. When you sign in to the app, you can register via external services like LinkedIn, or just via mail. But it looks like they get LinkedIn profile information for people anyway. At first I thought this was bad, but I changed my mind. Your LinkedIn profile is more or less public information. If I have the name of a attendee, I can just look them up on LinkedIn anyway. I found it quite useful to be able to see the profile of fellow attendees. You could also search for people from a given country, company etc.
Travelling by Train
I travelled by train from Stockholm to Prague and back, and it worked out really well. I think climate change is a real and serious problem. I also think flying is much too cheap in relation to the environmental damage it causes. One high-impact change I as an individual can make is to fly less.
It is not strictly necessary for me to attend conferences on software development and testing. One alternative is remote-only conferences. However, I do like physically attending them, with all the interactions it entails. So here it was possible for me to attend a conference and still avoid flying, by instead travelling by train.
It required quite a bit of research on my part in order to find how to book the whole trip, and how to find the cheapest tickets. Contrary to what many said, buying an Interrail pass was not the cheapest way. Instead, it turned out to be cheaper to book the tickets via SJ for Stockholm – Copenhagen, and via Deutsche Bahn (DB) for Copenhagen – Prague via Hamburg and Berlin. The total price for getting there and back, including seat tickets, was around 195 euros.
In the summer, there were overnight trains from Stockholm to Prague. However, in November, there were none. This meant that I decided to stay overnight in Hamburg. So I left Stockholm on Saturday at 8:30, and got to Hamburg at 20:15. On the Sunday I left Hamburg at 10:30, and arrived in Prague at 17:30. On the way back, I travelled from Prague to Berlin (around 4 hours) and then spent two full days there sightseeing and visiting a friend. I started the final leg home from Berlin at 8:30 on Sunday morning, and arrived in Stockholm 23:45 that night. For all trips with DB, I used their app, which is very good. It has the tickets and the itinerary. You can also use it to confirm your seat so they don’t need to check your ticket on the train.
Yes, the trip took quite a while, especially compared to flying. However, I viewed the trip as an adventure in itself. I really like that you arrive right in the middle of the cities you pass. I had two hours in Copenhagen, and took a nice walk past Rådhuspladsen, Tivoli and Glyptoteket. In Berlin I stayed at a hotel near Hauptbahnhof, so I only had a 10 minute walk to get to the train when leaving. On the train rides, I spent a lot of time reading books I brought for the trip. All in all, I really enjoyed my train adventure.
Even though I am a developer, not a tester, I found EuroSTAR really valuable. I got many new and useful ideas and perspectives on testing. And I really appreciated the sense of community and energy, and the focus on interactions.