Manual functional testing in Salesforce focuses on validating the application's features and workflows to ensure they perform as expected. Here's how to perform Salesforce manual functional testing effectively:
1. Understand the Functional Requirements
- Gather Requirements: Review user stories, functional specifications, and acceptance criteria.
- Identify Key Features: Understand Salesforce features like Leads, Contacts, Accounts, Opportunities, Cases, Reports, and Dashboards.
- Understand Customizations: Identify workflows, custom objects, validation rules, and Apex triggers that need testing.
2. Create Test Scenarios and Test Cases
- Write Test Scenarios:
- Identify real-world scenarios based on user workflows.
- Example: "Create a new Opportunity and associate it with an existing Account."
- Prepare Test Cases:
- Write detailed, step-by-step test cases for each scenario.
- Include preconditions, test data, test steps, and expected results.
- Example:
- Test Case Name: Verify Opportunity Creation
- Steps:
- Log in as a Sales User.
- Navigate to the "Opportunities" tab.
- Click "New Opportunity" and fill in the required fields (Name, Account, Close Date, etc.).
- Save the Opportunity.
- Expected Result: The Opportunity is created and linked to the Account.
3. Set Up the Test Environment
- Use a sandbox environment that mirrors production.
- Configure user roles, profiles, and permissions.
- Load test data using tools like Salesforce Data Loader or Workbench.
4. Perform Functional Testing
Standard Functionality Testing
- Leads, Accounts, and Contacts:
- Verify creation, modification, and deletion of records.
- Check lead conversion functionality.
- Opportunities and Cases:
- Test opportunity stage updates and sales pipeline management.
- Validate case lifecycle from creation to closure.
- Reports and Dashboards:
- Ensure reports show accurate data.
- Test filters and grouping functionality in dashboards.
Custom Functionality Testing
- Validation Rules: Check if validation rules trigger the correct error messages when criteria aren't met.
- Workflows and Approval Processes: Validate automated workflows, email notifications, and approval steps.
- Custom Objects: Ensure custom objects behave as expected, including field dependencies and relationships.
- Apex Triggers: Test custom logic implemented in triggers.
Role-Based Testing
- Test functionalities based on user roles and profiles to ensure proper access control:
- Example: Sales Users can view and edit opportunities; Marketing Users cannot.
Integration Testing
- Test integrations with third-party systems like email platforms, payment gateways, or ERP systems.
- Validate data synchronization and API calls.
Mobile Testing
- Test Salesforce functionality on mobile devices using the Salesforce mobile app.
5. Log and Track Defects
- Record defects in a defect management tool (e.g., Jira, Bugzilla).
- Provide clear descriptions, reproduction steps, and screenshots.
- Example:
- Defect: The validation rule was not triggered for the missing close date.
- Steps to Reproduce: Create a new opportunity without entering a close date.
- Expected Result: An error message should appear.
6. Perform Regression Testing
- Re-test affected areas after bug fixes to ensure no new issues are introduced.
7. Document Test Results
- Record test execution results (Pass/Fail).
- Highlight key findings and share them with stakeholders.
8. Final Validation
- Perform a sanity check in the staging environment.
- Ensure all workflows and integrations function as expected before deployment.
Example Test Cases
Test Case ID | Test Scenario | Steps | Expected Result |
---|---|---|---|
TC001 | Create a new Lead | 1. Log in. 2. Navigate to "Leads". 3. Click "New". 4. Enter details. 5. Save. | New Lead is created successfully. |
TC002 | Verify Lead Conversion | 1. Open a Lead. 2. Click "Convert". 3. Confirm details. | Lead is converted to Contact/Account and Opportunity. |
TC003 | Validate Opportunity Stages | 1. Open an Opportunity. 2. Change the stage. | Stage changes will be updated as per the sales process configuration. |
TC004 | Validate Dashboard Filters | 1. Open a Dashboard. 2. Apply a filter. | The dashboard reflects correct data based on the applied filter. |
Best Practices
- Prioritize high-impact functionalities for testing.
- Test using realistic data to mimic actual user scenarios.
- Communicate frequently with Salesforce admins and developers to understand configurations.
- Use a combination of positive and negative test cases.
Following these steps will allow you to systematically validate Salesforce's functional features and ensure its reliability for end users.