What is Salesforce testing?

Salesforce testing is a process to ensure the configuration and functionalities of the salesforce org. Salesforce testing includes various roles for a tester like changing the object settings, validation rules, changing the page layout to test various features, etc.

A software tester must always create the test cases according to the requirements given by the clients including positive test cases, negative test cases in the process help make the application better. Sometimes testers face the scenario where results are different every time they test, in those cases changing the org from classic to lightning and vice versa helps a lot as some feature work only in classic or lightning.

Types of Salesforce testing:

  1. Manual Testing
  2. Automation Testing

Manual Testing:
Manual testing is the process to perform functional testing, regression testing, security testing, unit testing, UI testing, etc. Manual testing is the first step towards being a successful tester. A tester needs to be careful while testing manually because sometimes, there are elements in the webpage which are invisible but are present in the code.

Automation Testing:
Automation testing is the process to test a webpage or an app using a script. This can save a tester’s time, however, if automation has perks then it has cons also. We can not always automate everything, we can not bypass the google captcha, we can not make payments, etc.

Levels of testing:

  1. Unit testing: Unit testing the testing of individual components to ensure their functionality meets the acceptance criteria. A unit test can be performed at the early stages of developments and can be performed by developers themselves. The advantage of a unit test is that the bugs can be fixed at an early stage so they do not create problems later.
  2. Integration testing: Integration testing is testing the different units by combining them together to check if they work properly. This way, any fault they create while working together can be identified.
  3. System Testing: System testing is performed to check the functionality after integrating them together if it meets the requirements. System testing is important as it is performed in the environment similar to what a user will experience.
  4. Acceptance Testing: Acceptance testing is the last level of testing where a product is given green light, or not. It is performed to evaluate if the product is ready to be deployed or not. Some pre-written scenarios or test cases are applied to see if the functionality is acceptable or not. All the UI, security, and functionalities are tested to see how it will perform on a user end.

Automation Tools: There are some tools to be used for automation we can use in salesforce.

  1. SoapUI
  2. Visual Studio Test Professional
  3. HP’s QTP
  4. Selenium

Roles in Salesforce: Roles defined what a user can see or which data is visible to users. Higher the role in the Role Hierarchy, the more the data a user is able to access or more data is visible to the user. There are sharing rules for users to access the data, set of rules are created for users, and roles are given permission to access the data. So any role, who has given the sharing rule can access that data. However, it is not necessary to create the roles but not creating the roles can affect the data shown to the users.

Profiles in Salesforce: Unlike roles, Profiles are mandatory to assign in the salesforce as a profile controls what a user can or can’t access. A profile includes a set of permission/rules for a user which defines what a user can do in the org. And it defines the access settings and user permissions. A profile controls field permissions, object permission, login session, tabs or page layout visible to a user, etc.

Permission sets: Permission sets are a set of rules which extend the permission given to a user without changing its profile. The permission set extends functional access for a user.

Account and Contact Relationship: Account and Contact have a lookup relationship in Salesforce. We can create a contact without filling up the contact but it also behaves like Master-detail because if we provide an account to a contact and then delete the account, it also deletes the contact.