HiQ ExpertsWhy is testing the cornerstone of software quality? Jenny Salo explains


Software testing is the foundation of every great piece of software, ensuring that it meets not only technical requirements but also user expectations. HiQ’s Senior Test Automation Engineer, Jenny Salo, explains why.

“Testing is not just one phase in the software development process – it’s the foundation of every great software,” states Jenny Salo, Senior Test Automation Engineer at HiQ.

Software testing ensures that applications meet both technical specifications and the expectations of their users. This makes it a critical part of quality assurance.

By involving testers early in the development process, as per the Shift Left approach, fixing potential issues becomes easier and more cost-effective. Testing should be present at all levels, from unit testing to acceptance testing.

“Testing reduces the likelihood of undetected defects in the product. As the International Software Testing Qualifications Board (ISTQB) principle states: ‘Testing shows the presence, not the absence, of defects.’”

Finnish Robot Framework is a global success

A high-quality software development process employs both manual and automated testing. In repetitive and precision-demanding tasks, automated testing shines by freeing up time for more challenging tasks requiring creativity and insights, such as modularizing and parameterizing test cases. These strategies make tests reusable for various purposes with different test data.

“Another creative challenge is designing tests intended to fail. These involve deliberately feeding incorrect data into the application under test to ensure it rejects it appropriately. For such purposes, an automation framework is particularly handy and highly recommended,” Jenny explains.

One of the most versatile tools for automated testing is Robot Framework (RF), an open-source automation framework.

“Developed in Finland, Robot Framework has gained global popularity for testing web applications, interfaces, databases, and even hardware. Thanks to its versatility, it can be used for almost anything, making it somewhat of a local hero,” Jenny notes.

RF also combines multiple interfaces and test targets into a single test.

“I’ve used it to automate tests for browser-based user interfaces, databases, and even embedded systems – all in a single test case. This gives RF an edge in multi-system testing environments compared to competitors like Cypress and Playwright.”

Faster, smarter software increases the need for more robust testing frameworks

In the future, test automation and evolving front-end technologies promise faster, smarter, and more reliable software.

“As software systems become more complex, the importance of robust testing frameworks will only grow. Robot Framework’s ability to handle diverse testing needs and promote team collaboration makes it an ideal tool for modern software development,” Jenny emphasizes.

Jenny is particularly hoping for tools like Robot Framework to bring business and tech teams closer together.

“Robot Framework has the potential to bridge the gap between business and testers. Its keyword-driven, tabular syntax is simple and facilitates collaboration across teams, making it accessible to both technical and non-technical users.”

Successful software testing requires collaboration

According to Jenny, software testing is ultimately a collaborative effort that requires close coordination between developers, testers, and other stakeholders.

“Developers and testers need to work together to create software that not only works well but also delights users. At its best, testing builds trust in the product,” Jenny explains.

Close collaboration with developers also helps them understand the role and importance of testing, with test results serving as direct feedback.

“When developers understand the tests designed by testers, they can identify defects in their code more effectively. Reviewing test results also fosters useful discussions about test coverage, and it’s often during these reviews that tests are planned together, schedules are aligned, and upcoming tasks are discussed.”

Challenges in automated testing can arise with dynamic elements in browser-based applications.

“Sometimes elements lack stable identifiers, like static ID attributes or tags for HTML elements. In such cases, I collaborate with developers to add identifiers or attributes to elements. If that’s not possible, I’ve devised creative workarounds.”

Related content: