9 min Devops

Software testing: nobody questions the need, but it’s not done enough

Software testing: nobody questions the need, but it’s not done enough

Many companies develop their own software, whether it’s a standalone application, an extension to their ERP suite, a mobile app to improve customer experience or something even simpler like the company website. Testing these new applications is done way too little, even though it’s vital.

There are many different ways in which you can automate testing of newly developed applications. We spoke to Arno van de Velde, presales consultant application delivery management at Micro Focus.

Micro Focus is one of the companies that provide solutions for the automated testing of software. Manually testing applications is almost impossible these days, although it does still occur, of course. There are too many different devices, each with their own specific specifications and security settings. If you want to test all of those manually, it will take a lot of time. Why would you, when there are solutions out there, including the one made by Micro Focus, that allow you to automatically perform thousands of tests with the push of the button. Of course, you do have to configure specific functional tests by hand, but not all tests require this.

Functional, performance and security

Whether it concerns functional testing, performance testing or security testing: Micro Focus has bundled the various tests into their solutions. According to Van de Velde, this method of testing does require a certain mindset. In security testing, you have to start from the worst-case scenario. You have to emphasize on testing negative scenarios to see whether applications can withstand them. Whereas with functional and performance testing, you tend to think more positively. With each different testing type comes its own specialisations and characteristics. Van de Velde does see one common denominator: “the devil is in the details”. Ultimately, testing is always about the details. It’s nice that a certain workflow works, but does it also work a 100 percent?

The devil is in the details

Each company has its own way of developing software. Whether it’s agile, iterative, DevOps or one of the traditional waterfall methods: you have to test them all extensively. Van de Velde states that although many companies nowadays claim that they have switched to a DevOps method, in practice this often turns out to be mostly wishful thinking. Ultimately, there are many different ways of developing software. Hybrid forms are common as well.

1-shutterstock_1106626760

You can test nearly all software

According to Van de Velde, Micro Focus is capable of testing pretty much all kinds of development. Only the testing of low code applications can be a challenge, as objects in those applications are not always easy to identify. The company has a broad portfolio of solutions, also in software testing. The advantage of the Micro Focus portfolio is that many solutions integrate with each other. If you are already a Micro Focus customer, this can be an advantage. Micro Focus also collaborates with certain third-party tools, such as Open Source testing tools. Ultimately, the goal must always be to perform a good test, according to Van de Velde. If that is combined with third-party solutions, that is not a problem. If customers have already invested in some other solution, it would be wasteful to replace it. The main focus must always be the quality of the test.

Testing software has become increasingly complex

Testing an application has become increasingly complex over the years. We used to almost exclusively have Windows desktop applications. Now, we see more and more web apps that have to work on different form factors. The browser market is changing, as well. Internet Explorer used to be important, but now the Chrome browser is dominant. This is important, as it makes the test results from Chrome weigh more heavily. It may also be important to monitor the memory usage of certain browsers. Chrome has become more demanding to run for computer systems over the years. This can affect a performance test, where latency is important. Latency refers to the time it takes for an application to respond to data input. It makes a world of difference if a form is sent in one second or in five seconds.

Testing mobile software

In addition to web apps, there are also all kinds of Android and iOS apps. Apple mainly implements performance improvements in their iPhones. The company very much adheres to certain formats, aspect ratios and screen resolutions. On Android, however, this is all over the place, because of the numerous manufacturers. This means that an application might work perfectly on one Android smartphone, but on another one, there is not enough space to display a button properly, for example.

Therefore, it’s sensible to test applications on many different Android devices. Fortunately, this does not automatically mean that a company needs to buy a dozen or so smartphones for testing purposes and test everything by hand. Micro Focus provides a service where you can test an application on a whole range of devices at the push of a button. Micro Focus works with partners who have hosted smartphones in the cloud, on which applications can be rolled out and tested very quickly. This saves a great deal of time when testing applications.

Ultimately, most testing is done using the SaaS solution, where devices are virtualised. Testing with physical devices has become very rare. This is because, with a SaaS solution, testing can be done automatically and quickly on a huge number of configurations. This is more effective than linking your smartphone to your computer all the time. What does happen is that organisations use a combination of devices locally and in the cloud for an optimal configuration.

Micro Focus offers software testing to different layers in the organisation

Micro Focus offers different versions of its testing solutions. They actually offer the possibility to carry out tests to different layers of the organisation. For companies that develop many applications, there is UFT Developer. This test solution works from the developer’s IDE so that the developer can write tests directly when developing new functionality. UFT Developer is the most comprehensive solution, which you can integrate directly when developing your applications.

Business Process Testing

However, sometimes this is too late, or you want another team to do the testing. For those cases, Micro Focus BPT is an option. BPT stands for Business Process Testing and is also suitable for users with less technical knowledge. In the point-and-click system, you can indicate what needs to be done and what the outcome should be. Enterprise users can also use the service to find out if a software solution works the way they intended. Applications that work with SAP solutions are an example of this. Many companies often build specific applications on top of an SAP solution to make simple workflows possible. These workflows are sometimes crucial for business processes, so the importance of testing cannot be overlooked. This can also prevent an enormous number of problems.

2-shutterstock_362210786

UFT One

Finally, some companies work with dedicated test teams. These testers are often able to read and analyse code, but aren’t the greatest developers themselves. For those people, UFT One is available. The software allows very complex functional, performance and security tests to be performed. However, these do have to be programmed. For this purpose, Micro Focus supports Visual Basic. This is a very accessible programming language from Microsoft, although it has become a bit outdated by now. Micro Focus has also realised this, and so support for Python has been added. The reason for Micro Focus to choose Python within UFT One and not for another programming language is Python’s popularity. Python is at the top of many recent rankings, with JavaScript in second. According to Van de Velde, other programming languages such as JavaScript may be added in the future.

Good testing can speed up development and production

Properly testing an application is not only good for security, functionality and performance. It also ensures that a development team can work faster. When new features are ready and can be tested almost immediately, it takes a developer much less effort to fix errors. If an error or problem arises at a later point, they have to go back to a module they developed months or years ago.

Efficient software development can also speed up the route to production. Thousands of tests can be easily carried out at the touch of a button. Within the team, there is more certainty that an application does what it is supposed to do. There is no more need to test things by hand. Even if radical changes are made to, for example, the layout of an application, this does not automatically lead to a delay in testing. Micro Focus has now added some autonomous technologies based on artificial intelligence (AI). If several buttons in an application are swapped, the AI engine can recognise this and testing can continue to work as usual. Before, this often had to be redefined. According to Van de Velde, that is now in the past.

Conclusion

The big advantage of a more efficient development team and faster production of applications is not only that they can do more work, but also that the company can earn more money. Applications or features make money as soon as they are put into use or can be sold. As long as they are on the “development shelf”, they mainly cost money. This shows not only the need for good application testing but also its use. On the other hand, good and rapid testing of crucial business processes ensures that new developments also work well. If crucial business processes come to a standstill, it can cost an enormous amount of money.