Test Automation Review: ServiceNow ATF and Tosca
In this blog, Ali explores the differences between ServiceNow’s Automated Testing Framework (ATF) and Tricentis Tosca.
What is ServiceNow?
ServiceNow is a cloud-based software-out-of-service computing model that allows organizations to develop, run and manage applications. Being cloud-based, it can be used through any device with access to the web-browser, and using the bootstrap framework, the application is responsive regardless of device.
ServiceNow started as an IT Service Management Suite where users could manage incidents and problems, and has evolved to offering a variety of applications. It supports custom application development, enabling organizations to create applications to fit their needs and providing a way to have all their business processes under one system. On the ServiceNow platform, organizations can effectively manage and track incidents and problems and reduce the overall time it takes to resolve them. The result is an increase in productivity and ultimately a positive impact to the organization’s bottom line.
Incident Management
The primary objective for any ITSM tool is to restore service operation as soon as possible, minimizing adverse impact on business operations. With ServiceNow, users can create incident records with relative ease. Any user can create an incident by email, self-service, or service desk by completing an incident form.
Once an incident is created, it is assigned to a group or user. Typically, you would assign an incident to a group. For each incident created, ServiceNow will track and log the time it takes for users to respond and resolve the incident before Service Level Agreement (SLA) time is reached.
Incidents are classified by impact and urgency and priority of the incident is calculated accordingly. The SLA will vary depending on the priority of the incident, for instance, if an incident had high priority the SLA time to resolve the incident would be an hour. System Administrators can change SLA business rules and other application business rules as required. If there are several incidents that appear to have the same issue, Administrators might create a problem record to analyze and determine the root cause. For example, if multiple users are reporting issues with email, this may indicate a problem with the email servers. If an incident exposes an issue with the IT infrastructure, a change request can be submitted so modifications can be made to improve the system.
Problem Management
The main purpose of problem management is to maintain quality of service by identifying underlying errors within the IT infrastructure and reducing the recurrence of related incidents. In ServiceNow, a problem record can be created to aggregate related incidents. The problem record itself is very similar to the incident record form.
A problem record may have a number of tasks that need to be performed to resolve the issue. If we refer back to our previous example regarding the issue with the email server, in this case the user will create a problem task and assign it to network team to figure out the root cause of the issue. If there is workaround for the issue that can be implemented, the user can add instructions to the workaround field and once posted, can communicate workarounds to all callers of related incidents. If a problem record requires a change to infrastructure, this is where change management comes into play.
Change Management
Essentially, change management is a set of standardized methods and procedures to handle changes within organizational infrastructure to minimize adverse impact on IT services and improve the overall quality of services with an enhanced system. Through ServiceNow, organizations can manage and define the procedures required to implement changes. In the ServiceNow change application, users are provided three change types: standard, normal and emergency.
Standard changes are pre-approved changes that occur so frequently that they are considered low-risk. Emergency changes need to be implemented as soon as possible. Normal changes are not as urgent as emergency but not as low-risk as standard and require approval from management before they can implemented.
When a change request is required, the user will need to fill out the change request form in ServiceNow.
In the normal change process, once approval has been granted, IT personnel will be designated to the task. ServiceNow also offers scheduling features including an out-of-the-box workflow and risk assessment.
Automated Testing Framework Vs Tosca
ATF is a ServiceNow application to automate test for the platform. ATF can be used to test application navigators, forms, service portals, REST, service catalogs and servers. To create a new test, users will need to navigate to the Automated Test Framework. Since ATF is specifically designed to create automated tests for the ServiceNow platform, users do not need to identify the web elements of the test application (as is required with other testing tools). Using ATF, users simply select ‘add test step’, a dialog box appears and they select which steps they want to use for their test. Many tests start with an impersonate test step to ensure the correct roles are applied.
Users can also set up test templates, which is a reusable set of test steps to create test more efficiently. Tosca has a similar feature where users can create a library containing reusable test-step blocks for test-steps they would be using frequently.
ATF developers can schedule tests to run at a specific time and date. Scheduled test suites automatically run at the specified frequency and once finished executing, users on the watch list receive reports via email. ATF administrators can configure email reporting properties if desired. Users can schedule tests using Tosca, but they will need to integrate with Jenkins in order to do so.
Although Tosca is a versatile tool, I found it much easier to test ServiceNow using its own automated test framework. Using Tosca to test ServiceNow, I would have to create modules to identify the controls I wanted to use for the test and check the technical properties for those controls are unique and not dynamic so that the test itself would be low-maintenance. With the ServiceNow Automated Framework there is no need to identify the web-elements, streamlining the process. I found certain tables needed different methods to identify the contents and did not experience any issues verifying and validating data. To write the tests, I simply added test steps from the test-step list. However, using ATF, I would be limited to test only the features made available for testing in their test-step list, while with Tosca I have much more flexibility in what I want to test.
In Conclusion
As an ITSM tool, ServiceNow can effectively reduce the time it takes for resolving incidents and problems, help organizations effectively plan and quickly implement changes to their IT infrastructure without impeding business operations. By having its own automated framework, QA engineers will find it much easier to write and manage tests for applications. ServiceNow allows any organization to take its core service processes and systems and consolidate them in one standardized system to manage records and business activities. By doing so, associations can viably oversee and follow occurrences and issues using the ServiceNow ITSM Suite and resolve any disruptions with their IT services relatively quickly, which in turn expedites restoration of services and drives continual improvement and organizational growth.