I finished the Automated Test Framework(ATF) Fundamentals course provided by ServiceNow and would like to share a basic overview of ATF what I learned in our company.
ATF is ServiceNow’s framework for test automation. It is an application that allows users to run automated tests on ServiceNow instances to make sure that your instance still works after changes. You can verify ServiceNow applications and any customizations you have created within those applications.
The important elements used to develop ATF testing include:
Test Suite - is a collection of tests that run in a specific order. Test suites created to test an application or a group of related features. You can create a Schedule Test Suite and determine the run frequency. Possibilities are Daily, Weekly, Monthly, Periodically, Once, and On-Demand.
Test - is a collection of automated test steps that verify some functionality or feature.
Test Step - is a single action, such as impersonating a user, opening a form, or validating a field value.
Why use ATF to test your instance?
ATF reduces upgrade and development time by replacing manual testing with automated testing. After running tests, check detailed results. Review failed tests to identify what caused the failure. Automated Test Framework increases productivity, is easy to use, and has better test accuracy.
"Prior to ATF, it was taking us about two to four weeks to verify a patch and one to four months to verify a major upgrade. Almost half of that time was spent on manual testing. It was an endless cycle from one upgrade to the next."
- Mary Williams, ServiceNow Project Manager
Design tests once and reuse them in different contexts and with different test data sets.
The schedule test suite runs.
Keep test instances clean by rolling backtest data and changes made after each test run.
Create test suites to organize and run tests in batches.
Enable non-technical test designers to create tests of standard Now Platform functionality.
Reduce time to test design by copying quick start tests and test suites.
Create custom test steps to expand test coverage.
Important! Run tests only on development, test, and other non-production instances to avoid data corruption and outage.