Business Analyst Academy
Module 12: Testing & UAT
Core · 90 minutes

Jump to section

Module 12 Core 90 minutes BA Fundamentals

Testing & UAT

BA Academy — self-paced module

What you'll be able to do

By the end of this module, you will be able to:

Section 1

Where We Are in the Lifecycle

The build is underway or complete. Before anything reaches production, the project enters its confirmation work: demonstrating what was built, testing it from every angle, and securing the client's formal agreement that it is ready. In the generic lifecycle this course uses, this is the Test phase, sitting between Build and Deploy. It is also, for many BAs, the phase where they are most visibly in charge: quality confirmation is BA home territory.

Section 2

Demos: Showing the Work

Testing begins with showing. Demos are how the team regularly proves progress and collects feedback, and the BA is very often the person driving them (as Module 10 noted, the sprint review is frequently your show).

Foundations of a Great Demo

Four practices separate a confident demo from a fumbling one:

Sprint Demo vs. End-to-End Demo

Sprint Demo End-to-End Demo
Purpose Showcase completed user stories from the current sprint Validate complete functionality across multiple sprints
Audience Internal team, product owner, some stakeholders Broader stakeholder group, including business leaders and end users
Focus Features developed; demonstrate functionality, gather refinement feedback Full integrated features; cover the end-to-end process
Frequency End of each sprint (1-4 weeks) Before major releases, or after several sprint cycles
Goal Validate the sprint's outcome; ensure alignment with business requirements Ensure the product meets business objectives and is ready for release

The distinction matters because the two demos answer different questions: "did we build these stories right?" versus "does the whole thing hang together as a business process?" Confuse them and you either bore executives with story-level detail or skip the integration proof the release decision needs.

Section 3

Verification vs. Validation

Two words that sound alike and mean crucially different things:

A solution can pass verification and fail validation: built exactly to spec, and the spec missed the point. This is why BAs sit at the heart of testing: you carry the context of what stakeholders actually meant (you were in the room in Module 3), so you can catch the gap between "matches the ticket" and "solves the problem." Keep both questions alive through every testing cycle.

Section 4

The BA's Quality Assurance Role

A thorough QA process solidifies trust and increases user adoption. BAs play a critical role in ensuring a Salesforce implementation's quality: validating that the system meets business needs, functions correctly, and delivers value. The groundwork starts long before test execution:

Try to Break the System

Here is the mindset shift that makes testers valuable: the best way to identify potential issues is to actively look for ways the system can fail. Do not just verify that things work as expected; attack the solution with incorrect inputs, unexpected actions, and extreme use cases:

The goal is to uncover weaknesses and edge cases real users will eventually hit, on your schedule instead of theirs.

Test as Different Personas

Salesforce's layered permissions (Module 7) mean the system behaves differently for every role, so testing must cover all perspectives:

Testing across roles is how you catch security gaps, permission issues, and missing functionality that single-persona testing sails past. Practically, this means logging in as test users for each persona: your Module 7 security matrix doubles as the persona list.

Section 5

The Testing Framework: Positive, Negative, Edge

Structure every story's tests in three bands:

Positive testing (expected scenarios): create, update, and delete records as intended; confirm dashboards and reports display correct data; verify automations trigger under normal conditions.

Negative testing (error handling): enter incorrect or incomplete data: does the system prevent bad entry? Delete a restricted record: does the system stop it? Access a report without permission: is it blocked?

Edge case testing (unusual scenarios): import 10,000+ leads at once: does the system slow or fail? Assign the same lead to multiple users: duplication or overwrite issues? What happens when an approval request sits pending too long?

These bands ensure the system handles the unexpected gracefully instead of breaking. If the structure feels familiar, it should: it mirrors the acceptance criteria formats from Module 4, where you learned to write negative scenarios into the definition of done. Testing is where those criteria get cashed.

Worked Example: Testing the WellCare Stories

Return to the WellCare Solutions case study (Module 4). You wrote user stories and acceptance criteria; now design their tests. Two worked solutions:

Story: Lead Tracking (sales rep tracks leads and sees their stage):

Story: Contract Renewal Alert (rep notified 90/60/30 days before expiration):

Study the pattern: every acceptance criterion generated at least one positive test, and the negative and edge tests came from asking "how could this go wrong?" against each criterion. That question, asked systematically, is test design.

Section 6

The Types of Testing

Six testing types appear on a typical project, each with an owner:

Test Type Responsibility Description
Unit testing Developer Test functionality as it is developed, improving until it fulfills the predetermined requirements
QA testing QA team Conducted in a dedicated QA environment; verifies the solution works as expected technically and functionally
Systems Integration Testing (SIT) Technical Architect Tests interactions between systems end-to-end; ensures all components integrate correctly
Data validation Client team, guided by the delivery team Ensures migrated data meets requirements and design: structures, calculations, and values functioning correctly. Completed before UAT begins
User Acceptance Testing (UAT) End users Users test the application against business-case scenarios to confirm it aligns with requirements and design
Regression testing Everyone Verifies previously tested functionality still works after fixes, configuration changes, or new functionality

