Ioana Bucur
Test Automation Engineer

 

Who I am

I am a young professional who has been working in GUI test automation for over 5 years.

In my various projects in various industry branches across different countries (Romania, Germany and Switzerland), I have encountered one constant value that holds true: communication and common understanding is the key to cooperation.

 

What I do

I write software which tests other software.

 

Who I work closest with (stakeholders)

  • Manual testers and test automation engineers
  • Test managers
  • Requirements engineers
  • Developers
  • Project managers/product owner

 

What methodologies I use

  • ISTQB knowledge base and testing practices: The ISTQB (International Software Testing Qualifications Board) web page is a good place to start in order to become familiar with the general testing practices, techniques and vocabulary. Knowing the theoretical aspects of testing allows you to tailor that knowledge to each specific project.
  • BDD (Behaviour-Driven Development): Writing tests that can be understood at first glance by anyone, regardless of their technical background is very useful, especially in agile teams.
  • CI (Continuous Integration): It is a great way to get quick feedback about your tests.
  • Scrum, Kanban, SAFe: Whether you like it or hate it, agile is here to stay, so it is vital to understand how some of the most popular agile methodologies and frameworks work.

 

What additional skills I need to have

  • Good communication skills & empathy
  • Perseverance
  • Attention to detail
  • Inventiveness

What tools I use

Some popular tools and frameworks used for GUI testing include:

  • UFT (Micro Focus Unified Functional Testing)
  • Squish
  • Ranorex

 

How they work

These tools are able to recognise and interact with the elements on the user interface and trigger events in the same way a user would.

They make it possible for the test automation engineer to simulate user behaviour on the screen of a device by clicking buttons, typing in text, scrolling through a table – without actual human intervention.

 

What programming languages I need to know

Depending on the tools and technologies used, a test automation engineer needs to be familiar with various programming languages and frameworks.

The primary language needs to be the one used to write the automated tests.

When choosing a language for developing your tests, you need to keep in mind what testing tool you are going to work with and make sure they work well together.

It would make little sense to develop your tests with Java if your tool is based on .net technology.

Another important aspect to consider is the technologies used for the GUI.

All good automation tools have their custom APIs (Application Programming Interfaces) to help you interact with the GUI elements, but understanding (at least on a basic level) the native technologies used for the GUI is going to help you take your test automating game to a whole new level.

Some programming languages I have used to develop tests include Python, C# and VBScript. Additionally, understanding Qt, HTML and JavaScript frameworks and being able to access native methods has helped me overcome some of the limitations of the test automation APIs and build leaner and faster tests.

 

What challenges I face

  • Unstable environment: Agility is great, but when there are daily or hourly deployments and the environment is inherently unstable, it is very difficult to build and execute reliable tests.

Possible solution: Propose setting up a separate, more stable testing environment where you can develop your automated tests.

  • Elements on the GUI cannot be recognised: Test automation tools recognise buttons, tables and other elements on the GUI by using a set of properties such as the element name, the position on the screen or the text contained by the element.

As a best practice, front-end developers usually give unique names or IDs to the GUI elements so they are easily identified and distinguished from one another even if changes are made to the screen. Testers can use these unique identifiers in their automated tests to recognise and interact with the GUI elements.

Possible solution: If this is not the case, you need to get together with the development team and set up a naming convention for the GUI elements so they are more easily accessible.

If this is not possible then you need to get creative. Some knowledge about the technologies used will help you with that. Explore properties such as the element’s position on the screen, its size or the instance number. However, when working with variable properties, keep in mind that they will change when changes are made to the screen, so your tests will need to be adapted as well.

  • Restricted API functionality: Sometimes the functionality the test automation tool provides does not meet your needs.

Possible solution: Having a good knowledge of the GUI technology can save you in these cases. Try exploring the native methods and properties of the GUI elements to find a solution for your problem.

  • Security policies and user rights management: Your testing tools and/or test users might need special rights in order to be able to perform certain actions.

