QA Salesforce
QA Salesforce
Michal Socha
About me
• Salesforce
• QA
3
Salesforce Basics
4
Salesforce is a cloud-based service as a software (SaaS) company, which means it hosts an
application customers can access online. It operates on a pay-as-you-go subscription-based
business model. Because all data and information is stored in the cloud, Salesforce is
accessible from any device at any time.
SaaS – no installations and downloads, just log in and use the software across the cloud.
5
Customer relationship management (CRM) is a technology for managing company's
relationships and interactions with current and potential customers. With a CRM
platform, customer preferences are recorded, and customer activity can be tracked. A
CRM system maintains and manages data obtained from multiple sources and
touchpoints, including email, the company website, live chat, telephone, and social
media, etc.
6
Multi-tenant is an
architecture in which a
single instance of a
software application serves
multiple customers.
7
Users
A user is anyone who logs in to Salesforce. Each user account contains at least
the following: Username, Email Address, User's First and Last Name, License,
Profile, Role (optional)
Username in Salesforce must be in Email address format and unique across all
Salesforce.
8
Standard objects are objects that are included with Salesforce. Common
business objects like Account, Contact, Lead, and Opportunity are all
standard objects.
9
Page Layouts
Page Layouts in Salesforce control the layout. It is a set of custom links,
buttons, fields, visualforce and related lists on the object record page.
Page Layouts in Salesforce determines which fields are set to visible, read-
only and mark that field as required.
Record Types
Record types determines the business processes, page layouts, and picklist
values users have access to.
10
Fields
Every standard and custom object has fields attached to it. Fields in Salesforce
represents what the columns represent in relational databases. It can store data values which
are required for a particular object in a record.
11
Tabs in salesforce displays the data of objects and other web content
in the application.
• Standard Object Tabs
• Custom Object Tabs
• Web Tabs
• Visualforce Tabs
12
Relationship
An object relationship in Salesforce is a two-way association between two
objects. Relationships are created by creating custom relationship fields on an
object. This is done so that when users view records, they can also see and
access related data.
13
Master-Detail relationship is the Parent-child relationship. In which Master
represents Parent and detail represents Child. If Parent is deleted then Child
also gets deleted.
• Parent field on a child is required.
• Access to parent determines access to children.
• Deleting parent automatically deletes child.
• A child of one master-detail relationship cannot be the parent of another.
14
Lookup Relationship This type of relationship links two objects together but has
no effect on deletion or security. Unlike master-detail fields, lookup fields are
not automatically required. When you define a lookup relationship, data from
one object can appear as a custom related list on page layouts for the other
object.
Single object can have both relationships at a time.
15
Many to many
By using Junction Object we can achieve this relationship, here junction object is
having Master- Detail Relationship with different objects (Ex.Students &
Courses). Using this Master to Detail Relationship, we can create the Many-to-
Many Relationship in between the objects.
One to many
One parent can have multiple child objects, and all depended to one parent
object. If we delete the parent record child records is auto-deleted. It is a one-
to-many relationship.
16
Schema Builder
Schema Builder is a tool
within Salesforce.com that is
used to view and manage
objects, fields, and relations
between objects in a
graphical interface.
17
Data Security
18
Levels of data access:
Organization, objects, fields, records
Organization level security:
The organization level lets us decide when and from where salesforce users can
access the system:
• IP Restrictions (Limit the IP addresses from which users can log in)
• Login Access (Limit the times at which users can log in)
• Password Policies: defines the password strength rules that are used to
determine whether a new password is valid
19
Object level security:
Profile:
Object level security is determined by a profile assigned to a particular user.
Profile controls objects that a user can see and what they can do on these
objects, these settings are called CRED (Create, Read, Edit, Delete)
20
Permissions
Permissions specify what tasks users can perform and what features users can
access.
There is two types of permission grouping:
Permission set is a collection of settings and permissions that give users access
to various tools and functions. Permission sets extend users’ functional access
without changing their profiles.
Permission set groups creates a single group based on the tasks that sales
employees regularly perform.
21
Field Level Security:
Field-level security settings let restrict users access to view and edit specific fields, like:
22
Record-Level Security
Org-wide defaults OWD defaults to lock down data and then use the other record-level
security and sharing tools (role hierarchies, sharing rules, and manual sharing) to open up the
data to users who need it.
Role hierarchies ensure managers have access to the same records as their subordinates.
Each role in the hierarchy represents a level of data access that a user or group of users
needs.
Sharing rules are automatic exceptions to org-wide defaults for particular groups of users, to
give them access to records they don’t own or can’t normally see.
Manual sharing lets record owners give read and edit permissions to users who might not
have access to the record any other way.
23
Sharing model:
Private
Only the record owner, and users above
that role in the hierarchy, can view, edit,
and report on those records.
Public Read Only
All users can view and report on records,
but only the owner, and users above that
role in the hierarchy, can edit them.
Public Read/Write
All users can view, edit, and report on all
records.
Controlled by Parent
A user can view, edit, or delete a record
if she can perform that same action on
the record it belongs to.
24
Types of sharing rules:
Criteria-Based Sharing Rules
A criteria-based sharing rule decides who should have access to the records based on field
values.
Guest User Sharing Rules
Guest User Sharing rule granting unlimited access to all the records that are matching in the
sharing rule.
Owner-Based Sharing Rules
An owner-based sharing rule will open up access to records owned by specific users, which is
a little different than the previous sharing rules we have just gone over.
25
Restriction rules:
Restriction rules prevent users from accessing records that can contain sensitive
data or information that isn’t essential to their work.
Restriction rules are available for custom objects, contracts, tasks, and events.
26
Actions
Actions add functionality, like post, poll, and question, to the chatter publisher. Actions let your
users do more in Salesforce and the Salesforce app. By default, the Chatter publisher includes
the standard actions Post, File, Link, Poll, and Question.
Types of actions:
• Standard actions
• Nonstandard actions
• Default actions
• Mobile smart actions
• Custom actions
• Productivity actions
27
Custom buttons and links
Custom buttons and links help integrate Salesforce data with external URLs, applications,
company’s intranet, or other back-end office systems.
28
Data Management
29
Data Import:
Data Import lets us upload data from external sources. Supported data sources include any
program that can save data in the comma delimited text format (.csv) .
Data Import Wizard—this tool, accessible through the setup menu, lets us import data in
common standard objects, such as contacts, leads, accounts, as well as data in custom
objects. It can import up to 50,000 records at a time.
Data Loader—this is a client application that can import up to five million records at a
time, of any data type, either from files or a database connection. It can be operated either
through the user interface or the command line.
30
Data Export:
The data is exported as a set of comma-separated values (CSV) files. Data export tools provide a
convenient way to obtain a copy of our Salesforce data, either for backup or for importing into a
different system.
Data Export Service—an in-browser service, accessible through the setup menu. It allows us to
export data manually once every 7 days (for weekly export) or 29 days (for monthly export). You can
also export data automatically at weekly or monthly intervals.
Data Loader—a client application that you must install separately. It can be operated either through
the user interface or the command line.
31
Reports
A report is a list of records that meet the criteria we define. It’s displayed in Salesforce in rows
and columns, and can be filtered, grouped, or displayed in a graphical chart. In salesforce we
have two types of reports:
Standard report types are report types which salesforce create itself when we create objects
and relationship between them.
Custom report types allow admin to specify what all fields will be available to user while
creating a report.
32
In Salesforce we can create 4 types of report formats
1. Tabula Reports: Simple listing of data without any subtotals.
2. Summary Reports: This type of reports provide a listing of data with
groupings and sub totals.
3. Matrix Reports: This type of reports allow you to group records both by
row and by column
4. Joined Reports: This type of reports enable you to adopt five different
blocks to display different types of related data.
33
Dashboards Chart types available for
Dashboards are graphical representation of reports. dashboards:
Dashboards can be generated for summary or matrix • Gauge
reports (and not for tabular reports). Dashboards • Vertical column
display data as per last time report was run. • Horizontal bar
A dashboard can have up to 20 components, user • Line
can subscribe up to 5 dashboards. • Donut
• Funnel
• Pie
34
2nd week
Lightning experience
●
Visualforce:
●
Developer console
●
35
Lightning Experience is the new, modern user experience and interface for using Salesforce
Tools included in lightning experience:
Lightning Component Framework – Components and extensions that allow you to build
reusable components, customize the Salesforce1 Mobile App, and build standalone apps.
Lightning App Builder – A new UI tool that lets build apps lightning fast, using components
provided by Salesforce and platform developers.
Lightning Connect – An integration tool that makes it easier to consume data from any
external source that conforms to the OData spec.
Lightning Process Builder – A UI tool for visualizing and creating automated business
processes.
Lightning Schema Builder – A UI tool for viewing and creating objects, fields, and
relationships.
36
37
Visualforce is a framework that allows developers to build custom user interfaces that
can be hosted natively on the Lightning platform. Visualforce is a component-based
user interface (UI) framework that enables the creation of dynamic, reusable
interfaces.
38
Standard list controller:
The standard list controller allows to create Visualforce pages that can display or act
on a set of records.
39
Developer console:
The Developer Console is an integrated development environment with a
collection of tools we can use to create, debug, and test applications in our
Salesforce org.
40
SOQL
SOQL stands for Salesforce Object Query Language. SOQL we can use to read
information stored in org’s database. SOQL is similar to SQL (Structured Query
Language).
41
3 rd week
• Locale settings
• Groups
42
Locale settings
43
Chatter is a Salesforce real-time collaboration application that lets users work together,
talk to each other, and share information.
Feed tracking detects changes to tracked record fields and posts them as updates in the
„What I Follow” feed.
Fields that are tracked by default when we enable feed tracking for:
Accounts, Cases, Groups, Contacts, Leads, Opportunities, Users
44
Groups
Groups are the main collaboration space in chatter. Groups are where people organize around
a shared interest, purpose, or goal.
Public groups are visible and open to all employees.
Private groups are open only to group members. People must request to join a private group.
Unlisted groups are invitation-only and don’t appear in list views and search results.
Broadcast only groups allow only group owners and managers to create posts. Group
members can comment on them.
45
4th week
• Salesforce flow
• Appexchange
46
Formulas
Formula in Salesforce are used to calculate custom fields, validation rules, flow logic etc.
Formula field are read-only fields that automatically calculate a value based on other
fields or a formula.
Formula return types:
Checkbox, Currency, Date, Date/Time, Number, Percent, Text, Time
47
Roll-up summary fields
A rollup summary field displays the sum, minimum, or maximum value of a field in a related
list or the record count of all records listed in a related list.
48
Validation Rules
Validation rules verify that the data a user enters in a record meets the standards we
specify before the user can save the record. A validation rule can contain a formula
or expression that evaluates the data in one or more fields and returns a value of
“True” or “False.” Validation rules also include an error message to display to the
user when the rule returns a value of “True” due to an invalid value.
Validation Rules have 3 types of criteria. They are Error Condition, Error Message,
Error Location.
49
Salesforce flow:
Flow is an automation tool provided by Salesforce which can be used to perform various tasks like:
sending an email, posting a chatter, sending the custom notifications , etc. Flow is the most powerful
automation tool provided by Salesforce. It can be trigger for record insert, update and record delete
and it can be run for both after and before events.
50
There are three main “building blocks” of any Flow:
Elements are the individual building blocks of the Flow. These perform logical actions such
as assignments, decisions, or loops.
Connectors determine which element leads to which.
Resources are the individual variables of data that are to be used in a Flow – these can be
strings of text, numbers, records, formulae, or collections.
51
52
Screen Flow: With Screen Flow you can create a custom UI (user interface) and guide users
through a business process that can be launched from Lightning Pages, Experience Cloud
(previously known as Community Cloud), quick actions and more.
Record-Triggered Flow: This Flow launches when record is created, updated, or deleted.
Scheduled-Triggered Flow: This flow launches at the specified time and frequency for each
record in a batch.
Platform Event Flow: Launches when a platform event message is received.
Auto launched Flow: Launches when invoked by Apex, Process Builder or even REST API
Flow terms:
Lightning Flow : Includes tools for building, managing and running flow and processes.
Flow Builder : Point and click tool for builder flows
Flow : Application that automates business processes by collecting data and doing something in
Salesforce or external System
53
AppExchange
Salesforce AppExchange is a marketplace for Salesforce apps where user’s can find, try out and
install application built using Force.com
Purpose of the Salesforce AppExchange Marketplace:
Administrators can download and customize pre-built reports and dashboards
Package types:
Managed - Managed Package Types are packages that may continue to be managed by the publishing
developers and the package contents are not visible or editable.
Unmanaged - Unmanaged packages are not managed by the publishing developers and the package
contents are visible and editable.
54
Appexchange solutions:
55
1st week
QA
• What is testing?
• Typical objectives of testing
• Debugging vs. testing
• Seven Testing Principles
• Test activities and tasks
56
What is testing?
Software Testing is a method to check whether the actual software product matches expected
requirements and to ensure that software product is defect free.
Benefits of testing:
Cost-Effective: In case if the bugs caught in the earlier stage of software testing, it costs less to fix.
Security: It helps in removing risks and problems earlier.
Product quality: Testing ensures a quality product is delivered to customers.
Customer Satisfaction: The main aim of any product is to give satisfaction to their customers.
UI/UX Testing ensures the best user experience.
57
Objectives of testing:
• To prevent defects by evaluate work products such as requirements, user stories, design,
and code
• To verify whether all specified requirements have been fulfilled
• To check whether the test object is complete and validate if it works as the users and other
stakeholders expect
• To build confidence in the level of quality of the test object
• To find defects and failures To provide sufficient information to stakeholders to allow them
to make informed decisions, especially regarding the level of quality of the test object
• To comply with contractual, legal, or regulatory requirements or standards
58
Debugging
Debugging is the process of detecting and removing of existing and potential errors
(also called as ‘bugs’) in a software code that can cause it to behave unexpectedly or
crash
Debugging and testing are complementary processes. The purpose of testing is to
identify what happens when there is a mistake in a program's source code. The
purpose of debugging is to locate and fix the mistake.
59
7 testing principles
• Testing shows the presence of defects, not their absence Testing can show
that defects are present, but cannot prove that there are no defects.
• Exhaustive testing is impossible
• Early testing saves time and money
• Defects cluster together
• Beware of the pesticide paradox
• Testing is context
• Absence of errors is a fallacy
60
Test activities and tasks:
• Test planning
• Test monitoring
• Test control
• Test analysis
• Test design
• Test implementation
• Test execution
• Test completion activities
61
2 nd week
QA
Test execution techniques
●
Test types
●
62
Test execution techniques:
63
White-box testing (also known as clear
box testing, glass box testing, transparent
box testing, and structural testing) is a
method of software testing that tests
internal structures or workings of an
application, as opposed to its functionality
(i.e. black box testing).
64
Testing Pyramid
65
Unit Testing Integration Testing
Unit testing is the process of checking Integration testing ensures that an entire,
small pieces of code to ensure that the integrated system meets a set of requirements.
individual parts of a program work Acceptance Testing
properly on their own. Acceptance testing ensures that the end-user
System testing is defined as testing of (customers) can achieve the goals set in the
a complete and fully integrated business requirements.
software product.
66
Functional Testing
Functional testing checks an application, website, or system to ensure it’s doing exactly what it’s
supposed to be doing.
White Box Testing
Black Box Testing
Smoke Testing
This type of software testing validates the stability of a software application, it is performed on the
initial software build to ensure that the critical functions of the program are working.
Sanity Testing
Performed after bug fixes, sanity testing determines that the bugs are fixed and that no further issues
are introduced to these changes.
Regression Testing
Regression testing is performed to determine if code modifications break an application or consume
resources.
67
API testing. Application programming interfaces connect different applications or systems, and they
are growing in popularity as consumers expect apps to interoperate. With API testing, testers validate
that API connections and responses function as intended, including how they handle data and user
permissions
UI testing. With UI testing, QA professionals interact with the graphical interface of a software
program.
Alpha testing. Another subset of acceptance testing, alpha testing uses internal team members to
evaluate the product. Beta testing. After the internal team tests the product and fixes bugs, beta
testing occurs with a select group of end users.
Accessibility Testing: Accessibility testing is the practice of ensuring your mobile and web apps are
working and usable for users without and with disabilities such as vision impairment, hearing
disabilities, and other physical or cognitive conditions.
68
Non Functional Testing
Non functional testing verifies the readiness of a system according to nonfunctional
parameters which are never addressed by functional testing.
Security testing: All apps and websites require robust security to maintain consumer trust and
protect both data and intellectual property.
Load testing: Load testing checks how the software behaves under normal and peak
conditions.
69
Stress Tests: Stress testing checks how the software behaves under abnormal conditions.
Volume Tests: Volume testing finds out what happens to system performance when a huge
volume of data is added to the database.
Upgrade and Installation Tests: Upgrade testing and installation testing verify that software
will work properly on everyone’s machines.
Recovery Tests: Recovery tests determine how quickly software can rebound after a crash or
failure. This is done by forcing the system to fail.
70
3 rd week
QA
• What is an Agile?
• Agile vs Waterfall
• Agile Principles
• Scrum, scrum ceremonies
• Qualities of a good QA tester should have
• Mr. Buggy my first bug
71
Agile is a software development methodology to build a software incrementally using short
iterations of 1 to 4 weeks so that the development is aligned with the changing business
needs.
User Story
A user story is a requirement which is formulated in a few sentences in everyday language
of an user and it should be completed within an iteration.
Iteration
An iteration is a time boxed collection of user stories. An iteration is also termed as a sprint.
Release
A release is a major milestone that represents an internal or external delivery of working,
tested version of the product/system.
72
73
74
Scrum is a framework that helps teams work together. Scrum encourages teams to
learn through experiences, self-organize while working on a problem, and reflect on
their wins and losses to continuously improve.
75
76
Qualities of a good Agile tester should have:
• Understand Priorities
• Can Create Numbers Of Ideas
• Can Analyze Data
• Can Report Negative Things In A Positive Way
• Flexible To Support Whenever It’s Required
• Constant Learner
• Can Wear End User’s Shoes
77
78
Mr. Buggy – my first bug
Bug report
Bug ID #Bug- 001
Bug Description
URL https://mrbuggy.pl
Summary After starting the installation, an error appears which prevents the installation. Click on the „ continue”
buton stops whole process
Administrative
Assigned At 31.12.2021
Priority High
Severity Critical
79