Insider Tip on how to improve your software quality by changing its rules!

Insider Tip on how to improve your software quality by changing its rules!

Simple guidance on how you can change rules and solve a long-standing problem in your software quality assurance

?When progile talks about the testing pyramid, we mean pyramid. Not a flat triangle.

If you are reading this article, there’s a high chance that you are familiar with test automation and know what a test automation pyramid looks like.

The general concept is simple. We place as many unit tests as possible on the bottom. In the middle, there are the API tests, and we finish on top with UI tests. Mike Cohn came up with the idea of the test pyramid in his book “Succeeding with Agile” back in the year 2009. It’s a very helpful concept when it comes to prioritizing and structuring your test automation setup.

Es wurde kein Alt-Text für dieses Bild angegeben.


What are all the different layers about? And what are their difficulties?

?Unit tests need to be meaningful. They cannot be there just for the sake of having them, and you must make sure that their maintenance is properly handled. They test the program code of a simple unit or a small number of unit pairs.

?API tests in many cases, require building custom test interfaces for which you need to make sure that their level of intrusion won’t generate any false alarms. Whenever you change code, you need to make sure that you still have a working “menu” that can request your tool’s available functions.

?UI tests pose another set of challenges. As an example: virtualized lists need to be handled, which means that the developers need to ensure all dynamically created UI elements are accessible. If a user cannot interact with your product, all the efforts you made won’t be appreciated.

?The above list is very simplified, and we could have an hour-long lecture about how difficult it is to maintain tests in each of the layers. On top of that, it gets even more challenging if you are to apply it in an existing environment where the code base is too difficult to redesign for testability. There is more ground to cover test environment, scalability and many more.

?

Let me show you the way from a simple, flat triangle to a fully structured 3d-pyramid

?The simplified representation of a triangle is indeed driven by the other sides of the pyramid, which people tend to forget to mention - or just don’t feel secure about it.

Es wurde kein Alt-Text für dieses Bild angegeben.


?We reveal the secret of the “overlooked” pyramid sides

?If you look at the two other sides, you will understand why the number of tests in each layer decreases. It’s a combination of costs per test and the necessary effort to build UI tests in the first place.


?The left side is costs per test. Generating and running tests in each of the layers has naturally different costs. It’s cheap to write and execute unit tests. Whereas it can be quite expensive to write and execute UI tests when not having the right tools.

Es wurde kein Alt-Text für dieses Bild angegeben.


That has a direct influence on the right side of the pyramid. The invested time for testing and bug fixing. Since you run your unit tests with every check-in or nightly, the costs of the bug found when executing test cases are low. You provide a code change; you check-in and you know the results.

Es wurde kein Alt-Text für dieses Bild angegeben.


?But if you find a bug at the UI layer, the costs to fix it will be significantly higher. It is a time and resource-consuming way to improve the quality of your product. It means that between the check-in and the time of the test execution, you can have multiple source-code changes.

??

How have we been able to change the rules and solve a long-standing problem in software QA?

And can you also do so?

Along with the technical advances, the possibilities and priorities in software development have also shifted towards UI. It is no longer enough to offer a tool that can store data and execute database queries.

Today, most efforts in software are focused on enabling, even triggering, interactions between humans and the product. Test automation is lagging behind this development. To close this gap and enable the important but often avoided UI testing quickly, easily, and at an attractive price range, we developed TestResults.io.


Es wurde kein Alt-Text für dieses Bild angegeben.


What gap did we manage to close?

Our test automation platform solves the problems that many software development companies struggle with and haven't had a solution for: it tests the UI of a product in a way never seen before. It is able to mimic human actions when interacting with a target system, thanks to Artificial Intelligence and Augmented OCR, which results in the following advantages:

  • ?UI and manual testing are handled by our system
  • Capacities are freed up for the automation of new tests
  • your software quality improves continuously
  • the effort for the execution of the tests always remains the same and can be planned and executed autonomously
  • you can manage your tests clearly and immediately recognize bottlenecks, difficulties in testing and repeatedly failing test cases
  • your freed employees can focus on higher-value tasks

?This results in ever-improving software quality, a reduction of over 80% in test automation maintenance, and the release of over three-quarters of the people tasked with maintaining the automated tests.

But what it achieves most of all is this: it catapults the outdated scheme of test automation from the past straight into the future and takes it to the next level using all modern technological possibilities.

?And that is what we are so proud of.

Ishar Ramadani

Digitalisierung & Software für HR, Finance + Payroll. Und zwar richtig gut.

2 年

As we were recently discussing this topic quite intense and I'm sure you guys are interested in it, allow me the tagging: Stefan Vitz Patrick D?ring Florian Stendel Andrew Orange ?? Richard Bradshaw Sanjay Kumar Naveen Khunteta We as progile would absolutely love your opinions on our definition of the "right" test automation pyramid. ? Cheers! Tobias Müller ? & myself.

要查看或添加评论,请登录

Ishar Ramadani的更多文章

社区洞察

其他会员也浏览了