Latest news, useful features and tips for your Salesforce

The Insider’s View of QC for Salesforce Custom Apps

June 29, 2016

Although, Quality Control (QC) is widely spread in the IT services market its role is often underestimated. In this article, I am eager to provide a deeper insight into the aspects of Quality Control and testing for Salesforce Custom Applications and disabuse the QC inutility. Step by step we’ll follow the QC process and cover the peculiarities of QC for Salesforce.

Basically, Quality Control was defined as a set of activities ensuring the quality of software applications and solutions. These activities were focused on identifying defects in the software products.

QC usually begins with planning, defining the objectives, identifying Customer’s focus and quality expectations. Normally these activities go along with overall project planning and contribute to the development of the right testing strategy.

Hereupon, the testing team affirms the requirements are correct, complete, clear, and logically consistent. At this stage, a proper internal and external communication is vital to prevent the blunders  in the design, architecture and requirements. By rule of thumb, the sooner the problem in the life cycle is detected, the cheaper it is to fix it.  

 

Relative bugfixing cost based on time of detection

 

Once everything is OK, test engineers will design a sufficient set of test cases based on the requirements. The overriding goal is to write effective cases with the appropriate details and make sure all application business  flows are covered to provide an opportunity to future-proof everything. The next step is test data creation and test execution.

QA engineers perform test executions carefully having no room for mistakes. All test case executions are recorded. Defects are reported on the defect-tracking system. Based on the results, QC engineers should prepare QC reports designed to provide enough information on the product quality for the stakeholders, and to help resolve dependencies to improve software quality as well as to add enhancement ability in future. Finally, engineers will perform full regression testing and whenever the quality criteria are met, then QC activities are completed.

While performing QC for custom Salesforce applications, it’s crucial to know the platform inside and out:  its features, objects, and flows. The QA engineer to fit might have development skills but from the project perspective the skills of the Salesforce administrator overweight. Let me provide an example to prove this statement.

To prepare test data CodeSWAT QC engineers use Apex Data Loader tool. This built-in tool helps to save lots of time on data creation. Salesforce Developer Console can be used to Run batches, call methods, create, update, or delete test data. It helps testers perform validation of data, test execution results, etc.

A keen insight and proper use of Salesforce Setup pages (Company Information, Users, Profiles & Permissions Sets, Apex Jobs, Debug Logs.) help to investigate a root cause or solve running tasks offhand. For example, viewing standard profiles and permission sets, or create the  custom one without further developers involvement. In order to understand customers’ needs quickly and be involved in the work process from the early start, it is important to perceive standard Salesforce processes for Sales Cloud and Service Cloud as well as understand how to create and run Salesforce Reports.

In this article, I’ve tried to describe  how a well-built process of  Quality Control and the deep keen insight in the Salesforce platform can save time as well as avoiding the drawbacks on the Production stage, and as a result, get a product that will satisfy the needs of the user and the business. If there are any questions or suggestions for future posts you are free to contact us via email: marketing@codeswat.com.

Linkedin_circle.svg_    Eugene Kunda
    Head of QA Department at CodeSWAT