Posted on Leave a comment

A Guide to Automated Testing and Testup for Absolute Beginners

Have you never heard about automated testing? If no, you have come to the right place. In this article, we are going to discuss automated testing and a specific automated testing tool called Testup that we have built.

Let’s begin!

Introduction to Automated Testing

Software testing is the process of verifying whether the actual results of the software meet expected results. Software testing divides into two groups named manual testing and automated testing. As the name suggests, manual testing executes test cases by a human tester without using any automation while automated testing executes test cases using automation tools. 

There are some limitations of manual testing compared to automated testing, and some of them are listed below. 

  1. It consumes a high amount of time to complete a test.
  2. It consumes a lot of human resources.
  3. Possibility of less accurate results as it may involve human error.

Automated testing is introduced to overcome those limitations, and it has the following advantages.

  1. It consumes less amount of time to complete a test.
  2. It consumes less amount of human resources.
  3. Accuracy of test results is high.

Use of Automated Testing Tools during Development and Maintenance of Software

Automated testing tools can be used during the development of software to ensure that the development progressed in the right direction. Errors may occur during the maintenance of software. Hence, software testing is required, and the automation tools such as Testup can be used for testing during the maintenance.

What is Testup

Testup is a visible test automation tool to test web applications, and it was developed and maintained by Thetaris GmbH, a group of software professionals. Further, you do not need to have any coding skills as Testup is a no-code automation testing tool. 

The following list shows some of the advantages of Testup.

  1. Easy set-up of the test environment as Testup is a very user friendly testing tool.
  2. Ability to test complex test scenarios with ease.
  3. Ability to test without writing any code.
  4. Requires less amount of time and resources to learn Testup. 

Hence, Testup is an ideal automated testing tool for a user who has little or no experience with automated testing.

Registration Process

Before creating a project, you need to Register with Testup. The registration process is simple and straightforward, as shown below.

Visit this URL to go to the Testup website. Next, click on the Get started free button, and it will redirect you to the registration page.

Then, enter your email address and click on the Register button to create a new free account.

Creating a New Project

After completing the registration process, click on the Go to App button and it will redirect you to a new browser window where you can create a new project.

Next, create a new project by clicking the Create project link. To rename the project, click on the edit icon and rename.

Creating a New Test

Click on the Create Test link to create a new test and fill the parameters such as URL, etc. as per the requirement. To rename the project, click on the edit icon and rename.

For the demonstration purpose, we have used the iPhone 6/7/8 dimensions. Then click the Edit button, and it will redirect you to the Testup editor.

Recording a Test

Testup Editor

Before recording a test, you need to understand the Testup editor. There are three parts of the editor, as shown below.

  1. The left side of the editor – It contains the browser window of the website you want to test.
  2. The right side of the editor – It consists of the list of checks and inputs.
  3. The top of the editor – It is the control centre which contains all the executable commands.

Check with an Anchor Area

Selecting an anchor area helps the editor to verify that the website is correctly loaded and ready to perform the next action.

In this example, we are going to check three anchor areas, as shown below.

Check if the brand name “Testup Merchandize” is visible

Select the anchor area of the brand name (Testup Merchandize) with the mouse, as shown in the above screenshot. Next, click on the Play It button to execute the action.

Check if hamburger menu is visible

Select the anchor area of the hamburger menu with the mouse, as shown in the above screenshot. Next, click on the Play It button to execute the action.

Check if the welcome image is visible

Select the anchor area of the welcome image with the mouse, as shown in the above screenshot. Next, click on the Play It button to execute the action.

Clicking

Select the anchor area of the search icon with the mouse, as shown in the above screenshot. Next, click into the search icon. Then, click the Play It button to execute the action, and you’ll see a search input field appear above the search icon.

Text Input for a Search Function

Select the anchor area of the search input with the mouse, as shown in the above screenshot and click into the search input. Next, click on the Play It button to execute the action. 

Then click on the press key link.

A search input field will appear. Next, type the text “Beanie” and click on the PLAYING NEXT button. 

Then, press the enter key on the control centre to start the search, and the search result will display, as shown in the below screenshot.

Swiping

You can see the image of the first item in full by scrolling. To perform this action, first, select the anchor area “Search Results: Beanie” with the mouse and then swipe on the browser screen as shown in the above screenshot. Next, click on the Play It button to execute the action. It will verify that the image of the first item is visible in full.

Next, we are going to check whether the Beanie with the logo is visible with the price. Select the anchor area of the item, as shown in the below screenshot and click on the Play It button to execute the action. It will verify that the Beanie with logo is visible with the price.

