Understanding different data relationships that occur in Salesforce is crucial for effective testing. Master-detail and lookup relationships are the most common types.
📌It is possible to convert a master-detail relationship into a lookup and vice versa 🙂
There are also other types of data relationships between objects, for example:
a) Many-to-Many – this type of relationship was developed to make junction objects easier to deal with. It is possible to link each record of one object with many records of another object and vice versa. For example, if we have 2 objects – Accounts and Contacts, we can link the Account record with multiple Contact records of different Accounts and the Contact record can be related to multiple Account records.
📌Junction object = object with two master-detail fields. It can be a standard object (e.g. PriceBookEntry → PricebookId + ProductId) or a custom object.
b) Self – this is another example of a lookup relationship where an object has a lookup field linked to itself. For example, we have an Accounts object, and we create a lookup field called ‘Related Accounts’ linked to Accounts. In the Related Accounts field, you can select from a list one of the records of the Accounts object.
c) External Lookup – can be created from the level of standard, custom, and external objects. You can create a relationship with an external object whose data is stored outside Salesforce org. I am going to use the Salesforce technical documentation to present an example of such a relationship.
(1) an external object can contain two lists of child objects: Accounts and Sales_Orders,
(2) a standard object,
(3) an external object. In this way, a user can access data from inside and outside Salesforce org on a single page.
Picture 1. Image from Salesforce technical documentation – External Object Relationships\External Lookup Relationship Fields on External Objects
📌External object = custom object whose data is stored in external data sources outside Salesforce org.
d) Indirect Lookup – this type of relationship can only be created from the level of an external object. It allows you to create a relationship to a unique external field ID from a standard or custom object.
📌Unique external ID field = field that has the following options selected: unique (does not allow duplicate values) and external ID (field as a unique identifier from an external system).
e) Hierarchical – a special kind of self-relationship found only in the user object. You can use the lookup field to link one user to another to create a hierarchy of users. The simplest example of this relationship is the manager field on the user object.
Tools in practice
Salesforce Logins – this is a plugin for the Google Chrome browser only. It allows fast logging into https://test.salesforce.com/ without entering credentials manually.
Let’s focus on the practical application of this tool:
adding a group
- Salesforce org types (each type has a different color of the cloud icon, which makes them easier to recognize 😊)
An example of application for a tester:
The most useful feature of this plugin for a manual tester is:
logging in to different users (it allows quick login switching between users)
📌We can also open Salesforce Inspector using the Alt + I keyboard shortcut
advanced data preview on a record
📌The number of fields displayed in Salesforce Inspector can vary depending on the object from which the record comes. Three fields are always visible: Name, Label, and Id.
📌If you double-click on the value in the Value column, you can quickly edit the data in the fields.
📌 It is possible to change the displayed data according to the permission sets of the selected user.
📌When feeding data into Salesforce from Excel, you need to indicate columns that correspond to the field names required to create a record in the object.
In Salesforce, you can obtain certificates that confirm your skills and knowledge. For a manual tester, I recommend the following path:
- Salesforce Certified Administrator – it confirms your understanding of configuration tasks, knowledge of the security system, and ways of sharing data with users. It is a basic certificate that opens possibilities to expand your knowledge of Salesforce technology further.
- Salesforce Platform App Builder – it allows you to gain knowledge on how to design, build, and deploy custom solutions and applications. As a result, you are able to understand the operation of SFDC applications better and create more advanced test cases for features, such as reports or dashboards showing a summary of selected reports.
The number of certificates in Salesforce is wide. This allows you to broaden your knowledge of this technology depending on your individual career aspirations and project needs. It is also an opportunity to organize the knowledge you already have.
Salesforce (SFDC), like any technology, has its intricacies that you need to know to be an effective tester. I hope my articles in the series “Salesforce from a manual tester’s perspective” have introduced you to this technology and encouraged you to use it actively.
- Senior Software Tester
A tester who has been associated with the Quality Assurance (QA) industry for 7 years; has worked for small companies and big corporations in such sectors as healthcare, pharma, telecom, and logistics. At work, he is opened to new challenges that he undertakes with full commitment to achieve the best results, as well as to improve processes. Privately, he likes to work out at the gym and take walks in the open air.