QA Strategy for Salesforce Projects

A well-defined QA strategy is vital for ensuring the quality and success of any project. In Salesforce projects, testing can sometimes be undervalued compared to other project phases. However, inadequate test planning can lead to higher failures in UAT testing, increased requirement gaps, and the late discovery of issues, all of which can inflate the budget, compromise quality, and extend delivery timelines.  

QA STRATEGY CONSIDERATIONS

The QA strategy should be tailored to the project’s complexities and customizations, but certain practices are universally essential for integrating quality assurance into project planning. 

EARLY INVOLVEMENT OF QA IN PROJECT PLANNING

QA team members should ideally be involved from Sprint 0. Their responsibilities include understanding the project and business expectations, drafting the QA planning and strategy document, and defining QA roles and ownership throughout the project delivery lifecycle.

TEST CASE MANAGEMENT TOOLS

Selecting an appropriate test management tool is crucial. This tool, used for test case management and requirement tracking, should be compatible with project management tools. The selection process may involve comparing different tools and conducting a cost-benefit analysis. 

DEFINING TEST PLANNING AND QA PROCESS

This phase involves setting basic principles once a user story moves to the Validation phase and is signed off by the team. Key tasks include: 

  • Establishing the handover process and assignees for user stories ready for validation. 
  • Mapping test cases to each acceptance criteria defined in user stories. 
  • Defining statuses for user stories (passed, failed, or blocked) during test execution. 
  • Defect Management process to detail how P1 and blocker issues will be highlighted and notified. 
  • Identifying test data required for testing. 

TESTING TECHNIQUES

Testing techniques will vary based on project needs and customizations, and can be categorized in broader categories as: 

  • Functional Testing: QA validates each user story’s acceptance criteria. 
  • System Testing: End-to-end testing performed in parallel with functional testing to validate business processes and ensure no adverse impacts or conflicts among delivered user stories. 
  • UAT Smoke/Sanity Testing: High-level testing in a UAT environment post-deployment to ensure system stability and address environment-specific issues. 
  • Integration Testing: This is performed when your application is integrated to any external application via P2P or using middleware. 
  • Load Testing: This is aimed to validate salesforce automations with bulk data to validate governor & API limits.  

QA ESTIMATIONS AND EFFORT MEASUREMENT

QA effort estimation should be a standard exercise in defining project timelines. This estimation can be done for each sprint or individual user story, with the QA lead/manager providing ballpark figures for the QA team. Documentation to specify how QA team members log their effort for each task or user story.

QA GOVERNANCE AND IMPROVEMENTS

QA team members should participate in sprint ceremonies, including sprint retrospectives. Conducting bug clustering exercises can help identify application areas with recent failures or nature of issues, such as identification of issues as coding or deployment issues. Common RCA categories include Requirement Gap, Config Issue, Coding Issue, Deployment Issue, Wrong Test Data, New Requirement, and Expected Behavior. 

TEST AUTOMATION

Establishing an effective test automation strategy for continuous regression is crucial to ensure that each production build undergoes thorough regression testing and that the QA team reviews and trusts the test execution reports. Additionally, the team must identify the right automation tool and framework based on project requirements and provide accurate estimations for scripting and maintenance. 

UAT PLANNING AND OWNERSHIP

UAT scripts, created by client business experts, differ from QA team test scripts. While QA scripts validate requirements tracked as user stories (covering all positive, negative, and edge case scenarios), UAT scripts validate system capabilities according to business rules. QA team leads/managers can assist customers with UAT script preparation and commencement. Early discussions in the project phases are crucial to clarify stakeholder roles and responsibilities. 

Summary

Developing a robust test strategy is essential for project success. Involving QA in every phase of the project enhances overall delivery quality, helps meet delivery timelines, and enables early detection and resolution of issues, improving the project’s health. Each project has unique testing requirements, necessitating thorough discussions to tailor an effective QA strategy based on specific project needs. 

Author

Mayur Vats