Where were we and where are we today in automation?

The software provides the core functionality of most electronics products. These “software-intensive systems” have a large penetration into daily life and this penetration is expected to grow even more in the coming years. In addition to the growth in size and complexity, these software systems need to be of ever-increasing quality and need to be developed in ever-shorter time frames. To tackle these increasing quality requirements, testing is an important step in the development of a software-intensive system, as it checks if requirements to a system have not been met. To remain competitive in the development of these systems, the industry needs to increase productivity by means of better testing practices.

Starting from the initial stage of testing where automation tools were not available rather the dependency was highly on the unit tests performed by Developers and then manual testing by QA engineer. In Automation, we have evolved from Core framework to Record and playback to Custom frameworks. And in custom frameworks, one starts to build the frameworks like Modular framework, Data-Driven framework, Keyword Driven framework, model-based framework and eventually ends up with to Hybrid framework solution. However, the need has grown from these tool bounded scripts to easily understandable ones, for e.g, for non-coders like business analysts.

This need gave birth to a newer type of framework which has evolved out of the weakness of Test Driven Development (TDD), called Behavior Driven Development (BDD). BDD covers the response to the issues encountered in test-driven development:

  • Where to start in the process
  • What to test and what not to test
  • How much to test in one go
  • What to call the tests
  • How to understand why a test fails

BDD covers the ‘desired behavior’ which has business value for whatever entity commissioned the software unit under construction.  There are many tools which are available in the market to support BDD, such as JBehave, Cucumber and Twist etc. Even after this advancement in testing, the question which still remains at large it, what is there in the future for automation? To answer this we need to first understand what is in progress in the software industry that requires immediate futuristic attention to address this question.

Smart UI Application Progress

Intelligent applications are aggressively occupying the smart applications running hardware which are now a day’s commonly visible on smart phones, PC, TV, games consoles etc. Smart applications such as drawing based, security based, motion sensor based have become new vertical in software development and testing. Due to humongous rise in demands of such devices and software, this has given rise to boom in the software industry. Consequently this has enabled and influenced us to write software for smart mobiles and portable devices.

Software Test automation needs to support smart UI Applications

In order to support such smart UI applications, we definitely need to test them, and in order to test them we definitely need to perform test Automation to eventually support such technology. Consecutively our innovation must also work in this direction of development of such tools which support and drive.

What is expected?

Hence there is need for new level of test automation products that can reduce the cost of implementation and ownership so that you can focus on testing your application instead of developing your tests. These tools should provide a pre-written test framework that can substantially reduce — or even eliminate — the need to learn and use scripting languages.

Such test frameworks should have the capability to:

  • Make automation accessible to testers who aren’t programmers
  • Simplify script development
  • Reduce the maintenance effort

It could be possible that most of these frameworks can be wrapped around one or more existing commercial/freeware test tools, but not always. The primary difference among the products relates to their underlying execution “engine” or script library and whether it is mapped to action words, windows, objects or classes.

Vision for Future of Automation

On following few good practices, the future of test automation and test automation management can be in a good state:

  • The quality of the test code should be good for production. Means, Use Private/ Protected member variables /methods. Make them public only when required
  • Traceable and Making Debugging Less Painful

Test automation management tools should ease the process of debugging by providing useful information and have all relevant references in one place.

  • Import only those classes which are required
  • Carefully Use XPath feature, lesser use, or avoid Indexes.
  • Keep test data separate from test scripts.
  •  Valuable Reporting

Test automation reporting should be meaningful and flexible to both test engineers and IT managers. An outstanding management tool provides metrics such as trend analysis and key performance indicators for high-level decision-making. Meanwhile, it should also have low-level logs and statistics that are useful for debugging and internal analysis.

  •  Instant Recognition of Changes in Testing Results

It is essential now to pick up changes in automated test results almost immediately, which requires the management tool to shift information and improve test efficiency.

  •  Compliance with Testing Systems

Easy integration with other systems will help manage different tasks on a single platform.

 

?Most Popular Topics

?Top 5 Aspects to consider when testing financial applications

?The Challenges Faced by Today’s Quality Assurance Practices

?Design Patterns In Test Automation World

 

Follow us on Aspire Systems Testing to get detailed insights and updates about Testing!

Latest posts by Harvinder (see all)