What’s behind quality?
Quality Engineer Karl Toomas Vana explains how Proekspert ensures quality, each and every time.
At Proekspert we have learned that quality can never be an add-on. Whether it’s a mobile application, internal web portal, or cloud integration, delivering software that meets user expectations and performs flawlessly is crucial for success. It is standard at Proekspert to include a dedicated Quality Engineers (QE) in our projects. QEs help teams deliver the best possible results, focusing on:
- risk assessment
- design validation
- identification of shortcomings during grooming
- discovery of edge case problems others may have missed
- design of release and work processes
- creation of automated tests
In addition to creating unit tests, we also cover end-to-end test automation for web applications with Cypress or Selenide and for apps with Appium. We aim to cover test cases that have the biggest impact with automated end-to-end tests. Professionally-written, automated tests give more assurance that critical things are working, and they save time to focus on hard-to-find edge case problems that could still cause big issues if not attended to. When projects grow big over time, without test automation it is either too risky, time-consuming, or costly to continuously release new features.
As projects grow, it is important to properly balance testing weights. All functionalities should be covered by unit tests, and at least 40 percent should be covered by integration tests, depending on how many critical features the project has. Aiming for 100-percent integration test coverage is not reasonable, since writing and maintaining the tests is more time consuming and costly than unit tests.
When planning testing resources, the consideration of a solution’s risks and impact is essential. If a solution involves physical devices, caters to large user bases, or includes critical functionality, any issues can result in significant financial losses and damage to reputation. In such cases, testing and automation must be exceptionally thorough. Of course, there is also manual testing.
When it comes to manual testing we do integration, acceptance, exploratory, compatibility, performance, and usability testing. When connecting your devices to the cloud, for example, we want to make sure that they continue to communicate as expected, that users are able to conveniently operate and monitor the devices and, most importantly, that the system is reliable. For conducting tests, we use actual test devices connected to our environments whenever possible. This helps to validate the full user flow as close to reality as possible. When testing web interfaces, we make use of a variety of tools such as BurpSuite, browser development tools, and self-built simulators to cover hard-to-test scenarios. We make sure that APIs have proper validations and the right access checks in place. For meeting accessibility criteria, we use the WAVE tool, in addition to manual verifications. What matters more than tools is the expertise our people have gained over the years. We’re able to make sense of complex configurations, data, and how they affect the users.
Since Proekspert was founded by programmers for programmers, we have a good understanding of the complexities that come with quality assurance. Our quality engineers are included in all meetings and communicate well with the client, designers, developers, and product owners.
The key to success is having the whole team focus on delivering high-quality solutions. It can take great technical knowledge to be able to see beyond user interfaces. Our passionate testers, who take interest in even the smallest bits of the solution and processes, are there to take the teams to the next level.
Receive our weeky newsletter! Inspiring ideas that are worth your time