Automated Test Framework (ATF) Interview Questions

What are the different types of testing ATF?

The types of testing targeted by ATF are listed below:
Functional business logic testing
Regression testing
Browser compatibility testing
Server-side Jasmine testing

What are the basic elements to develop ATF?

The important elements used to develop ATF testing include:
Test suites
Test steps

What do you mean by Test suites?

A Test suite groups tests together that are typically performed at the same time.
Test suites represent a grouping of one or more tests or other test suites.

Can we assign same Test in multiple Test suites?

Yes, the same test can be included within multiple test suites. However, a test suite can only be assigned one parent test suite.

What do you mean by Tests in ATF?

An ATF Test represents a set of actions and assertions to verify an expected end result.
Each action or assertion within the test is represented by an individual test step. Although there is no limit to the number of test steps contained within a test, it is typically better to create smaller focused tests, rather than larger broad tests.

Can a Test include both client and server actions and assertions?

Yes. A single test can include both client and server actions and assertions.
Test steps performed on the client simulate user interactions, such as opening a form. Test steps performed on the server execute in the background.

What do you mean by Test steps?

A test step represents a single action or assertion within a test.
A test step configuration defines the behavior and characteristics of each type of action or assertion.
For example: Create a user, opening a form, or validating a field value.

What is the use of “Create a User” Test Step?

It dynamically adds a new user, assigns it specified roles, and then impersonates the user.
Once a test completes, the user created is removed.

Which Test step is used to validate proper field values?

The Field Values Validation Test step is used to validate proper field values.

What are the three different roles available in ATF?

ATF development responsibilities can be carried out by three roles listed below:
Test Designer
Test Administrator
Web Service Tester

Which role is required to edit ATF System properties and create Test step configurations?

Test Administrator role is required to edit ATF System properties.

What functions does Web Service Tester role users perform?

Web Service Testers build web service tests. The role provides access to the web service modules required to facilitate test development. Typically, web service tests make use of REST/SOAP integration.

Can a Test run simultaneously at the same time in multiple Test suite?

Yes, A Test can run simultaneously at the same time in multiple Test suite. However, tests run within a test suite still run sequentially, one after the other.

Why ATF is not meant to run in ServiceNow production instance?

The ATF is not meant to run in ServiceNow production instance due to following reasons:

Running ATF Slows down the instance performance.
Notifications would be triggered form data changed by ATF Tests
Sensitive production data could be seen when impersonating a user
Audit history of data changes would remain even after data rollback

What do you mean by Quick start tests?

Quick Start Tests represents a small set of critical use cases that can be used as templates to build and customize Test and Test suites.
Quick start Tests are inactive, read-only templates. To use Quick Start Tests you have to first create a copy of the quick start test. Once the quick start test is copied, you can apply any desired changes and run the test.

What will be the issue if Run Test button is not available to run the Tests or Test suites on the Form?

You will have to check the below properties:

Enable test/test suite execution
Enable schedule test suite execution

Navigate to Automated Test Framework > Administration > Properties
At the top of the Automated Test Framework properties form, select Yes to Enable test/test suite execution. This allows ATF tests and test suites to run on the instance on-demand.
Select Yes to Enable schedule test suite execution. This allows ATF test suites to be scheduled, rather than just run on-demand. 

Note: User must contain one of the three ATF roles and not manually impersonated another user. Else the button will not be visible.

What is the use of Re-run Failed Tests button?

The button is used to execute the tests that were not performed during the last run.

What are the different tables excluded from rollback OOB?

Any records modified in the following tables are excluded from the rollback following a test run.

History [sys_history_line]
ECC Queue [ecc_queue]
Email [sys_email]
Email Log [sys_email_log]
Report Execution [report_executions]
Report Stats [report_stats]
or any table extending these tables

How can you exclude any table from rollback after a test run that is not excluded OOB?

Tables can be excluded from the rollback after a test run by adding an excludedFromRollback=true Attribute to their Collection record in System Definition > Dictionary.

What determines how the execution of a test is divided into batches?

Test run batches are determined by test step execution order and if test steps are executed on the client or the server.

What is the use of Abort on failure in Test?

If you specify Abort on failure as false on any Test, if the Tests fail, the test suite will continue and not abort.