Facts about CRM testing

 

Forrester* has reported that 22% of all reported problems to successful CRM implementation were people-related or linked to user adoption. The slow rate of adoption of CRM is due to multiple reasons, but the complexity of using a CRM application is the most common one. This majorly happens because the CRM is often not an IT priority compared to other areas.


CRM is not a one-size-fits-all for each stage in the customer lifecycle. Salespeople and CRM users alike must recognize when to rely on technology and when to simply pick up the phone. With a major shift in CRM adoption trends and functionality, there will be a huge testing need for CRM specific testing. Also, now the CRM applications don’t just function independently, but when integrated with other tools/applications, a CRM beast can be created. Ex.  When we talk about Microsoft’s Relationship Sales, which is a combination of MS Dynamics 365 and LinkedIn Sales Navigator.

As a basic functionality in a CRM application, almost everyone wants contact management, interaction tracking and schedule/reminder creation. But more and more customers are becoming aware of the advanced functionalities like, email marketing and sales pipeline/funnel monitoring, and then there is advanced level reporting/analytics (by integrating with other platforms/tools. Now with these features being available, the next major requirement of CRM users is for lead generation/management.

CRM is NOT just about gaining new customers but it is also about managing and tracking the existing customers

Forrester** states that by 2018, RPA (Robotic Process Automation) will replace and/or augment 260,000 US sales and related positions. Most implementations do not identify testing as an independent function required during the implementation of a CRM product, while others do not engage the testing teams early enough. Involvement of testing team at the later stage mostly results in increasing the overall cost of the project. A buggy or poorly implemented feature of a CRM application can have direct impact on customer relationship and hurt the revenue. Equally, a well-implemented CRM can help you gain customer insight and improve customer satisfaction and loyalty. There are multiple factors to be considered for successfully testing and implementing a CRM application.

Key testing Areas in CRM:

  • Mobility: CRMs should provide a seamless, cohesive customer experience across multiple screens and devices. CRMs provide responsive interface for their CRM application to be accessed. Not only this, but many CRM providers have developed independent applications for different platforms (ex. Android, iOS, Windows, etc.). Hence testing a CRM for its platform compatibility is crucial.
  • Social CRM: Testing during CRM implementation is not just restricted to the application, it is also important to test the application’s functionality when integrated with various social media platforms.
  • 3rd party Integration: The functionality of CRMs are not just limited to the interface. With other enterprise level applications in picture, a CRM is seldom integrated with them to be accessed through different interfaces. The data entry into the CRM stays the same but ensuring the integration has been correctly done and the user is able to enter data from the desired interface needs to be well validated.

2

  • Data Level Testing: Data is the most critical part of any CRM. Today many companies are setting up teams specifically to manage the data, hence it is important that the data management be given major priority. Of all key areas, this is the most critical area w.r.t. any CRM application. The key aspects to be considered while testing for data integrity are:
  • Testing for Data Integrity: Data management and testing needs to be done at all stages and can be affected due to multiple factors – data upload, release upgrade, environment related changes and many other variable factors.
  • Data Mapping: It is important that when data is uploaded into the CRM the mapping of data to its respective fields be correctly done. All the required data must be checked and ensured no data is missing.
  • Duplication: Often during a fresh upload of data, there is a lot of data redundancy, which should be critically assessed and be taken care of
  • Data Sorting: With huge data sets, it is important that the sorting functionality works well on the designated fields.
  • Role level data security: With CRM in place there are 100s and 1000s of users using the application. With this it is important that
  • Search flexibility: The users must get flexibility to search on the basis of name, ID, company etc. For the purpose of search any key word should work.
  • Graphical data representation: All CRMs provide users to view their data in the form of detailed reports which are often represented in the form of Graphs. Hence, it is very crucial that the reporting and graphical representation functionality be well tested.
    Key Challenges faced while testing a CRM:
  • Test Data Management: A quick look at the number of defects reported by testing team/users with root cause of incorrect test data shows the importance of Test data management.

1

  • Test Environment: Creating multiple test environments is expensive, hence sharing and reusing the available infra and environment is imperative.
  • Replacing the Legacy Systems: Often companies are not discarding their legacy systems and replacing them with new CRM applications (mostly cloud). This calls for massive data migration. Also post implementation there are several functional challenges. If not tested properly, this often affects the user experience and some serious financial losses to the organization.
  • Product/Domain Expertise: All CRM applications available in the market are nearly the same, but with minor configuration differences. Some may give extreme flexibility to make customizations in the applications as per user requirement (ex. Salesforce), while some may provide standard functionality and configurations (ex. Zoho CRM).
  • Designing the right Strategy: A systematic and disciplined testing approach is required to design the testing strategy that efficiently aligns testing with business requirements. For this there should be well defined testing cycles in advance of activity.
  • Tool Selection: Based on the type of CRM being used the tool to be used for Test automation may get varied, as the architecture of different applications is different. There are a wide variety of tools available in the market to choose from for various testing types. All tools are not commercial, and now the Open source market occupancy is also increasing with time. It is imperative to choose.

Testing Types to be considered for successful CRM implementation:

  1. Functional Testing: This deals with the testing of the application for its functional and data correctness. This needs to be performed at various levels/processes: Organization wide default, access levels, pre/Post Authorization and during transaction processes/data entry. This can be divided into 2 sub categories:
    • End-to-end testing for defined processes: Scope of TCs in end-to-end business process testing begins when data flows between multiple users and the functionality involves collaboration between these multiple users. Which means, that different teams have separately defined processes. These processes may or may not utilize the same screens/flows. With change in flow the calculations or final field results may change. Hence, it is important to perform an end-to-end testing of these processes.
    • Integration Testing: When code level customizations are done or when the system is integrated with other 3rd party applications, at each stage testing needs to be performed. Some of the major focus features are: Field/Label matching, date format, reports, sorting order and data validation (data roll up).

    Recommended Tools: Selenium, Appium, Robotium, OpKey, HP QTP, Test Studio

  2. Security Testing: Security is a critical concern for all organizations while implementing a CRM. This is because, it is accessed not just by internal users but also open to all customers or external users. This can be sub divided into 2 parts:
    • Application level Security: Since a CRM system contains high volume of confidential data which should be kept secure and out-of-reach of hackers’ hands. For this is important, that the system be scanned regularly for any vulnerabilities/entry points into the application.

    Recommended Tools: Archani Framework, Skipfish, Zap, Paros Proxy, BurpSuite, Wapiti

    • Role/Access Level Security: With multiple user roles in the applications, the user privileges for each role are limited and controlled by an administrator. This is to ensure that no sensitive information is edited or leaked to users that do not require a particular piece of information. Hence, it is important to check that some major functionalities like view, update, create and delete are available to users based on the privileges assigned.

    Recommended Tools: Selenium, OpKey, Robot Framework

  3. Performance Testing: The performance of a CRM application will directly influence the levels of user acceptance. Performance testing measures the performance of the system under high user concurrency for various parameters:Response time, load bearing capacity, resource utilization and the maximum user lead bearing capacity of the system.
    Recommended Tools:
    jMeter, Neoload, HP Load Runner

  4. API Testing: APIs are an integral part of how a CRM works. The more we rely on web-based CRMs, the more crucial it is that the API Testing is done properly and are available for end users. Also, whenever a CRM is integrated with any 3rd party tools is involved, multiple APIs are involved. Hence it is important that API testing be performed during each stage of implementation and integration.
    Recommended Tools:
    Rest Assured, Ready API, OpKey.
  5. UI/UX Testing: Ease of manage/use an application is what enables the users to adopt any new product. But, the first must catchy thing that grabs a user’s attention is the look and feel of the application which is UI (user interface). Validating that the UI is as per the requirement document is very important. In case of a CRM, the UI plays a very important role, as the fields and buttons on various screens are placed in different categories. With UI testing, we are able to validate that whether the objects on screen are aligned as per the document.
    Recommended Tools: Applitool, Test Complete, OpKey, Sikuli


Test Strategy/Approach:

Due to short release cycles and massive areas to cover regression testing often takes a back seat during an upgrade. Hence, I recommend using a mixed approach for testing which is a combination is of – manual testing & test automation. With this approach test automation covering 80% and manual testing covering 20% of total testing scope.

Right Test automation approach must align with and cover a few critical aspects:

  • Data/Field level validation: CRMs include massive amount of data (up to a few TB at times), and also there are plenty number of fields where the data is uploaded. With Test Automation in place for each Testing type, test coverage in each release cycle increases substantially, resulting in increased testing coverage, lesser bug leakages and better quality implementation.
  • Regression testing: Even before/after migration regression testing is continuously required. After migration it is critical to check whether the values are populated into the correct fields and validations are matched with the data. This helps to measure the functional correctness and completeness of the CRM application. With the help of regression testing the reliability and performance of the application can be ensured.
  • Aligning with DevOps: In the age where everyone is looking forward to integrate with DevOps, testing becomes very important, with the motto “Test more, test more often”. Nowadays, most of the test automation frameworks available in the market readily integrate with various CI-CD tools like JIRA, Jenkins, etc. so that the test automation activity is automatically inclined with development cycles. With the right mobile test automation strategy, one can seamlessly integrate their testing cycle with the DevOps, and also achieve maximum test coverage earlier in the cycle.


Footnotes

*”How to Risk Proof your culture from CRM”
https://www.forrester.com/report/How+To+RiskProof+Your+Culture+For+CRM/-/E-RES48381

**” Top CRM Trends That Will Shape The Industry In 2018”

https://go.forrester.com/blogs/top-crm-trends-in-2018

About the Author:
Nikita Sood is a Solution Architect in CresTech Software Systems’ Pre-Sales Team. Nikita has good experience in the information technology industry, with experience spanning test automation, mobility, cloud, solution designing and technology consulting. Nikita can be reached at nikita.sood@crestechglobal.com

About CresTech:
CresTech is a market leader in providing Software Quality Management Solutions & Services. CresTech’s solutions & services have helped organizations meet their project time lines, budget and quality goals. With a commitment to offer the best and experience in delivering quality solutions & services across industries, the company has 250+ test specialists with global delivery centres across Noida, Bengaluru, Gurugram and USA.

 Download: CRM test automation_v1.5 (Pdf , 1,022.90 kB )