ServiceNow Automated Test Framework: Roles, Responsibilities and RACI
Roles in Automated Testing
Automated testing requires: Test Developers (who write test scripts and maintain the framework), Quality Assurance Leads (who define test strategy and prioritize), Platform Owners (who ensure tests run against stable instances), and Project Managers (who track testing progress and flag issues). Each role has distinct responsibilities, and clarity prevents bottlenecks.
Core Roles and Responsibilities
Test Developer: writes and maintains test scripts using ServiceNow’s automated test framework; executes tests; reports results and failures. Requires technical skills (scripting, debugging) and deep knowledge of what you are testing.
QA Lead: defines what to test (which workflows, which edge cases); prioritizes tests (which must run daily, which weekly); reviews test results and decides if builds are ready to deploy. Requires domain knowledge (what is critical to test?) and business judgment.
Platform Owner: ensures instances for testing (dev, staging) are stable and data is refreshed regularly; investigates infrastructure issues that prevent tests from running; coordinates instance maintenance windows.
Project Manager: tracks test progress (how many tests pass/fail?), communicates status to stakeholders, identifies blockers, and reports go/no-go decisions for releases.
RACI Matrix for Testing Activities
| Activity | Test Developer | QA Lead | Platform Owner | Project Manager |
|---|---|---|---|---|
| Define test cases | Consult | Responsible | Consult | Informed |
| Write test scripts | Responsible | Review | Informed | Informed |
| Execute tests | Responsible | Informed | Supported by | Informed |
| Report results | Responsible | Review | Informed | Reports to |
| Investigate failures | Responsible | Escalates | Supports | Informed |
| Approve build for deployment | Informed | Accountable | Consult | Accountable |
Decision Rights and Escalation
Test Developer decides: which script is failing and why. QA Lead decides: is the failure a blocker (testing cannot proceed), or can it be worked around? Are we ready to deploy? Platform Owner decides: is an infrastructure issue preventing tests? When is the next maintenance window? Project Manager decides: go/no-go for release based on test results.
Escalation: if a test developer cannot fix a failing test, they escalate to the QA Lead. If the failure is infrastructure-related, escalate to Platform Owner. If tests are blocking a release decision, escalate to Project Manager or executive sponsor.
Key Principles
Ownership: each test script should have an owner (usually a test developer) responsible for maintaining it as the system changes. As the application changes, tests must be updated. Lack of ownership leads to tests becoming stale and useless.
Transparency: test results are visible to all stakeholders. Daily test reports show pass/fail status. Anyone can see which tests are failing and why. Transparency builds confidence in the test suite.
Accountability: if tests fail, someone is accountable for investigating and fixing. It should not be a shared responsibility that everyone ignores. Assign explicitly.
Common Ownership Issues and Fixes
Issue: tests are written by a contractor who leaves, and no one understands the test code. Fix: pair the contractor with an internal person. Require code documentation. Have internal person run and maintain tests before contractor leaves. Issue: test framework is owned by one person who handles all requests. Fix: distribute ownership: different test developers own different modules. Have cross-training so more than one person understands each area.
Ownership and Accountability
Assign each test script to an owner (usually a test developer) responsible for maintenance. As the application changes, tests must be updated. Without explicit ownership, tests become stale and useless. Rotate ownership to avoid bottlenecks: if only one person understands a test, they become a single point of failure.
Track test metrics and trends: pass rate, execution time, failure reasons. Use these to identify weak areas and allocate maintenance effort. A test that fails often needs immediate attention (it is either flaky or catching a real bug).
Communicating Test Results
Test results must be visible and understandable. Daily test reports show pass/fail status, execution time, and failure reasons. If tests fail, reports should include: which test failed, what was it testing, what was the error, and who should investigate. Transparency builds confidence in automation; hidden failures erode trust.
Framework Governance and Maintenance
Automated test frameworks require ongoing governance and maintenance. Establish clear standards for test naming, documentation, and structure so tests are consistent and understandable. Review and update tests when application features change or when tests become flaky. Schedule regular framework upgrades to keep the test tools and libraries current. Deprecated tests should be removed rather than left abandoned; stale tests create confusion and noise.
Training and Knowledge Transfer
Test developers need training on the framework, the application being tested, and best practices for test design. Knowledge transfer should happen gradually through pair programming and code reviews, not as a one-time training session. New team members should start with small tests and graduate to more complex scenarios. Regular retrospectives help the team learn from test failures and improve the framework continuously.
Where a steady-state RACI stops working
A RACI chart describes who does what on a normal day. It says much less about who decides when a suite turns red thirty minutes before a change window closes, or when the one person who understands a module is on leave. Those are the moments when test ownership either holds or quietly breaks, and many charts were never written with them in mind. The section below adds the roles and decisions that only appear under pressure, so the team has an answer ready before it needs one.
Two roles are worth naming explicitly even when a team is small. The first is a test steward for each suite, the person who answers questions about what the suite checks and whether a failure is credible. The second is a release gate decision holder, the single person who can accept a failing gate with a recorded reason. Without the second role, a failing suite tends to be overridden informally by whichever attendee holds the most seniority.
Decisions that need a named holder on release day
The table below lists decisions that arise during a release and the holder who should make each one. Where two people appear, the first is the decision maker and the second is the person who must be consulted before the decision is taken.
| Decision on release day | Decision holder | Consulted before deciding | Written down as |
|---|---|---|---|
| Is this failure a product defect or a test defect? | Test steward for the suite | The developer who changed the configuration | Failure label and a one-line reason |
| Can a red test be parked so the release can proceed? | Release gate decision holder | Service owner for the affected process | Exception record with scope and expiry |
| Should the instance be restored to an earlier state? | Platform owner | Release manager and the business sponsor | Change record linked to the incident |
| Is the test environment fit to judge the release at all? | Platform owner | QA lead | Environment status note in the release record |
A triage sequence the whole team can follow
When a gate fails under time pressure, people tend to start with the code. A more useful order starts with the evidence and works outward, because it rules out cheap explanations before anyone spends an hour on the wrong one.
- Confirm the run belongs to the build being judged. A result from an earlier build is a common cause of confusion.
- Check the environment state for the run: instance health, recent refreshes, and any maintenance window that overlapped the run.
- Read the failing step and its evidence, and decide whether it is a test problem or a product problem using the failure labels the team has agreed.
- If it is a product problem, notify the developer who made the change and the service owner, and hold the gate.
- If it is a test problem, the test steward decides whether to repair, quarantine or retire it, and records the reason.
- Pass the decision to the gate decision holder with the evidence attached, rather than discussing it in an open channel.
Handover and cover arrangements
Many ownership failures are not disputes. They come from a person leaving, changing team or going on leave while a suite they alone understood is still in use. A handover note is not enough on its own, because it records what the person remembers rather than what the suite actually depends on. Before a steward changes, walk the suite with the incoming steward, have them run it on a non-production instance, and have them repair one failing test together. That is slower than a document, but it is the version that tends to work.
Give every suite a named deputy as well as a steward. The deputy does not need to know every detail, but must be able to read the evidence, decide whether a failure is credible and reach the steward. Rotating deputies every so often spreads the knowledge without losing continuity.
Common role conflicts and how to resolve them
- One person is both the test steward and the gate decision holder for the same suite. Split the roles where possible, or record the exception and have a second person countersign any parked failure.
- Developers repair tests after changing the configuration they check, and quietly weaken the assertion to get green. Require the steward to review any change to an assertion, whoever made it.
- Nobody owns the quarantine list. Name the QA lead as the owner and review the list at every cycle, with an expiry date on each entry.
- The platform owner is treated as the default for every instance question, including ones that belong to the release manager. Write down which questions belong to which role.
Questions about roles that come up in practice
Can a developer be the test steward for a suite covering their own module?
It is allowed but risky. The developer knows the behavior well, which helps, but also tends to read a failing test as a test error when it may be a real change they did not expect. Where possible, pair the developer with a steward from QA who holds the sign-off for assertions.
How many roles should one person hold on a small team?
Enough that the release gate can still be decided without the same person deciding both the failure label and the exception. On a very small team that may mean one person in each role with a second person checking the exceptions, rather than a larger org chart.
What should happen to a suite whose steward has left and no deputy exists?
Treat it as unowned. Run it in reporting mode only, so that it does not hold up a release it cannot be trusted to judge, and assign a new steward before it returns to the gate.
Does the RACI need to be reviewed after each release?
Review the release-day decisions after each release rather than the chart itself. Where the same decision caused confusion twice, the chart needs a change. Where it worked smoothly, leave it alone.
Where decision rights are still blurry, a conversation can often settle them.
The governance model for ATF sets the standing structure these roles sit inside, and the change validation evidence article explains what a validation record should contain. For the access side of steward and deputy accounts, the access design notes describe how access should be role-based, and the access recertification article describes how those permissions are reviewed.
Frequently asked questions
Who should own the automated test framework?
A QA or Platform team should own it, not individual developers. The team should have multiple test developers (at least 2-3) so no single person is a bottleneck. A QA lead should define strategy and priorities.
Can developers write their own tests?
Developers can write unit tests for their own code (good practice). But for integration and end-to-end tests, a dedicated QA team is better; they have the bandwidth and expertise to cover broader scenarios.
How long should tests take to run?
Unit tests are typically quick. Integration tests take longer, and end-to-end tests take longer still. If tests take hours, prioritize which tests must run on every build (critical path) vs. which run nightly or weekly.
Related guides
Related Oblytech services
Where this topic turns into delivery work, these are the Oblytech services that cover it.
Planning, running or fixing a ServiceNow programme? Tell us where you are and we will suggest a sensible next step.
Contact us