Salesforce Testing

Blog: Capgemini Sogeti Testing Framework for Salesforce

Salesforce is a pioneering and globally used enterprise cloud computing platform. While coming from CRM focused SaaS offerings (Sales- and Service Cloud) focus seems to have shifted towards providing a platform (PaaS) for business applications with a broader range of SaaS offerings. This shift doesn’t change the foundation of Salesforce as an IT-company build on the obsession to generate business value for their customers rather than deliver IT-systems. It’s clear from the Salesforce licensing model, the sales approach, the feature prioritization and much more. Arguably this is at the core of Salesforce’ success.

[10. november 2015] The success of the Salesforce model challenges the classic IT-delivery disciplines by giving businesses the opportunity to challenge how Salesforce projects are implemented. Very agile and quick implementation is expected, while quality is often assumed to be given by the IT-platform itself - it’s not!

With Salesforce’s shift towards platform offerings rather than standard solutions, the need for classic IT-implementation disciplines such as IT-governance, scope prioritization, and especially quality assurance becomes more relevant for Salesforce implementation. All delivered in the business focused context implied by Salesforce.

Many are well aware of the Salesforce platform’s focus on test by the requirement that all code must have defined (and successfully run) test scripts which execute 75% of the lines of code (statement coverage). Otherwise deployment into production environments will be blocked. It’s often referred to as “the guaranteed 75% test coverage”. Though this approach is both unique for enterprise platforms and generally improves quality ensurance of solutions, and is an art to fully master, it doesn’t ensure the “proper” solution quality for a given solution. It has no requirements to the quality of the test scripts, it doesn’t ensure the “correct” - or any - features are tested, and most importantly it focus on verifying that code does what a developer meant it to do - not what the business expects it to do. Therefore it gives some organizations a false sense of security, and far from closes the need for broader minded test approaches to Salesforce solutions.

Capgemini Sogeti Danmark A/S is a leading local practitioner within both Salesforce and Software Testing.

Our testing services provide high confidence in testing through rapid and flexible allocation of expert resources that have high knowledge and competencies with Salesforce implementations. All our test experts are accredited in recognized methodologies like ISTQB and TMap NEXT.

Our local dedicated Salesforce implementation team has been implementing Salesforce solutions for more than 5 years and holds more than 40 Salesforce certifications.

Combining our Salesforce and testing capabilities, we sketched the following framework for testing Salesforce solutions.

Testing Framework

The Salesforce Testing Framework from Capgemini Sogeti Danmark A/S is depicted below:

A Salesforce solution can be thought of as:

  • Declarative customizations - everything a Salesforce administrator does through point-and-click in the “Salesforce setup”

  • Code customizations - APEX code, Visualforce pages, Javascript (lightning code) etc.

  • System integrations - external systems exchanging data with the Salesforce solution

  • Business process designs - how are users supposed to perform their tasks in the solution

Consequently the quality of a Salesforce solution can be defined as ensuring alignment between the four bullets above and the business needs and requirements the solution must cover through interfaces (mobile devices, desktops, websites etc.) available to employees, partners, customers, and other stakeholders.

The Salesforce testing framework will structure the task of ensuring this by offering the following components:

  • Solution definition
    The business formulates the purpose and business scope of the solution. This will be the foundation of both the implementation effort as well as drive the testing

  • Test Strategy
    Establishing the test strategy consist of two activities. First to conduct the Product Risk Assessment where the risk classes are determined. The product risk assessment is done on top of the understanding of the solution definition, and focuses on the product risks – in other words, the risk for the business if the solution does not have the expected quality. The input for the product risk assessment is the solution definition and business requirements. These are evaluated in relation to quality characteristics like functionality, performance, security etc. For each relevant combination of requirements and quality characteristic a valuation of damage (if it fails), likelihood that it will fail, and implementation technique is defined. After that the test effort is decided – which part should be tested systematically and structured, and which part should be tested experience based? This process will be supported by experience data from other Salesforce implementations to avoid over-testing requirements realized through simple platform features well tested by Salesforce, even if they are business critical.

  • Test Design
    Guided by the defined test strategy, concrete tests will be defined to match both the nature and criticality of each area. The framework contains templates and other assets to get started on this definition in the form of test scenarios (test cases) for standard processes. For experience based testing areas the framework provides test charters for exploratory testing and checklist for error guessing.

  • Test Execution
    Actually executing the designed tests is part of the implementation as well as release process. Therefore focus is on having the full overview of what must be tested to ensure “proper” quality of solution (ensured by a good test design), but also to be able to execute relevant parts of the test design fast enough to align with the organization’s Salesforce release setup. This often involves automating aspects of the designed tests. The scorings defined as part of the test design will help determine where to spend the test automation effort. Further, the framework contains assets to help automate test designs.

  • Test Reporting
    The testing framework also contains templates for reporting the test to the business and Salesforce administrators, and address aspects like product risks, defect, test results.

Closing Remarks

The Salesforce Testing Framework from Capgemini Sogeti Danmark A/S is accessible by contacting us, and can be used by the client or via Software Testing as a Service provided by Capgemini Sogeti Danmark A/S.

This Salesforce Testing Framework will be deepened in future blogs - and we expect the next theme to be regarding testing integrations between Salesforce and diverse technologies/platforms, and later more themes in details.

todo todo
  • Søren Krabbe
    Søren Krabbe
    Managing Consultant
    +45 52189792