Conclusion

Exit the editor by pressing the Done button. Click on the Run button to run the test. If the test passes, Congratulations! Otherwise, try to fix the test by editing it. Visit our documentation if you need help.

Posted on Leave a comment

No-Code Test-Automation is the Future

Software testing has been known as a time-consuming activity from its inception. Testers may avoid wasting time on routine tasks through automation and concentrate on other value-adding activities such as selecting the best test cases for a test iteration and reviewing new features.

Automated testing brings many benefits such as shortened time to execute existing test scenarios. However, the main drawback is that process automation requires scripting. This need to learn scripting and the additional time it consumes has led many towards no-code test-automation.

Why is Code-Based Automation no Longer the Solution?

Before we dive in to no-code automation, let’s look at some of the disadvantages of code-based automation:

  1. The need to learn the required scripting languages or recruit new people already familiar with them.
  2. Considerable time allocation for the maintenance of existing automated test cases.
  3. Significant preliminary investment in the establishment of automated testing tools and the allocation of automation resources.

There are innovative ways of testing that no longer require scripting, and they solve most of the above problems. An increasing number of companies is adopting codeless automated testing, so it’s definitely something you need to be familiar about.

No-Code Automation and its Paradigm

No-code automation allows you to create automation tests without writing a single line of code. Codeless testing tools, nevertheless, create an abstraction layer on top of the test code. That means the test scripts still depend on other parts of the software to test a scenario. But no advanced scripting is required to create or update a written script.

For web-based software products and services, testing with the “record-and-play” concept has become the most common approach. A software tester manually performs the test and uses the tool to capture the test sequence one step at a time. The tool will convert these recorded sequences into test scripts. Testers can then modify the documented test scripts and tailor the testing approach to fine tune it.

The graphical user interface (GUI) and the drag and drop features provide testers with a better way of creating automated tests. Documented scripts can be reused across platforms and browsers emphasizing the broadened usability of codeless testing. Desktop and mobile applications, and websites can be tested using codeless testing solutions like Testup. The application will be kept under 24/7 surveillance and performance will be tracked around the clock.

Let’s look at some of the leading benefits of no-code test automation next.

Easy Test Case Modification

Sometimes there are reasons to modify test cases. Some of the common reasons are errors in test cases, changes in existing features, implementing new features to the website. Such test case modifications effectively involve re-recording / rewriting the whole scenario and adding new actions or modifying current actions where appropriate.

This will not be feasible in most instances as it will affect development time and cost. But with a Codeless testing tool like Testup, this is taken care of completely and existing tests can simply be modified or improved as required.

Enable Non-Developers: Testers, Product Owners, Business Analysts

Testing is usually reserved for QA Engineers. So automation is also automatically assigned to them. However, Business Analysts and Product Owners are the ones who are truly aware of the product from end-to-end. Yet they do not get directly involved in testing, and especially automation, mostly due skill constraints. So important test scenarios can be missed. 

However, codeless testing allows Business Analysts, Product Owners, or any other responsible party to test the application on their own. It enhances company integrity while producing top notch software. And the gained human capital can be transferred into value adding interventions. 

User stories come up with their own acceptance criteria. This acceptance criterion can be easily converted into a test case since it is detailed. With the simplicity and the agility of the codeless testing, user stories can be tested easily and fast. Additionally, the previously written test cases can be re-used to test similar user stories.

AI-Driven Advanced Testing 

Codeless testing enhances testing by employing cutting-edge AI technologies. Natural Language Processing (NLP) is used to write automated scripts from documents and captured images. Regression testing can be effectively done using Self-correcting features. Test cases can be written automatically based on user action triggers. Further, Machine learning enables codeless testing to self-validate test results.

Some No-code testing tools like Testup capture screenshots of the test steps and actions to revise test cases using AI when changes are needed to be made to the application. As AI recognizes the website attributes such as positions, colors and text from the screenshots, test case modification becomes effortless.

Super-Fast Update of Tests

Creating a codeless test is faster than Selenium automated testing. Since No-code testing is equipped with AI powered self-maintenance, it resolves conflicts of object maintenance fast. Moreover, Codeless testing creates a dynamic testing model which contrasts the changes made on the application promising super fast test updates. 

Cross Browser Support

Test automation tools most often come in the form of extensions to browsers. Typically, the browser extensions are attached to a particular browser. The software that businesses create are not limited to various browsers, unlike browser extensions. So tests must be performed on multiple browsers and computers.

