Combining scuba diving with agile testing?
We sat down with Veka, our agile testing expert who uses test automation skills every day, and discussed about his thoughts on us as an employer and software quality assurance.
Where were you when VALA contacted you with a job offering?
I was nowhere close to Finland. Actually, I was on a road with a motorbike and a small backpack in Philippines. I like to drive around small islands and scuba dive Japanese wrecks from the World War II times. One evening, I found WiFi and I thought I could check my emails. I was really surprised to see an email from VALA!
“I noticed they treat every employee as a person, they recognize individual needs.“
Why did you decide to take the position at VALA?
It was the positive feeling VALA left in me after the first interviews that made me to decide take the position at VALA. I noticed they treat every employee as a person, they recognize individual needs. VALA offered challenging and interesting work where I could develop my personal skillset. I also liked the fact that I can cycle to work.
For me it is really important to be able to combine work life and my hobbies such as travelling, scuba diving, climbing, cycling and learning new things. Those may sound impossible to put together, but with VALA it is possible. They encourage to take time for hobbies and developing yourself. Also, it is possible to take time for travelling between projects. So for example, if you want to see the world, finish your project and pack your scuba gear for the next adventure.
What is it like to work in VALA?
No bureaucracy I could say! Every time I feel welcome. VALA organizes all kinds of interesting get together events. For example, this summer we had free fall simulator which was amazing. Work has been interesting, challenging and the location is great. I’m really happy with them. I cannot think what could be better.
At the moment, I’m doing test automation with Robot Framework and Python. Our goal is to develop new keywords and write automated test cases for web-, Android-, and Swing-applications. Also, there is a need to refactor test cases and keywords, and develop the test automation even further.
“Only testing can give certainty that a product works the way it should. Without testing, changing the system is risky.“
What do you think quality assurance is really about?
It guarantees that application meets requirements. Its job is to create automated acceptance tests which function as specification and requirements documents for the system. Also it is about doing exploratory testing to describe the behaviour of the system, finding the bugs what development couldn’t find and stress the system to find weaknesses.
What is agile testing in your own words? How does it differ from “traditional” testing?
Hmm, I could start with traditional testing. It is testing done too late. Testing is planned long time before the product itself is ready. This leads to the fact that, when surprises found, there is not enough time to react and fix the problem. Testing should be agile testing from the beginning. It should be automated and exploratory testing. You could compare traditional testing to non-digital world such as mechanics. For example, it is not possible to test a pen before it is almost ready. But with software, it is possible to test quite early. In practise, in test driven development, you are testing so early that there is really no line of code to test. Of course, the test will fail, but then the next goal is to pass the test. This means that a new feature would be developed to pass a test. But somehow the traditional hardware testing philosophy slipped into software world and stayed there quite a long time. Looks like tables are finally turning to favour agile testing.
Why and how should companies employ agile testing?
Saving time and money, creating products with higher quality and releasing new features faster. Tests should be thought like documents of a product. Tests document how the system works or how functions should be used. They are examples from design to business how the system behaves.
One might think that creating all these tests won’t save time and money, I would argue that they certainly do. Only testing can give certainty that a product works the way it should. Without testing, changing the system is risky. A small bug in a software can be crucial. It is expensive if software designers are afraid of touching the software and making necessary changes. With well set up automatic test coverage you could free your software designers to design hence giving quality assurance professionals new features to test. You’ll get fast feedback cycle between the two parties. Everybody wins.
“I think you should concentrate more in making customers happy instead of having all the features.“
In tough economic times, where should employees and companies concentrate on?
Customers. I have seen products which have many features which do not make customer happy or worse, might not be used at all. This could be the end of a product. I think you should concentrate more in making customers happy instead of having all the features. Without customer, there is really nothing to concentrate on.
What do you think will be the next “big thing” in quality assurance? Why?
I think it could be as simple as seeing automated testing really important.
Programs what we have today are large and they aren’t getting any smaller. More testing is required to secure the quality of those products. I do not think the solution for that is to hire more people to do mouse clicking. People are needed, but they are needed to test usability and design. Leave creativeness for human and simple manual testing for computers.
Next big thing in the whole IT-industry? Why?
Wow, this is hard one to foresee. I think Internet will be present everywhere. It connects humans, peripherals and machines into massive communication network. Benefit could be for instance that cars can be called automatically into service when sensors find anomalies or doctors can remotely monitor patients. Nowadays, the amount of medical information is beyond any doctor can handle and the amount of data is growing every day. Some intelligent algorithm could be used for diagnosing patients and finding solutions for diseases.
“Next time, when you think you are bored, go and learn something new.“
Why did you decide to become test-automation engineer?
It was something I had not tried before. I have done software integration and development so it felt like a logical next step. I wanted also learn to see software from testing point of view. I have noticed, that small changes in software design, can save days in testing side.
For me, developing automation is the thing that I like most in software testing world. Especially, how to create a solid good testing, finding suitable keywords and test cases, create modular and readable sets. I like to be creative and solve problems. Trying to break a system is a good bonus.
What do you think has taken you this far in your career?
I think there are two main reasons. One is my curiosity in solving problems and puzzles, and the other is interest in trying to learn every day something. Next time, when you think you are bored, go and learn something new. You might find one day that the new skill you learned saved your day. Learning new things and ways of doing make you think out of the box. This is the reason, I want to deepen my practical skills in Scala language like learning ScalaMock. I also want to look into Swing library and Appium to help test automation.
Would you want to say something for the people who will be reading this interview?
Save your next day by learning a new skill today. Do not just try to solve the problem. Instead, find another ways as well and then choose the best one of those. It might take more time, but that way you’ll understand the problem thoroughly.