-
Notifications
You must be signed in to change notification settings - Fork 1
Automated Testing
Automated UI testing is a method of testing the UI of an application. It is a very popular practice in agile development. Its purpose is to increase the effectiveness and efficiency of testing by saving time and effort. Automated UI testing is also known as GUI testing.
Automated UI testing is used as an alternative to manual UI testing and is always preferable to manual testing. Automated UI testing is also a good way to perform regression testing.
Automated UI testing tools like Selenium are very useful for performing automated testing. It provides a runtime environment for automating web applications. Selenium tests can be written in any programming language that can run in the Java Virtual Machine. It also provides support for multiple browsers (Firefox, IE, Chrome and Safari) and operating systems (Windows, Linux and Mac OS X).
Automated testing of UI has many advantages. It is useful to test the application in a repeatable way. A large number of tests can be run and used for regression testing. Automated UI testing is much faster than manual testing. You can easily see the differences in the output of the application. Maintaining the tests is easy.
Automated UI testing is not without its drawbacks. In some cases, it is difficult to automate UI tests. UI tests can be buggy. It is difficult to automate the tests using Selenium.
Summary:
UI testing is valuable to the quality of your software. Automated UI testing is the best way to quickly and efficiently run tests against the UI to ensure functionality. Use automated UI testing to automate manual tests and integration testing into the build. If a test fails, the developer can then determine if it is a UI or a code issue.
UI testing does not have to be time consuming. You can develop your automation using the same tools you use to develop your application. As a best practice, your automated tests should be run as part of your build process.
Resources:
http://msdn.microsoft.com/en-us/library/aa231173.aspx
http://www.programgood.net/PermaLink,guid,a712b1d1-c9d8-4d7a-a6f0-7d99b1e02c2a.aspx
http://ramblingcookiemonster.wordpress.com/2010/07/06/automating-ui-tests-in-the-real-world/
http://www.microsoft.com/en-us/download/details.aspx?id=27224
http://msdn.microsoft.com/en-us/library/ms235331.aspx
http://www.microsoft.com/en-us/download/details.aspx?id=40264
http://blogs.msdn.com/b/windows-azure/archive/2011/02/08/automated-testing-windows-azure-apps.aspx
http://msdn.microsoft.com/en-us/library/hh420563.aspx
http://msdn.microsoft.com/en-us/library/ms178139.aspx
The following steps should be followed to perform automated UI testing:
- Define the UI Test case
The first step is to define the UI test cases. The UI test cases are written in the form of a test script. Each test case includes a test description, test steps, expected results, and actual results.
- Recording of test steps
The test steps are recorded. The tests are recorded using a recording tool. The recorded test steps are then used to run the test case.
- Identification of UI test tools
The test steps are then converted into a test script using a test tool. The test tool is used to record and play the test steps.
- Execution of automated UI tests
The automated UI tests are then executed. The automated UI tests are executed on a testing machine. The automated UI tests should be executed on the same machine where the application under test is being executed.
- Test result analysis
The test results are analyzed after the execution of the test. The test results are analyzed for defects, exceptions, and failures. The test results are also analyzed for performance and stability.
- Post-test activities
All the defects identified in the test results are corrected. The defects are corrected manually.
This presentation will cover the basic UI automation procedures, the tools used for automated testing, and the advantages and disadvantages of automated UI testing.
- Selenium - open-source project from the Selenium Project
- Puppeteer - Google open-source project
- Koa.js - user-friendly Node.js framework for building web applications
- Playwright - open-source free tool for automated testing
- Testim - automated UI test tool to make tests for the web
- Cypress - UI testing for modern browsers and Node.js applications
- Robotframework - open-source framework for acceptance testing