Possible solution: Tight communication with the security officer and the user rights administrators is needed to overcome these issues.

 

Conclusion

In the agile, constantly changing environment of IT, good communication and a shared understanding is vital for the success of a project.

I encourage everyone to talk openly about their daily work and to listen to some of the challenges their colleagues face every day.

By doing that, we might be able to build bridges across departments, teams and even organisations that will help us overcome those challenges.

 

Glossary

GUI – Graphical User Interface

UFT – Micro Focus Unified Functional Testing

ISTQB – International Software Testing Qualifications Board

BDD – Behaviour-Driven Development

SAFe – Scaled Agile Framework

API – Application Programming Interfaces

HTML – HyperText Markup Language

VBScript – Visual Basic Script

IT – Information Technology

News from ERNI

In our newsroom, you find all our articles, blogs and series entries in one place.

  • 06.12.2023.
    Newsroom

    Streamlining software development: The journey from multiple to unified requirements management tools

    Productivity in software development is slowed down by managing specifications across various requirements management (RM) tools. Although moving to a single, updated RM tool involves an upfront investment, the long-term benefits are considerable. These include increased process efficiency, enhanced collaboration, superior traceability, improved software specification quality, cost reductions, scalability and better integration with other RM tools, among others.

  • 22.11.2023.
    Newsroom

    Recognising trends: An insight into regression analysis

    Data plays a very important role in every area of a company. When it comes to data, a distinction is made primarily between operational data and dispositive data. Operational data play an important role, especially in day-to-day business. However, they are not nearly as relevant as dispositive data. This is because these data are collected over a longer period of time and provide an initial insight into the history or the past.

  • 08.11.2023.
    Newsroom

    Why do we need digital transformation for medical devices?

    For hospitals, it is not up for discussion as to whether they want to digitalise. The increasing age of the population in western countries and the progressive shortage of medical professionals mean that without digitalisation, the healthcare system will not be able to provide the quality that patients want in the future.

  • 25.10.2023.
    Newsroom

    Mastering the challenges of mobile app testing: Strategies for efficient quality assurance

    Discover the unique challenges faced in testing mobile applications and learn how to overcome them effectively. From selecting suitable devices and operating systems to leveraging cloud-based test platforms, test automation and emulators, this article provides seven essential strategies for optimising your mobile app testing process.

  • 11.10.2023.
    Newsroom

    Incorporating classical requirements engineering methods in agile software development for a laboratory automation system

    Traditional agile methodologies can sometimes struggle to accommodate the complexity and regulatory requirements of laboratory automation systems, leading to misalignment with stakeholder needs, scope creep, and potential delays. The lack of comprehensive requirements documentation can result in ambiguous expectations and hinder effective communication among cross-functional teams.

  • 27.09.2023.
    Newsroom

    Unveiling the power of data: Part III – Navigating challenges and harnessing insights in data-driven projects

    Transforming an idea into a successful machine learning (ML)-based product involves navigating various challenges. In this final part of our series, we delve into two crucial aspects: ensuring 24/7 operation of the product and prioritising user experience (UX).

  • 13.09.2023.
    Newsroom

    Exploring Language Models: An overview of LLMs and their practical implementation

    Generative AI models have recently amazed with unprecedented outputs, such as hyper-realistic images, diverse music, coherent texts, and synthetic videos, sparking excitement. Despite this progress, addressing ethical and societal concerns is crucial for responsible and beneficial utilization, guarding against issues like misinformation and manipulation in this AI-powered creative era.

  • 01.09.2023.
    Newsroom

    Peter Zuber becomes the new Managing Director of ERNI Switzerland

    ERNI is setting an agenda for growth and innovation with the appointment of Peter Zuber as Managing Director of the Swiss business unit. With his previous experience and expertise, he will further expand the positioning of ERNI Switzerland, as a leading consulting firm for software development and digital innovation.