As I wanted to go to a testing conference this year, I was looking around the internet and found the Nordic Testing Days in Tallinn, Estonia. The schedule sounded really interesting and it was really affordable, so my decision was quite easy. And what can I say: It’s absolutely worth coming here! The first day is over and I have heard quite some interesting things and meet great people.
In the morning I wanted to take a taxi from my hotel, which was located in the old city centre, because it was raining and I was carrying my macbook. Unfortunately lots of others had the same idea, so that I ran a little late and missed the beginning of the keynote – therefore there’s no sketchnote about it, but I have made some notes anyway.
Keynote: Enjoy the ride
Speaker: Henrik Roonemaa
Henrik was talking about the changes in the internet usage behaviour – people nowadays are so overwhelmed by content (they get at least 8 hours of content per day and you can see it, because phone batteries are always empty in the evening), that they just consume and don’t have the time to do anything else. They don’t even have the time to learn how a button works. The difference between something complicated and something easy and fun is one click, so you have to become easier to be understood. There are more and more mobile users from everywhere, not only the western countries. Internet has to change and to adapt to be for everyone – if you are not for everyone, you are for nobody and pointless. For some of the people, the mobile phone is their first and their only computer. Chinese people don’t use phones, they use WeChat. That all means that you have to change your way of thinking. A product is something that does things for me. For example people don’t want to make a report, they want to present it – they want to press a button and let the machine do it. Simplicity is a good user interaction design, always keep that in mind.
10 Non-Obvious Tips to Testers
Speaker: Erik Brickarp
Here are the tips Erik gave us:
- have a risk catalogue (generic list of all risks)
- run quick tests (like pressing on F5 for some seconds)
- visualize things (customer journey on your page, workflows,…)
- combine models (choose models and combine them)
- dare to break rules (try new things)
- learn & practice test techniques (at least in the beginning)
- use high risk input ($%&§/()instead of test)
- use external oracles (find things worth questionning)
- testability is everything (test env, resources, tools)
- describe current process (question why things are done that way)
- test plan questions (reporting, requirements, platforms,…)
Big Ships are Hard to Turn (Quickly): Navigating Towards the Automation Promised Land
Speaker: Erik Davis
Erik was talking about his journey to test automation when he was working for a company that wanted to get into it. Here some notes on the journey and what he learned:
- preferably mix of developers and QA to write tests
- it helps to have a technical understanding when you are a tester
- you should just do the things you can do with the amount of people you have
- adapt project planning: include time for testing
- automation: any code written to assist humans in testing
- automation should have helpful results
- you have to be able to say when you move into the wrong direction to stop and move into another one
- you have to have dedicated people who also desire to learn something
- you have to maintain tests/checks
Analysis and Modification of Mobile Applications Traffic
Speaker: Oleg Nikiforov
- mobile apps traffic:
- special tools needed to display traffic info
- tons of different requests
- requests also sent in the background
- different formats
- different types of connection
- different http codes
- sniffers:
- network traffic analyzer
- decodes packet’s raw data
- shows it in readable manner
- data monitoring:
- request validation
- response validation
- manipulating data:
- content change in the request/response
- time-out simulation
Do Testers Need a Thick Skin? Or Should We Be Proud of Our Humanity?
Speaker: Nicola Sedgwick
Nicola was talking about the difficulties testers have as their role as seen in different ways which aren’t always that positive. Often when there is a bug in production, almost immediately follows the question „was this tested“. You evaluate what was missed, how serious it is and how it could happen. You try to find a way that this will not happen again and it might even be, that testers aren’t trusted that much anymore after such an incident – that is not a good feeling for testers. We all have to learn how to deal with each others as people, because there often is a missing value for testers. They seem to never be satisfied, to always be negative, to complain about everything or to „just be testers“. That is why testers should watch out for the stress curve as the stress level should be kept as low as possible. You shouldn’t be like a coral and just explode out of nothing when you crossed a point, but you have to talk to your team members, coworkers or even your scrum masters to change this kind of behaviour. Team harmony is crucial – you have to stand up and care for each other. Therefore having a thick skin cannot be the solution, but humanity is.
KEYNOTE: Creating Yourself as a Tester – Make Your Own Testing Path
Speaker: Alan Richardson
Alan was giving tips for us on how to be able to improve ourselves for being better testers. He said that we are not born to be testers, but we have to learn to ask questions. Questions can change the way we think, but we have to know for what purpose we are asking them. A lot of people just fell into testing. Therefore, especially in the beginning, you have to read and learn about testing and stay up to date on it. Try to spot things that are different and then develop your understanding of testing from this. You should avoid to make assumptions on how things work, but start to really find out how they work. Everything is as related as you make it, so pay attention to the conclusions you make and even question the answers on your questions. You need to take responsibility for your test approaches and take control of what you are doing. Reflect about how you are doing things and what can be improved. Also have a look on how others do things to find out if that might be better and then learn from it. Basically you have to create your own model of what to test and how to test it.
10 commandments for ethical software testers
Speaker: Fiona Charles
As a tester you may fulfill your own definition of ethical correctness. Fiona was talking about the following commandments she would recommend each tester to think about:
- Understand you professional obligations (discover information about the software and its quality – tell the truth so that the stakeholders can make good decisions)
- Understand your legal and contractual obligations
- Know your own ethical bottom line (like: don’t falsify results, don’t violate laws, don’t work for companies you don’t want to work for)
- Know whose interests you serve (company, user, government)
- Know the harms your software could do
- Think critically about your whole situation (objectives of the company, inequities, etc.)
- Be good at saying „no“
- Be good at telling people things they don’t want to hear
- Know your escalation path
- Know your tolerance for risk
- Document your concerns
Threat Modeling – Masking Testing with Big Words
Speaker: Amit Wertheimer
According to Amit threat modeling is a design review meant to find security concerns. It addresses architecture security flaws and shares a team understand of risk. How can you do it? First you have to scope and think about who might want to attack you and what assets you don’t care about. Then you should get a model. You should keep it simple and clean so that it is easy to read and to understand. You should look at data flows that cross boundaries and ask whether they can be spoofed, tampered or leak information. Then you can do some unstructured (mind map, free discussion) or structured (personas, categories of attackers, attack trees) brainstorming. In the end you should wrap up. Ideally you should do the design review in the beginning of a problem, but later on it will still be very useful.
A Chase of Incremental Improvement
Speaker: Maaret Pyhäjärvi
As a tester you should find your role and sometimes you can be several roles at the same time (like cheerleader, conscience and critical thinker). You should keep in mind that you can’t make huge changes overnight, but that they will happen step by step. It would be the best if you could do them in a way, the team members don’t notice the changes, but will just behave the way you wanted. All in all you should think about the following things:
- Capability to release: journey to continuous deployment
- what do you need to change so that this will be possible
- Self-organized teamwork: co-creation to collaboration
- pair or mob programming
- break established communication patterns
- tell the team members positive stuff
- Agile requirements: make sense into all-knowing PO
- stories vs. tasks
- incremental development
- board with status of tickets (backlog, in process, etc.)
Set the goal to improve every day and to share your knowledge, so that others can improve as well. Make the developers care about the feedback and try to set yourself some goals.
Integration Testing: You Keep Using That Word, I Do Not Think It Means What You Think It Means
Speaker: Melissa Marshall
Melissa thinks, that integration testing is something between unit and functional testing, but that it is a layer and not an individual test. With it you can test the boundaries of your app and also your API. You can group functions together and test them in aggregate. In general she recommends to just write tests that give a value and to use declarative UI and functional programming tools.
How to Give More Value to Business as a Tester
Speaker: Margareta Muru
As a tester you should remember, that you shouldn’t test everything but just those things that give a value to the business. You should test according to what your real users do on the page and keep in mind, that people buy just those things that give them more value. You need to change your mindset and ask yourself if the things you do give any value to the business and what is most important for the business and the user to test. Don’t forget about the risks and their cost. You can convince the business to start testing by using numbers to show the risk and damage of losing a user if something doesn’t work the way it should work. You can also argument with the user experience, because if something doesn’t work, is too slow or is too difficult to interact with, the user will not bring you any profit.
Up and Away? How Moving Into Software Management Gave Me a Different View Of Testing
Speaker: Stephen Janaway
Stephen’s view of testing changed after moving to a different role and he shared his tips with the conference attendees:
- testing is changing: you have to adapt and to stay relevant
- get better at explaining what you do and what your value is to be treated with more respect
- software testing is a craft, so be proud of being a tester
- help your team to understand what quality is
- it’s pointless to be the champion of automating useless tests – they have to bring a value
- make things fun
- share your knowledge with others
- gain people’s trust as trust glues people together
- stick to your principles
- be able to admit that you screwed up
- adapt your language to improve communication
KEYNOTE: Building Smart and Reliable Self-Driving Robots
Speaker: Kristjan Korjus
As there is a huge market of online shopping, food delivery and delivering packages and people want them now, which is really expensive, Starship wanted to build the most efficient local on-demand delivery service. So they built a personal delivery device that uses the sidewalk to deliver things on-demand as a last mile delivery. The robot is equipped with several cameras, radars and sensors, can carry up to 10kg, travels at pedestrian speed and has a precision in navigating of 2cm. The fleets are monitored by humans who can take control at any minute to make the robot stop immediately. The maps were created by using open street map’s data and new streets are being recorded to produce a new map for the next delivery. The benefits of the robots are:
- reduced pollution
- zero emission
- reduced congestion
- may assist senior citizens
- increase quality of life
Now there are more than 100 robots driving through several cities throughout the world. Therefore rapid learning is possible through the collected data. As the hardware was changed frequently, writing tests wasn’t that easy. The main computer is pinged to check if it’s working and for ensuring reliability, the rollouts are gradual, immediate rollbacks are possible and there are fault detectors. As there are robot handlers, an intervention is possible at any time and there are lots of real life test cases, so that bugs in the software can be found and eliminated really fast.
I really loved the conference. The organization was awesome, the location was central and had enough space for all the attendees, and the talks and speakers were of high quality. I’m definitely looking forward to the next Nordic Testing Days!