Checking the same scenario on multiple browsers will poke script writers as there are numerous circumstances that need to be thoroughly verified in an application. A reliable codeless automation should permit testers to use existing test cases on any browser without worrying about  browser specific codes like we do in code based automation.

No-Code Automation is Becoming Popular.

Most of the SaaS platforms like Salesforce, SAP, Workday and Servicenow have already employed codeless testing. Apart from that, No-code testing can be easily integrated with Gitlab, Jenkins, Slack, Jira, Teamcity and Visual studio services increasing its potential.

Future of Software Testing with No-Code Testing

Codeless testing will increase test coverage and exposure while improving testing performance. As codeless testing has already made testing significantly easier, it is sustainable and will be improved further. Advanced AI technologies will  be utilized to make testing easier and more user friendly.

No-code automation testing is the ideal testing methodology for agile software development because it speeds up testing with the involvement of less teammates. Codeless testing doesn’t require the tester to have extreme technical knowledge, so agile development teams do not have to bother about skill constraints related to the software testing. It’s no surprise that agile and no-code testing will go hand in hand in future.

How to Find a Good No-Code Automation Service. 

There is a myriad of advantages of Codeless testing in addition to the most significant ones mentioned above. Consequently, codeless testing is a perfect alternative for automated testing even if someone has scripting knowledge expertise. 

Platform support, ease of usage, script maintenance, UX features, and the efficiency of testing must be considered when selecting a suitable codeless automation tool. The performance of the tool may vary depending on its features and the underlying technologies. So you need to prioritize the criteria that is important to you in order to make the best decision.

Posted on Leave a comment

Our Journey to No-Code Test Automation

For the last 14 years, I have been working on tools for developers at Thetaris. My Co-founder Stefan and I developed, we developed all kinds of tools, from Excel plugins, financial mathematics libraries, test suites, apps to a full-fledged IDE for our own programming language ThetaML. During this work, we found that many developers in our community struggle with maintaining their applications. The developers fix a bug or implement a new requirement and suddenly, a seemingly unrelated feature of the application breaks.

Unit Testing is part of the solution

There should be an easy answer: testing. From the large projects we completed at Thetaris, we know that Unit-Tests are part of the solution. They are quick and can be used to automatically stop bugs from entering the code case. But they are not sufficient. The applications still break.

Manual testing is mandatory

Manual testing is an expensive and time-consuming solution. However, it works. The testers identify not only functional issues, but also UX glitches and text typos. Consequently, testers need the focus of attention. The testers should be enabled to maintain their own automated tests. Over the years, we tried many different approaches to reach this goal.

Selenium-Python, Cucumber

I thought, why not make my testers to QA engineers. We created a Python library which uses a simple language such that test cases are easy to understand and easy to extend. In other projects we used Cucumber, a simple language to make test cases easy to understand. Both approaches delivered the same result: A QA engineer is required for the language definition and testers can run tests. In some cases, tester can add test themselves. But, usually, they need a developer again who changes some of the application code.

Visual Testing

Why would that be? Why can testers not just test the software without knowledge of the internal workings? I thought that a manual tester uses the User Interface, only. This must be completely sufficient to write automated tests using the UI. Using my computer vision experiences, I created a prototype in Python to provide a proof of concept for a visual test automation. It worked surprisingly well. No inner knowledge of the application was necessary anymore.

Testing in Cloud

Another main issue testers face when running automated tests is the constantly changing infrastructure: E.g. Google Chrome gets an update and the Selenium Driver breaks. The connection of the native app using Appium on the local desk is another constant source of issues. Working in the cloud with Browserstack for native devices and Mabl for websites shows that testing belongs in the cloud. Testers are more productive and happier when they do not have to care about the test system infrastructure.

Simplicity

The last missing piece to a wide acceptance of test tools by testers is simplicity. I am lucky that my Co-founder is a UX nerd. During the development of our own test platform, Stefan included iteration after iteration to minimize the required user interaction for test recording. Minimizing the decisions a user has to make, we are also minimizing errors the user can do. We constantly collect feedback from new users of our application and simplify it further.

Putting it all together: Testup

Now, we have put it all together in the Testup project: Visual Testing using Computer Vision, Infrastructure in the Cloud and Simplicity by No-Code test creation. The effort is fruitful: Test are easy to create, easy to ready and easy to change. The next step is the version 0.9 which we will release in a few days with an open beta. We are looking forward to your feedback!