What is Salesforce?
Salesforce (Company) is a Customer Relationship Management (CRM) platform.
What is Salesforce.com?
Salesforce.com is a cloud computing and social enterprise software-as-a-service (SaaS) provider.
What is Cloud Computing?
Cloud computing means storing and accessing data and programs over the Internet instead of your computer’s hard drive. The cloud is just a metaphor for the Internet.
Cloud based storage does not required a user to install any additional hardware or software for using the application. It allows the organizations to reduce the development cost and build applications within a short time frame.
Different types of Clouds
Public Cloud: Could services are provided “as a service” over the Internet with little or no control over the underlying technology infrastructure. More than one tenant can use the same resources.
Private Cloud: This also offers activities and functions “as a service” but is deployed over a company intranet or hosted data center. This is private product for a company or organization offering advance security.
Salesforce.com: Is a public cloud as it is hosted on salesforce.com data centers and data of more than one tenant resides on same servers.
Salesforce Services and products:
Salesforce has the below services and product for its Customer Relationship(CRM) platform.
- Sales Cloud
It supports sales, marketing and customer support in both B2B and B2C contexts. Sales Cloud helps track customer information and interactions in one place, automates complex business processes, keeps all information up to date, nurtures leads and tracks the effectiveness of marketing campaigns. Example: New York Life Insurance company to market the insurance products, to sale the its products to the customer, to track the customer information for respective insurance products.
Sales cloud diagram:
- Service Cloud
Is a service platform for customer service and support. It includes a call center-like case tracking feature and a social networking plug-in for conversation and analytics. Service Cloud helps agents solve customer problems faster, gives customers access to answers to solve problems on their own, helps personalize service, predicts needs, and helps deliver support to customers wherever they may be.
Features in Service Cloud include live agent, communities, LiveMessage, Snap-ins, Field Service Lightning, Omni Routing, and social customer service.
Example: New York insurance Company to track and resolve the customer issues, cases, service requests through call center, customer portal, communities using respective teams (Customer Service representative etc.)
Service Cloud Diagram
- Marketing Cloud
Helps personalize email marketing at scale; engage with mobile messaging; connect social to marketing, sales and service; manage ad campaigns to help with customer acquisition; deliver personalized web content that is efficient; and create 1-to-1 customer journeys across channels.
- Commerce Cloud
Formerly known as Demandware, is a cloud-based service unifying the way businesses engage with customers over any channel. Commerce Cloud allows businesses to manage digital commerce with integrated solutions for commerce, point of sale and order management. Commerce Cloud helps launch new sites, create new customer experiences, bring stores online and integrate partner technologies
- Analytics Cloud
Analytics Cloud or Salesforce Wave Analytics, is a business intelligence platform that allows organizations to instantly get important answers and start making data-driven decisions. Analytics allows users to act on data instantly, connect easily to Sales and Service cloud data, work from any device, analyze data for better insights, and utilize analytics apps for every function including sales, service, marketing, HR and IT.
- IoT Cloud
IoT Cloud is a platform in Salesforce.com that harnesses the power of the internet of things (IoT) and turns data generated by customers, devices, partners and sensors into meaningful action. It allows users to process massive quantities of data, build rules with intuitive tools and engage with customers in real time.
- App Cloud
App Cloud is a collection of development tools that allows developers to quickly create applications that will run on the Salesforce platform. App Cloud provides native integration, eliminating the need for IT. It allows users to build apps that integrate customer data for more engaging customer experiences. It helps automate business processes and extend powerful APIs for added security
- Health Cloud
Health Cloud is a health IT CRM system that incorporates record management services with the doctor-patient relationship. Health cloud creates an individual profile from each member including demographics, communications and any other pertinent information all in one location. Allows patients to track progress toward health goals and care plans. Health cloud also monitors cases and prioritizes tasks based on immediate needs or level of importance. It also enhances electronic health record (EHR) systems by unlocking them and incorporating apps in a secure and flexible platform.
- Financial Services Cloud
Salesforce Financial Services Cloud is focused on wealth management systems based on powerful Salesforce CRM that allows advisors to connect with clients in a whole new way. Financial Services Cloud ushers in a new era of wealth management software, with advisors collaborating with clients from any device.
Force.com is a platform as a service (PaaS), allows admins and developers to create websites and applications with Apex that integrate into the main Salesforce.com application.
Chatter is an enterprise social network within the Salesforce platform. It helps drive productivity by connecting employees wherever they are. It helps accelerate innovation by providing a forum where anyone can share and gauge ideas and connects product teams with direct feedback. Chatter helps share knowledge by connecting employees with experts from across each organization and allows organizations to track projects in mobile and act on critical updates from any location.
Sales force Terminology:
Campaigns: A Campaign is any marketing project that you want
to plan, manage, and track in Salesforce.
• Leads: A Lead is any person, organization or company that may be interested in your products. Sometimes Leads are referred to as Prospects or Suspects. Leads are not yet customers.
• Accounts: An Account is an organization, individual or company involved with your business such as customers, competitors and partners that you wish to track in Salesforce.
• Contacts: A Contact is any individual or influencer associated with an account that you want to track in Salesforce.
• Opportunities: An Opportunity is any potential revenue-generating event (“sales deal” ) that you want to
track in Salesforce.
• Cases: A case is a detailed description of a customer’s feedback, problem or question.
• Solutions: A solution is a detailed description of a customer issue and the resolution of that issue. The
collection of your organization’s solutions is sometimes referred to as the solution knowledge base.
• Forecasts: A forecast is your best estimate of how much revenue you can generate in a quarter.
• Reports: Reports are summaries and analyses of your data, which you can display or print.
• Dashboards: Dashboards give you a real-time snapshot of corporate metrics and key performance
indicators. A dashboard is a group of different charts (or components) that graphically display your custom
• Calendar and Task: Activities are both tasks and scheduled calendar events. You can define and track
activities for many different objects, including campaigns, accounts, contacts, and leads.
• Products: Products are the individual items that you sell on your opportunities. (Please note that Products are available in EE/UE and Developer and in PE for an additional fee.)
Please note, not all Standard Objects are depicted in the above slide or discussed in the notes.
Please refer to Help in Salesforce for more information.
What is Salesforce Testing?
A great thing about Salesforce is that many of the out of box features can be customized to suite a company’s need.
Salesforce testing is a validation of the configuration and customization performed in SDFC.
The challenge is to ensure that a tester is checking the code which has been customized in place of testing built-in Salesforce functionality.
Salesforce CRM is built on a platform development language called APEX. It also provides many built in unit test case for developers to validate their code.
Why Salesforce testing?
Here, are prime reasons behind conducting salesforce testing:
- Allows you to check that configuration and code is functional.
- Helps you to verify that the finished system can support the client’s business processes
- Helps you to confirm that the system’s initial build meets the agreed requirement
- Helps you to catch problems early, while they’re easy to fix
- Functional flows report based on the status of test cases. This allows the team to create the functional flows to know the functionality of the application
- Process builders feature helps you to check the working condition and behavior of the system
- Workflows allow you to check the functionality of time-based events
Salesforce Testing Process
The testing process of Salesforce is same as any normal web-based application. The tester should have a clear perspective of the customizable features which are built during the test process. It helps them to focus on that customized code instead of the built-in Salesforce features.
Developer and tester should use the Sandbox environment (Test Environment) for each of their purposes. Tested code in Sandbox environment is deployed to production from the Sandbox environment. It is assumed that the QA tester has the basic knowledge and understanding of the terms used in the Salesforce.
Best practice for Salesforce testing
- Run tests as real user profiles
- Test Data should be prepared for validating the reports functionality
- The testing method must include functional testing, UI testing, regression testing, and system integration testing
- The dynamic nature of visual force pages should be paid special attention as all the elements of a webpage may not be loaded simultaneously
- Automation testing should be performed using tools like Selenium and HP Unified Functional Testing
- Salesforce tester should consider which include positive and negative flows
- Users role must be constructed and tested using Workflows
Assumption before configuration and data setup:
The QA team has basic knowledge and role in salesforce comprises of:
- Creation of Accounts
- Creation of Contacts to relate with Accounts
- Enabling created contacts as External Users
- Assigning Product licenses to External Users
- Creation of Internal Users
- Product licenses to Internal and External Users
- If we are using Public groups and queues in project, then once users are created, assigning those users to respective queues and public groups.
- Checking all page layouts
- All related lists of detail pages
- All the columns in the related list
- Creation of test data to perform testing.
- Working closely with the development team to design, build and test the application
- Providing the direction for system enhancement and defect fixes
- Providing the new ideas and information
- Prioritizing and estimating the critical deadlines across the project
- Providing detailed documentation to business and developer team
- Organizing the training session/demos for the customers
It is not always true that a QA must do the configurations. If you don’t know the configuration part, you need not worry. Any one member of your team can do the configurations who is having salesforce’s basic knowledge. You just need to set up your data and perform testing.
Sample Salesforce Test Scenarios
- You can capture the contact information of the lead/client
- Contacts can be marked active/inactive
- Any company can be marked as Customer or Prospect
- Leads can be captured with the help of web forms
- Price in Quotation cannot be zero
- Email should be sent once the deal is closed. Bounced emails if any should be handled
- Integration with third party software should be working properly
- Billing services should work as expected
- No duplication of records in contact, opportunity, and lead management.
- Mobile workflow works as expected
- Unauthorized users must not have access to Files.
SalesForce Test Automation Tools
Performing automated functional testing in SalesForce is a challenging task as most of the test web pages are dynamic. Therefore, the tester needs to build robust automation framework to which should be useful not only today but also in the future.
Below, given are widely used Salesforce testing tools:
- Selenium web driver
- HP Unified Functional Testing (UFT)
- Force.com IDE (Eclipse-based)
- Change Sets (Cloud Deploy)
- Ant/force.com migration tool
Reasons for using testing salesforce testing tools:
- Helps you to saves 75% of your time and 25% of your test automation costs
- Offers better Apex Test Execution, detailed test coverage, and class coverage reports
- You can take advantage of industry-leading automation tools like Selenium and JMeter.
- Auto-generate test scenarios to run for different environments and multiple browsers
- Seamlessly record and playback your recorded test cases
- Helps you to automate all types of pre- and post-deployment tasks
- Salesforce testing process separate data from test script and allows you to enhance with multiple datasets.
Project Example – 1
A representative of a popular English-language magazine (available in print and digital formats) turned to a1qa to perform full-scale testing of the website.
Product under test
Apart from the website functionality, the team was to check the Subscription Portal that was an integral part of the website and consisted of a few components. This module was of prime concern, as the business relied on it for revenue.
The subscription function was implemented with the help of the following software solutions:
The open-source CMS system eZ publish that performed subscription data filtering (type of subscription, subscription period, discounts applied, etc.).
The website through which a user interacted with the system.
Salesforce CRM software. It stored all users and subscription data. An additional plugin allowed the client’s team to manage the subscription acquisition, create new types and review the existing ones.
Zuora SaaS software to process billing and payment flaws.
Mule ESB service bus to enable data exchange between the components.
The database as a BI tool.
Salesforce Marketing Cloud software for online marketing.
Drupal CMS used to function instead of eZ publish. At the given moment, it contained data of the registered users and serves as a tool for publishing articles, video and audio content.
The subscription workflow is the following:
User’s data is gathered.
A user is provided with a possibility to subscribe after filling out the personal and payment information forms.
The subscription order is handled by a third party contractor.
The client was planning to free the process of the third parties involvement. For this purpose, it was important to make sure that the developed system could function properly on its own.
The a1qa team was to ensure that the whole system made up of the above mentioned components was able to solve the necessary tasks.
The project is still on, though, even now it is possible to conclude that the system works properly. While each component is performing its function separately, all together they help to reach the goal of the non-stop business processes operations important for the client’s business.
For a project with complex business logic, integration testing can’t be neglected.
For effective testing, defects and flaws detecting, the QA team must:
1) Understand the structure of the product, knowing how all the modules interact;
2) Know the specific aspects of a project. It is important for preparing good test cases, tests analysis, making a choice between manual or automated testing techniques.
Customer Engagement Platform Project
CEP Bankruptcy & SCRA Module
Welcome, Agenda & Learning
Process – Update/validate BK & SCRA
Data in SF|CEP at the Financial
Account customer (FAC) level
Navigate to SF|CEP homepage
Search on Account Number: either
Retail or Lease
Update/validate: BK Code,
BK District, BK Case Number and
BK Filing Date at FAC-level
Update/validate : SCRA Service
Branch, Active Duty Start Date and
Active Duty End Date at FAC-level.
BK & SCRA Module
- BK Bankruptcy
- BK Case Number the CEP record that contains all bankruptcy details for the particular customer
- BK District the state/jurisdiction in which the bankruptcy was filed
- BK Filing Date the date on which the bankruptcy was filed
- BK/Metro 2 Codes classifications for the different types of bankruptcy
- CEP Customer Engagement Platform
- FA Financial Account (level)
- FAC Financial Account Customer (level)
- Roll up logic – Data that is input into a CEP Applet – e.g. Customer level; and rolled up into a CEP View – e.g. Financial Account level
- SF Salesforce is the new platform to update BK and SCRA data
As BK & SCRA information is rigorously regulated we need to demonstrate compliance with an extensive set of legislative and audit requirements. For this reason, BK and SCRA data is subject to strict TFS Operating Policies, Procedures and IT controls to assure and preserve data integrity – which includes who has access to, and is permitted to edit, BK and/or SCRA data. Therefore, TFS has invested in dedicated roll-out support for users that will update live BK and/or SCRA data.
Client will now utilize the Salesforce Customer Engagement Platform [CEP] as its business system to update and maintain customer information – including bankruptcy and SCRA data. Maintaining bankruptcy and SCRA data is a two -step “update” and “validate” process. To access SF|CEP to update and validate BK/SCRA data, do the following: https://test.salesforce.com
Enter your Username and Password
Click on the Login button
Process Updating BK/SCRA data in CEP
Go to the Utility tray at the bottom of the screen, and do the following:
- Click on the Search option (next to “History”) The “Custom Search” panel appears. 5. Go to the Financial Account Number field, and do the following:
- Enter a Retail, or a Lease account number – e.g. 0026691843
- Press the Enter key on your keyboard The “Financial Account” screen appears automatically if there is a single account associated with a customer.
Go to the Financial Account (the “Publisher”) segment
- Click on the Edit Profile option, or
- Click on the more down-arrow and select the “Edit Profile” option The “Edit Profile” screen appears, which sends (i.e. “publishes”) your BK/SCRA updates to UCM for validation. This is a necessary step, as UCM is the system of records for all customer data including BK and SCRA information. The “Publisher” is common to both the Customer Engagement Platform and the Collections Console. This means that Collections Console users will also be able to view and edit the new BK/SCRA fields – based on user permissions.
In the Edit Profile screen, do the following:
- Contact field – select appropriate customer type – e.g. Primary Borrower or Co-Borrower
- Service Channel field – select the appropriate contact medium – e.g. Customer Correspondence
- Action field – select the activity you want to initiate – e.g. Edit customer profile
- Category field – select if you want to update FA or FAC-level details – e.g. Customer Profile Update (= FAC)
- Topic field – select if you want to make a Bankruptcy Update or an SCRA Update
At this stage, there are two options:
Select Bankruptcy Update in the Topic field –
Select SCRA Update from the “Topic” field –
This action automatically displays the BK/SCRA fields you have permission to edit. Note, these fields will not display if you do not have permission to edit BK or SCRA information. Complete the BK or SCRA fields, as required, and click on the Create Case button The “Change Status” screen appears, displaying a record of the BK/SCRA changes made.