Two rows deserve underlining. Data validation must finish before UAT starts: testers who find garbage data stop trusting the system, and UAT becomes an argument about data instead of functionality. And regression testing belongs to everyone, always: every fix is a chance to break something that used to work (recall the order-of-execution interactions from Module 11).

Section 7

Test Scripts

Test scripts support a consistent and thorough testing process: they guide users through a predefined series of steps to verify the system functions as expected, ensure comprehensive coverage, and document accurate results.

The key components of a test script:

Write test steps for a person who has never seen the system, because in UAT, that is exactly who executes them. "Create a lead" is not a step; "Click New on the Leads tab, enter the required fields, click Save" is.

The Testing Loop and the RTM

Testing is a cycle, not a gate: from documented requirement, to acceptance criteria (the shared definition of done), to test scripts written in partnership with the client, to tests performed, feedback given, changes made, and tests reinitiated: the cycle continuing until acceptance criteria are met. Throughout, the Requirements Traceability Matrix records results, linking each requirement to its test scripts and outcomes so nothing slips through the cracks. The BA typically helps plan those testing activities, identifying test scripts and test data, and keeps the RTM current as evidence accumulates. When the go/no-go conversation arrives (Module 14), that RTM is the receipt you hand the decision-makers.

Section 8

User Acceptance Testing

What UAT Is

UAT is end-user testing performed in a sandbox or test environment to verify that a project or enhancement works as intended, and that what was originally requested is actually being delivered. It is the last stage before go-live: after the technology team's own QA passes, the business gets its hands on the system, executes test cases, and rules pass or fail. In the words of a Salesforce business analysis director: think of it as the last chance, the final due diligence before production, and the formal certification that the system is sufficient for business use.

UAT matters for three reasons:

  1. It confirms the delivered solution aligns with the defined business requirements
  2. It gives users hands-on familiarity with the new system before go-live (secretly, UAT is also early training)
  3. It produces the client's formal sign-off that the solution is ready for production

And a fourth, sobering reason from the practitioner interview: UAT is where the business catches what everyone else missed. The BA is imperative here precisely because BAs understand the functionality and the intention of the system: they carry the project context from requirements onward, and their detail orientation uncovers problems a testing specialist parachuted in at the end would never see. UAT is not uniquely a Salesforce practice, either: any technology project ends with the business saying "yes, this works, we are ready."

The BA's UAT Responsibilities

Drawn from both the source curriculum and practicing BA leaders, the BA typically:

  • Identifies the UAT testers (business stakeholders, end users, sometimes IT) and assigns test cases
  • Writes the UAT test scripts, and gets written stakeholder confirmation that the scripts cover all expectations
  • Validates the environment and data are ready: the right sandbox, realistic test data, and test scripts pre-validated against user permissions (nothing derails day one like testers who cannot log in or see the objects they are testing)
  • Trains and introduces testers to the system and the testing process
  • Facilitates throughout: coordinating schedules, running status cadences, triaging questions
  • Documents progress, failures, and solution updates, keeping the RTM current
  • Tests key functionality personally, across the project's personas
  • Secures the official written sign-off from business stakeholders before deployment

One human note from the source material worth taking to heart: testers might be brand new to the system. Patience is key. A UAT tester who feels stupid stops reporting problems, and silent testers are how broken systems reach production.

The UAT Process Map

The full path, from readiness to sign-off:

  1. Prerequisites: requirement documented, acceptance criteria established, test scripts written
  2. UAT prep: identify participants, assign test cases, deliver UAT training, pre-validate test scripts against user permissions
  3. UAT begins: tests are performed
  4. Each test either passes or fails. Failures are logged as issues, fixed in the development environment through standard processes, and retested
  5. UAT ends when all test scripts pass
  6. Client sign-off: the solution is ready for production
A Practical UAT Prep Checklist

From the practitioner playbook, the prep that makes UAT succeed:

  • Identify resources and testers
  • Create a dedicated communication channel for the UAT period, with an agreed cadence of status updates
  • Build the UAT schedule: kickoff? daily standups or triage meetings? end-of-UAT roundup?
  • Establish the process for reporting bugs and asking questions before testing starts
  • Create the test scenarios and detailed test steps
  • Validate the sandbox and confirm test data is ready
  • Plan the closing roundup meeting where results are reviewed and sign-off is confirmed

Preparation is the recurring theme: in the words of the practitioner interview, tons of prep leads to a successful UAT. By the time testers touch keyboards, a well-run UAT is mostly already decided.

