top of page
Search
  • Writer's pictureMinduli Wijayatunga

The Ins and Outs of Test Automation - Part I



Hi, I'm Minduli. I am a software engineer at Atalgo Computing. We are launching Flame, a new codeless test automation platform for mobile, web and API testing! During these exciting times, I'm here to tell you more about test automation and Flame through a series of posts just like this one. So, sit tight and enjoy the ride!


Ever run the same code on your computer 1000 times looking for bugs? Test automation can take that process right out of your hands. Test automation is defined as the practice of running tests automatically while managing data and even using the results obtained to improve software quality. Implemented widely, test automation software is often able to do the most manual testing work of an entire software project.

However, for a certain test to be automated, the following criteria must be satisfied.


It must be repeatable.

If a test is not repeatable, there is no point in automating it. However, to achieve repetition, we need to ensure that once the test has taken place, the data and the environment return to their original states.


It must be determinant

The outcomes of the test must remain the same each time it is run to ensure that it is determinant. The non-deterministic nature of a test can cause problems if a lot of instances are run in parallel. For instance, if the test is to add a new user to the system and report back the number of users, doing this in parallel may cause unexpected results to come about. In these instances, the test automation software must be explicitly told to avoid parallel testing, if possible.


It must be unopinionated.

No method of automating beta testing or usability testing is available today, as the outcome of such testing relies heavily on individual opinions. Thus, the test must be devoid of opinion-related inputs or outputs to be successfully automated.


Once the above criteria are met, there are several options for the types of automated testing that can be conducted.


Unit Testing

These are tests done on a single isolated unit of a particular application. They do not depend on external APIs or databases. Unit testing is conducted to see how each component of an application behaves without being impacted by other components.


Integration Testing

Integration testing is conducted to see how units are working as a group. Through this testing, we can see how units of software communicate with each other and work together.


Smoke Testing

Smoke testing is done to determine whether if a system as a whole is stable or not. It can determine whether if the main functionality of a software is working or not.


Regression Testing

Regression testing verifies whether if changes made to the system broke any of the existing functionality or not.


Importance of Test Automation


With time, software development has evolved to be a complex and long-winded process. Today, new software is being delivered to the customers more frequently than ever, and continuous testing is done to ensure that mistakes made in the development process can be discovered and fixed as soon as possible. Test automation can save a significant amount of time and money spent on testing, as it can improve software quality quickly. A test automation software can gather testing concerns, manage test data, run tests as well as track results. Essentially it is the logical next step for the development teams that are overwhelmed by the sheer repetition of manual tests that can be automated.


Why Flame?

Flame is an AI-augmented test automation platform catering to enterprise and cloud-based ERP systems involving complex business scenarios. It has been designed as a codeless platform keeping manual testers with business knowledge in mind. Flame will enable them to automate their complex workflows across platforms and derive value from testing more frequently. Flame and can be plugged into any continuous integration/continuous delivery solution.

In follow up article, I will try to provide a step by step walkthrough of how we can setup Flame for a test automation project and easily start writing and executing the scripts to test any software applications.





34 views0 comments
Post: Blog2_Post
bottom of page