Lesson 4 of 5
Role testing and user mapping at scale
11 min
Listen to this lesson
A role design proves itself only when real people, holding the new roles, can do their jobs and nothing more. At Contoso's scale (about 1,350 users, 120 business roles, three company codes soon to be four) that proof needs a plan: what is tested at which level, who maps every user to new roles, how mapping errors are caught before go-live, and how the evidence is kept.
Three levels of role testing
| Level | Who | Where | What it proves |
|---|---|---|---|
| Role unit test | Nadia's team | CMD unit test client | Each task role starts its apps and passes its own authorization checks, positive and negative |
| Business role test | Key users with role-based test users | CMQ | Each job can run its process steps end to end; out-of-role steps are refused |
| User acceptance with real mapping | Real users or their delegates | CMQ, with the planned user-to-role mapping loaded | Real people can do their real work with exactly the roles they will get |
Negative tests matter as much as positive ones. A role test that only shows the clerk can post an invoice says nothing about whether the clerk can also change the supplier's bank details. Contoso writes, for each high-risk SoD pair, one test that performs the allowed step and one that attempts the conflicting step and must be refused. Organizational negatives follow the same idea: the 1710 clerk tries to post in company code 1810 and must fail.
Tools for diagnosing failures
When a test fails with an authorization error, testers use the standard tools. SU53 shows the last failed authorization checks for a user, up to 100 checks from the last three hours. The system trace for authorization checks, STAUTHTRACE, records every object, field and value checked while a test is run in another session; ST01 can record authorization checks too. The User Information System compares users and roles and lists users by roles or authorization values. The result of a diagnosis is a decision in the design (should this role have that access?), not an automatic change.
- Test failsTester records the app, step and error message in the defect
- DiagnoseSU53 for the last failed check; trace if the cause is unclear
- DecideNadia and the process owner decide whether the role should have the access
- Fix in designCatalog, task role or derived values changed in CMD; SoD simulation rerun
- RetestPositive and negative tests rerun; defect closed with evidence
User-to-role mapping
Mapping decides which new business roles each of the 1,350 users gets. It is a business decision dressed as a technical task, and it is the most common source of go-live access problems: a user mapped to the wrong role cannot work, or can do too much. Contoso builds the mapping in three passes. First, a proposal is generated from legacy usage: which new business roles cover what each user actually did in the last 12 months. Second, managers review and correct their team's proposals in a workbook, because usage does not show planned job changes. Third, the corrected mapping is analyzed for SoD at user level and approved by the process owners.
- Build phase, month 1ProposalMapping proposal generated from legacy usage and the role design
- Month 2Manager reviewEach manager confirms or corrects every team member's roles
- Month 3Risk analysisUser-level SoD analysis; conflicts decided or mitigated
- Mock conversionsLoad and testMapping loaded into CMQ; UAT with real mapping; errors fixed
- Dress rehearsalTimed loadMass assignment rehearsed with timing for the cutover plan
- Go-live weekendProduction loadMapping loaded in CMP; reconciliation against the approved list
Testing at scale without testing everything
Nobody can test 1,350 users individually. Contoso tests every business role at the business role level, runs UAT with real mapping for the high-impact jobs, verifies critical individuals one by one (the payment run, shipping, period-end close), and reconciles the full mapping mechanically: every user in the approved list has exactly the approved roles in CMQ after each mock load, and the same reconciliation runs in CMP at go-live. Mapping changes after approval go through the access request process, so the approved list never drifts silently.
What would you do?
In the second mock conversion, the mapping reconciliation shows 37 users with roles that are not in the approved list. The go-live is five weeks away. What should Nadia do?
- Test roles at three levels: role unit, business role, and UAT with real mapping.
- Pair positive tests with negative tests for SoD and organizational boundaries.
- Diagnose with SU53, STAUTHTRACE or ST01 and the User Information System; fix in the design.
- Build mapping from usage, correct it with managers, analyze it for SoD, load and reconcile it in every mock.
- Spend verification effort by users affected and business impact.
Check your understanding · not graded
Lesson check
1. What does SU53 show?
2. Why pair positive role tests with negative tests?
3. Why do managers review the usage-based mapping proposal?
4. What does the mapping reconciliation compare?