Section 9

Issues, Bugs, and Prioritization

Issues vs. Enhancements

The single most contentious distinction in any UAT, so define it before testing starts:

  • Issue: any problem in existing functionality, or missing functionality that was in scope. Issues get fixed.
  • Enhancement: new functionality, or a change to previously approved functionality, falling outside the original scope. Enhancements go to the backlog and the change-control conversation (Module 16 covers scope management).

Without this line, UAT becomes a wishing well: every tester's "wouldn't it be nice if..." lands as a defect, the fix list balloons, and go-live slips. With the line, good ideas are captured respectfully (in the backlog) without holding the release hostage. Expect to invoke this distinction weekly, and expect pushback: the requirement documentation and RTM you have maintained since Module 4 are what make the conversation factual instead of political.

Issue-tracking discipline: BAs assist in tracking issues using the project's predetermined processes and tools; resolved issues are always retested; and all fixes happen in development environments following standard development processes: nobody hot-fixes production during UAT.

Logging Bugs Well

A bug report is a communication artifact, and its quality determines fix speed. Best practices:

  • Clear, concise title with a comprehensive description
  • Reproduction steps: the exact steps the tester took to produce the bug, as detailed as possible
  • Actual versus expected results, tied to the related user story
  • Environment and user details (which sandbox, which persona) for efficient debugging
  • Images, videos, and links: show, don't just tell
  • Severity and priority set at logging time

And while fixing bugs is usually the developer's task, the BA adds value before a bug ever reaches a developer: attempt to reproduce the issue consistently; verify user permissions and role-based access (an enormous share of "bugs" are actually permission behavior working as designed: your Module 7 knowledge earns its keep here); double-check the user's steps and conditions; and document additional evidence. A BA who filters and enriches bugs this way saves the team days of ping-pong.

Issue Severity

The standard prioritization scale:

Severity Description Examples
Critical Blocks a test script or scenario from progressing; without resolution, the configuration cannot be accepted into production Security or access failures; entire application, component, or function not working; severe data loss or corruption; a crucial requirement unaccommodated
High Major issue with source data or calculations; without resolution, the system cannot be accepted into production Incorrect data values versus the source; a non-critical process not matching current day-to-day operations; data validation fixes needed for in-flight data
Medium Does not conform to requirements, but a suitable workaround exists; acceptable to release into production Minor issues not blocking script execution; non-critical fields not showing; permission and access quirks
Low Minor issues with no impact on system usage Format inconsistencies; report layout details like color and formatting
Enhancement A change request outside predefined scope and requirements; does not affect functionality or data Requests to change the business process from what was defined during discovery

Severity drives the go-live conversation directly: criticals and highs block; mediums ship with workarounds and a fix plan; lows join the post-launch backlog. Which is exactly where the next module in the lifecycle picks up: deciding, with evidence in hand, whether you are ready to go live (Module 14).

Recap

Key Takeaways

📝

Knowledge Check

8 questions. Answer at your own pace, then check the explanation for each.

Question 1 of 8
A solution matches every specification exactly, yet users still cannot accomplish their real task. What has failed?
Correct answer: B. Built to spec but missing the need: verification passed, validation failed.
Question 2 of 8
Which is an example of negative testing?
Correct answer: C. Negative tests confirm the system correctly refuses wrong actions.
Question 3 of 8
Why must data validation complete before UAT begins?
Correct answer: B. Trust is UAT's currency; bad data spends it before functionality gets a fair hearing.
Question 4 of 8
During UAT, a tester requests a new field that was never discussed in discovery and is not in any approved requirement. This is:
Correct answer: C. Out-of-scope new functionality is an enhancement by definition: captured, not fixed mid-UAT.
Question 5 of 8
Which of the following belongs in a well-logged bug report?
Correct answer: B. A bug report is a communication artifact: reproduction, expectation gap, environment, evidence.
Question 6 of 8
An issue does not conform to requirements, but a suitable workaround exists and release is still acceptable. Its severity is:
Correct answer: C. Medium: non-conforming but workaround-viable and releasable.
Question 7 of 8
Which of these is a BA UAT responsibility, per the practitioner guidance in this module?
Correct answer: B. The BA runs the UAT machinery end to end; fixing and deploying belong to other roles.
Question 8 of 8
True or False: Before reporting a suspected bug to developers, a BA should attempt to reproduce it consistently and verify whether user permissions explain the behavior.
Correct answer: True. Reproduction plus permission-checking filters false alarms and speeds real fixes: many "bugs" are security working as designed.
🎉

Module 12 complete

Nice work. Review any question again using the menu (top right), or move on.

Continue to Module 13: BA as Trainer: Enablement & Change Communication →

1 / 1