Test automation: frequently asked questions about test automation

Today, more and more companies rely on for software testing on a robot. When properly designed and implemented, test automation is cost-effective and significantly improves the quality of testing and software.

 In this article, we have collected six of the most common questions related to test automation.

1. Why use test automation?

The aim of automation is to make the company more efficient and free up testers’ time for more productive work. Testers freed from repetitive manual testing have more time to create new automated tests and handle complex features. Often automation also frees up customer resources for core tasks by reducing the need for manual testing.

Tests and test cycles also need to be repeated several times during the development cycles and product life cycle to ensure the desired quality. Once automated tests have been created, they can be run over and over again without incurring high additional costs. In test automation, the time to run often also decreases and increases as the test automation developer becomes more familiar with the service under test. This is because the test automation developer is able to optimise the test scripts and also to make better use of already implemented, existing test scripts and structures.

Test automation also enables consistent quality and consistency of the test item. Even the most diligent tester will make mistakes during often tedious and repetitive manual tests. Robots perform the same steps accurately every time and never forget to record programmed, detailed results. This consistency improves predictability and allows better and more accurate estimation of the time required to run automated tests and the overall testing process and development lifecycle.

2. What to consider before automating testing?

Automation of testing is also often a significant cost factor in testing. If poorly implemented, the benefits to the customer will not meet expectations. It is therefore very important to set realistic objectives for the automation project. The customer and the supplier must have a clear understanding of what the test automation is intended to achieve.

It is important to take test automation and its needs into account when making application architecture and technology choices to avoid unpleasant surprises and additional work. The technologies and architectural solutions chosen often have a direct impact on the tools and techniques used in test automation development.The workload and costs from an automation perspective can increase significantly if the implementation model and tool choices are limited to a specific or even “only” solution available on the market.

Testability and test automation should also be considered during the software development phase. It may be necessary to develop test interfaces for the application under test or to instrument the code in order to provide information about the internal state of the application to the automation tools. For example, test interfaces can be used to retrieve data from the user interface view. Instrumentation, on the other hand, can be used to test the performance of a single software component, for example, by adding test points to the program code to print performance metrics.

The company’s infrastructure also needs to be at a certain level to be able to go ahead with the test automation. In addition, it is important to resource staff from within the organisation (service or system owner) for the testing project, even if the company uses external help to implement the test automation.

In customer projects where Nextcon provides testing services and develops test automation, the technology and development environment are often implemented in Robot Framework and/or Python. The solid popularity of these, especially in Scandinavia, is based, among other things, on a large and active development community and a development and implementation environment that can be deployed quickly and with low start-up costs. The technologies are equally well suited for small and large development projects and the open source code enables vendor-independent test automation development. The development environment can be extended according to customer needs and scope with free and paid tools, integrations and add-ons. Nextcon’s testing and quality assurance professionals work on the customer’s software project as independent consultants or, when provided as a service, as complete testing teams.

3. What kind of tests should be automated?

When planning the introduction of test automation, you need to think carefully about which tests it really makes sense to automate. Testing should be based on a clear strategy, where the customer’s needs, the business and the project to be carried out are well understood, so that test automation delivers the desired added value.

The best use of automation is when the robot is put to work on high-volume tests that require a lot of repetition. Acceptance testing and regression testing are excellent targets for automation because of their repetitive nature and often the number of tests. The length of the system or service lifecycle also has a major impact on the level of test automation that is worth pursuing. The longer the lifecycle of the service under test, the better the efficiency of automated tests.

If you are passionate about software quality and security, you are the person we are looking for!

Are you excited by new technologies and challenges? Do you want to be part of building a better future for our customers? If you answered YES, check out our job vacancies and apply to join the team.

4. Where to start in test automation?

Projects often start with a state-of-the-art survey, where existing manual testing workflows are reviewed and the suitability, scope and objectives of test automation are assessed. At this point, it is also worth considering whether the organisation has the necessary skills to implement test automation or whether it would be better to seek external expertise.

