top of page

How to Write Test Class in Salesforce – Best Guide for Beginners

How to Write Test Class in Salesforce

Salesforce is a top-notch software for managing customer relationships. It permits the administrators to create queries to understand the system's inner workings in a detailed way. Therefore, after making any code, Salesforce tests the particular code using its unit testing methods, and to do that, it requires a Test Class.

These test classes are like code investigators, which handle around 75% of the code testing workload. It helps provide a smooth experience with the Salesforce Dashboard during production. Further, these test classes check the logic of various parts of Salesforce, including Apex classes, Apex triggers, Visualforce Extensions, Visualforce Controller, Batch Apex, Future Apex, and Queueable Apex.

In this blog, we'll dive deeper into how to write Test Class in Salesforce, why these test classes are so crucial, and further necessary details. So, let’s start!

An Overview: “Test Classes in Salesforce”

Salesforce introduced its test classes to support the platform's development and quality assurance processes. They are a fundamental part of the Apex programming language, Salesforce's proprietary language for building custom functionality.

Besides, test classes became a Salesforce requirement to address the need for high-quality custom code. It verifies that custom Apex code (including triggers and other components) functions as intended. They simulate different scenarios and interactions with the code, helping developers identify and address errors, bugs, or unintended behavior.

How to Write Test Class in Salesforce?

Below are the essential steps to create your test classes in Salesforce:

Step #1: Start by Opening the Salesforce dashboard.

Step #2: After that, go to the “Quick Find” tab and search for "Apex Classes."

Step #3: Click the "New" option to create a new Apex Class.

Step #4: Within this, input the test class definition.

Step #5: Below is the syntax you should follow.

@isTest private class MyTestClass { @isTest static void myTest () {

// code_block } }

Want to get Certified in Salesforce Marketing Cloud? Check out our Salesforce Marketing Cloud Certification List

Step #6: Your code's appearance will vary based on the Salesforce object and trigger you've established in your Salesforce account.

Here, we have shown a Salesforce Test Class example.

Salesforce Test Class example.

Salesforce Test Class example.

Step #7: Now, execute this code within the developer's console. Afterward, input your custom-designed Apex class code into the console.

Step #8: Run this code to initiate testing and check the results (output) in the console.

Step #9: Choose the specific test class you wish to run.

Step #10: To include all methods from the chosen test class in the test run, click the "Add Selected” option.

Step #11: Finally, initiate the testing process by clicking "Run."

Step #12: Now, you can check the test results on the Tests tab. Optionally, you have the choice to expand the test class within the Tests tab to see the executed methods. In this particular scenario, the class includes just one test method.

And there you have it – you have created the test class successfully!

Salesforce Test Class Annotations

Below are a few annotations commonly used in a Salesforce test class:

@isTest: This annotation can be used at the method or class level to indicate that the code it contains is solely for test coverage. Classes marked with this annotation do not count against your company’s Apex code limits.

@testSetup: It points to a particular method that creates the test data. If you use @testSetup, it executes before any other method in your test class. No matter how other test methods utilize the data, they all can get to the original test data created by this method.

@testVisible: In Apex programming, it's often wise to keep things like methods, variables, and internal classes private or protected to keep them safe. But, when you're testing your code, you might need to see or use them. That's when the @testVisible tag helps you out.

@isTest(SeeAllData=True): Generally, Salesforce test classes should create their own data for testing. However, there are situations where you might need to use existing data in your tests. The @isTest(SeeAllData=True) annotation allows your test classes and methods to access this existing data.

There are some crucial things to remember when using @isTest(SeeAllData=True). You can apply SeeAllData=True at both the class and method levels. When it's at the class level, every method within the class can access existing data. However, when it’s (SeeAllData=True) at the method level, only these methods can access the existing data.

Benefits of Creating Test Classes in Salesforce

an image telling Benefits of Creating Test Classes in Salesforce

Creating test classes in Salesforce offers several benefits:

Code Reliability

Test classes help ensure your custom code, such as Apex classes and triggers, functions correctly and reliably. It minimizes the risk of unexpected errors and issues in your Salesforce application.

Code Coverage Requirement

Salesforce mandates a minimum code coverage percentage for deploying custom code to production. Test classes are essential for meeting this requirement.

Early Bug Detection

Test classes allow you to identify and address issues in your code early in the development process. It reduces the cost and effort of troubleshooting and fixing bugs later.

Regression Testing

Test classes enable you to perform regression testing, ensuring that new changes do not break existing code.

Data Isolation

Test classes run in an isolated environment with their test data. This isolation prevents interference with production data and helps maintain data integrity during testing.


Test classes describe how your code should function, making it easier for other developers and administrators to understand like documentation.


Test classes help meet Salesforce's code coverage requirements by providing best practices for maintaining a compliant and well-functioning Salesforce environment.

Improved Confidence

By thoroughly testing your code, you can have more confidence that your application will work as intended in a production environment.

Sum Up

We hope our detailed guide helps you with the knowledge and tools you need to write test classes in Salesforce. Understanding the importance of testing, annotations, and the step-by-step process for creating test classes empowers you to ensure the reliability and functionality of your custom code.

So, by following our guide, you can confidently fulfill platform requirements by delivering high-quality applications and performance.


bottom of page