Product

Software testing evolution and challenges

Gustavo Almeida
Gustavo Almeida September 11, 2020
Software testing evolution and challenges

A few years ago, the role of testers or Test Analysts was limited to documentation, reports, and manual software testing. They worked closely with the Requirements Analyst or Project Manager and, from the system requirements, began to transform the system’s use cases into test cases. These, in turn, were compiled into a document that would serve as a basis to monitor them, as a checklist that should be validated for each version of the system.

This compilation is known as Test Plan. It contained the step-by-step and other important information for conducting the tests, such as scope, environment settings, test data, roles and responsibilities of those involved; dates for test execution, maintenance windows, data dictionary, metrics and a multitude of information that supports this very fundamental stage of the software life cycle.

Example of a Test Case:

How to do software test cases
Source

The number of test cases could easily reach hundreds, depending on the complexity of the system. This documentation was often kept in Word (.doc) or Excel (.xls) files, which made maintenance difficult.

A simple change in the name of the button implied changes in dozens of pages of that document. So you can imagine how complicated it was when changes were made to complex rules or prerequisites.

These documents also worked as deliverables defined in the minutes of meetings and internal audits, and this approach of a more rigid document was possible thanks to the Waterfall development model, which was widely used in companies. This model followed a line of sequential phases, like a cascade, as suggested by its name.

Waterfall model representation:

Software testing waterfall development model

At some point, the first exclusive tools for test automation and others that allowed more flexibility in the registration and maintenance of test plans and bug records began to appear. Some of them were created by companies such as Microsoft and IBM – the IBM Rational, for example.

In the meantime, software development methodologies evolved in a more agile and less rigid way, with many iterations and deliveries, and subject to constant requirement changes. In a quick Internet search, you can find thousands of blogs, articles, and books about Agile, Lean, SCRUM, Kanban, etc. Other methodologies that introduce testing at a stage prior to the code, which focus on behavior and/or software mastery, also began to emerge: DDD, TDD, BDD.

Programmers created their tests, teams took their first steps in agile methodologies, and testing professionals began to develop software, looking for ways to automate the repetitive tests that occurred with each iteration. There was a convergence of efforts to deliver the highest quality embedded in the products, which is still applied in companies today, including at VTEX.

Complexity and exponential increase of systems

There was a boom in web development, scalable SaaS systems, and we entered the mobile-first era, so the scope of testing kept increasing. We have reached a time when we have different web browsers, each with its own particularities, and two main operating systems for mobile devices. There are a multitude of these devices with different screen sizes and resolutions.

In order to keep up with these changes, cross-browser and cross-device testing services have emerged to help leverage automated testing, providing scripts with more speed and flexibility.

These services offer cloud infrastructure and easy parallelization of test runs.

software testing services for cloud infrastructure

In addition to different browsers and screen sizes, validation between different versions of the same browser and/or operating system is also a constant concern. For example, a web page could work perfectly in the version X of the browser, but register failures in version Y. In general, version Y should be supported by the system – due to contractual, customer relationship, or other reasons – even if the manufacturer no longer provided support for that version anymore.

On top of this, tests aimed at non-functional requirements have also increased. As an example, we have video streaming applications that should continue to work even with a low signal from the telephone antenna, systems that use internal device features such as accelerometers, and a multitude of small details that can further increase the scope of testing.

Summarizing, it is noted that the complexity, dimensions, and challenges of software testing have increased and continue to increase at an exorbitant speed.

What about the software testing professional?


This transformation also impacted the profile of the software testing professional, who is now better able to write code, use DevOps tools and continuous integration systems, for example.

As a result of this transformation, this position received different names over the years. Today, there are countless terms to identify these professionals that, despite having different roles, always carry the feeling of being the owner of the product and focus on quality. We can list several of those job titles: Software Tester, Test Analyst, Quality Analyst, Quality Assurance Analyst, Test Manager, Agile Tester, Test Automation Analyst, Test Engineer, etc.

At VTEX, the profile that best fits our team is the Software Engineer in Test (SET). This professional, who gained notoriety through large technology companies in Silicon Valley, is best described as a software engineer with a background in testing and an emphasis on the development of automation systems, frameworks, and systems aimed at software testing in general.

We have an open position for SET. Check it out here.

The future is already here

We are surrounded by data, and more data-driven applications are increasingly emerging. This type of application makes it difficult to use traditional testing techniques, such as Equivalence Partitioning or Boundary Value Analysis, as the answers are not necessarily binary.

For example, Artificial Intelligence applications, Machine Learning, speech recognition, facial and image recognition in general; how can we validate that a system has correctly recognized a cat in an image? We know that there are false positives and a lot of background in statistics in these systems.

Will we have increasingly qualified professionals for embedded technology and hardware? Many virtual assistants are to come and, with them, many testing challenges.

Training in statistics and data science is a path these professionals could follow. Considering the pace at which software testing has evolved, it is expected that software testing professionals continue to pursue further specialization. After all, their challenges and responsibilities are increasing.

Do you want to build a future-proof career? Check out our vacancies.

Keep reading: Related stories
Product

The Hottest 2023 Retailer Trend: How Can You Implement It?

When experts forecasted Live Shopping as one of the top ecommerce trends of the future, many were doubtful…

Jessica Bizzoni
Jessica Bizzoni
Product

OOTB, third-party, and customized solutions: How to choose the right one for your business goals

There is no doubt that choosing the right set of tools and platforms to operate an online business…

Guilherme Portela, Paloma Castrioto, Renato Ricardi
Guilherme Portela, Paloma Castrioto, Renato Ricardi
Product

Companies around the world improve profitability with VTEX’s Marketplace Seller Portal

VTEX knows that the marketplace model is one of the most important strategies for ecommerce players, big and…

Lalo Aguilar
Lalo Aguilar
Product

2022 VTEX Marketplace Release: going beyond traditional ecommerce

For more than 10 years, marketplace capabilities have been a pillar of the VTEX Digital Commerce Platform. The…

Lalo Aguilar
Lalo Aguilar
Product

VTEX and Adyen partner to bring unified commerce to online retailers

Whether it’s by adding new content, pushing out marketing initiatives, or investing in the next big trend, it’s…

Gabriela Porto
Gabriela Porto
Product

Why VTEX IO is fit for enterprise retail companies

Enterprise retailers usually need to implement advanced and interconnected strategies to succeed in the digital commerce space. They…

Allan Centurione
Allan Centurione
Product

8 best aspects of VTEX IO

Many developers and ecommerce specialists have found themselves stuck while trying to change aspects from their websites due…

Larícia Mota
Larícia Mota
Product

VTEX platform now available in Bulgarian

Following our goal of authoring the future of commerce around the globe, the VTEX platform is now available…

Larissa Dias
Larissa Dias
Product

Grow your business with VTEX’s Sales Performance Dashboard

Data insights are more important than ever and at VTEX, we’ve been constantly working on ways to provide…

Andreea Pop
Andreea Pop
See More