At Nextcon, the needs of the customer are always taken into account when selecting a suitable testing expert for a task or role. Our experts’ versatile skills, decades of experience and our own network of experts ensure that for every test automation project we work on, we have the expertise to meet the customer’s needs. Our consultants working on testing and quality assurance services have a long track record of professionalism. In addition to regular training, our experts have a diverse skill set gained from a number of different projects as specialists in various roles and in different industries. In the healthcare sector, for example, our experts have been involved in the development, implementation and roll-out of DigiFinland’s testing services in various roles and phases. In the 2022 call for tenders Nextcon Finland Oy was selected by the Uusimaa Hospital District (HUS) as the testing services provider..

5. What does test automation cost?

Each project is unique and the testing needs are always tailored to the service to be developed and the need. In agile development models, costs can be calculated and budgeted according to the project, phase and features to be developed. The costs for testing and test automation are determined by the scope of the project and the overall quality assurance needs.

If the environments, tools and technology needed for testing are not ready, they should be taken into account in the budgeting of the project. Where quality requirements and criteria are high, the cost of test environments, tools and security (e.g. audits and security classifications) alone can represent a significant proportion of the total project cost. In this case, the number of man-hours spent on planning and optimisation also increases proportionally. In test automation, the workload is influenced by the number of test cases to be automated, the quality requirements and the type of application or system to be tested (technologies used).

Automating testing requires investment and the initial investment may seem large. In the long to medium term, test automation adds value by improving overall quality and reducing the cost of testing by reducing manual steps and getting the system, service or feature under test into production more quickly. As we said earlier, in order to maximise cost-effectiveness, it is important to identify which tests are worth automating.

To ensure that test automation can pay for itself in the desired timeframe, it is important to identify and assess the life cycle of the tests and their lifetime in advance. The life cycle of automated tests should also take into account the cost of maintaining the tests. Even good automated tests rarely remain unchanged until the end of their life cycle and need to be updated and maintained as the environment, service and user needs change. Without careful planning, test automation can result in a lot of testing without the right results, and the desired overall benefit may not be achieved.

6. How can AI be used in test automation?

AI will soon find its way into testing and test automation as AI tools and methods become more widely available. For example, language models could be used to create new test cases by analysing existing tests. The same technique can also be used to identify tests that are very similar to each other, thus eliminating duplication. On the other hand, AI can also identify a minimal test set to achieve the desired test coverage, thus optimising the number of test cases required to the minimum.

The AI can also automatically generate an analysis of the error, categorise and prioritise it appropriately and report back to developers if the test fails. On the other hand, errors can even be predicted by analysing the software code, its structures and the actions taken during software development, such as adding new code, adding new modules, reusing old modules, etc.

One good target for AI is the automation of user interface testing, which can often require flexibility from the tester or test script. Element names, locations and sizes can vary between test platforms, which can be the result of, for example, an update to the user interface. In such a changing environment, the use of a flexible AI-based solution would facilitate test development and make test cases more reliable. The AI could be given several different ways or criteria to identify the desired element and the algorithm would be able to select the most efficient ways to find the desired element based on the results of previous test cases.

AI can also be used to automatically analyse performance and load testing results. These tests generate a lot of numerical data on various performance metrics such as CPU utilisation, memory usage, latency and other defined quality of service indicators. Test acceptance criteria are often based on values remaining within certain thresholds or at the level of previous test results. Over time, test results may start to diverge from previous results, for example when new features are added or optimizations are made to the system. The machine learning algorithm can interpret new results based on previous performance history and detect if there are significant changes in performance compared to the past.

For us, quality is a passion

Nextcon’s testing services are always designed to meet the needs of the customer, the available resources and the operating environment. We place particular emphasis on high-tech quality standards, standards and proven technical solutions, test automation and machine learning. We will also explore the potential of AI for test automation in cases such as complex or information-intensive development projects.

We value our experts’ ability to innovate, their high level of motivation and their willingness to learn new technologies and become experts in their field. This enables us to always offer our customers the best possible service and quality.

We value open communication and transparency in our company, which is also reflected in our client projects. Our customers come from a wide range of industries, including mobile and telecoms, financial and banking services, lift and crane services, healthcare, energy, etc.

Nextcon – when you need professionals to ensure high reliability and quality of services and systems.