Nordic Testing Days 2018 were held in Tallinn, Estonia 7.-8.6.2018. Two fully packed days of interesting talks and workshops around software development and especially software testing. This was my fourth time to attend this conference, it has always been in some way an eye-opening and refreshing event. In this post I will share my experiences and takeaways from the event.
To the deep end
I started the conference by attending a workshop called: “Effective end 2 end testing with codeceptJS” by Michael Bodnarchuk. I was lucky to have my laptop with me, as we first started with setting up the environment:
- Install NodeJS
- Install selenium standalone server
- Install CodeceptJS
Then our task was to do a simple test on a booking page. I am very familiar with SeleniumLibrary and Robot Framework, so for me this task was pretty intuitive and easy to do. What I especially liked in this tool was the interactive part. One could pause the script and leave the browser open and then test the keywords in real time. In this kind of testing it pretty much always comes down to the testability of the application under test. For example, a web page without proper IDS is always hard to test and maintain the automated tests.
In my opinion this tool is a very nice addition to the ones that are used to do automated acceptance tests for web applications. I especially liked the rather quick and easy installation. This framework is backend agnostic, so many webdrivers can be used without changing the script.
“How to win with automation and influence people” by Gwen Diagram
This was a well-structured and presented story about a test manager’s role in changing the way testing is done and selling it to all the people in the company.
Often when you go to a company to do testing it is all a big mess. Many languages, frameworks and tools are used. There is no common understanding of what tools and methods should be used and when. There can also be a lack of general understanding about testing. Key takeaway from this was that people should be involved into decision making. The test plan should be so good that people will understand the benefits and are willing to do it together.
Gwen explained her test plan as a funnel starting from unit tests and ending to exploratory testing. Each layer should find less bugs than the one before. The unit tests are the bedrock of all the testing, as they find most of the bugs. After that comes component testing followed by the integration tests. There was no division to automated or manual tests which is a good thing in my opinion, because you can’t say for sure what can be automated. After integration tests comes the acceptance and end-to-end tests. Finally comes the exploratory tests.
This was a good reminder of how important it is to keep the test plan clear and simple. And also, to introduce elements that are easy to understand in the business point of view. For example, how much money can be saved by finding bugs as early as possible.
The 4-hour tester by Joep Schuurkes and Helena Jeret-Mäe
I think this talk was the best in this year’s NTD. It resonated with me the most. Main idea was to build a 4-hour lesson for new testers where they would learn useful testing skills.
Technique is something that is easy to teach or show to someone. For example:
Skill is something that is learned, e.g. riding a bicycle in the traffic. You just need to learn it by doing.
Same goes with testing. The 4-hour tester consists of five key skills that a tester should learn. Each skill is learned in three steps: briefing, exercise and evaluation.
The skills are:
- Test design
- Note taking
- Bug reporting
The exercises and more about this can be found here: http://www.fourhourtester.net/
This simple and quite short talk really made me think of my own professional skills and development. I have learned testing by doing it. Of course, I have attended seminars, claimed certificates and talked about testing. Still I haven’t reflected the actual testing skills as much as I should have. Knowing my skills would help me to focus my studying to areas I still need to work on. It will also be much easier to plan and report my work through these core skills.
- Performance and stress testing
- Importance of unit tests
- Testing vs. Quality
In couple of other talks, the importance of good statistics and the minimal amount of changes in the system, were the most important aspects of doing performance testing. The importance of unit tests and the automation of them was mentioned many times. I couldn’t agree more on this. As a tester it is much more fun to do testing when there are no regression bugs or some kind of trivial defects in the system when the unit tests are done properly. One very good quote was: “Software testing is the headlights, quality is the journey, business outcomes are the destination” by Anne-Marie Charrett.