19
Testing Best Practices for Dynamics 365 Solutions Stefano Tempesta

Testing Best Practices - Amazon Web Services · Fake XRM Easy Value Proposition •Easy & fast to write •Easy to understand and review •Consistent across developer teams •Have

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Testing Best Practicesfor Dynamics 365 Solutions

Stefano Tempesta

Unit Testing

• Individual units of a software are tested.

• The purpose is to validate that each unit of the software performs as designed, in isolation.

• Fake objects are used to assist in unit testing.

• Focus on the tests that impact the behavior of the system.

UNIT TESTING

INTEGRATION TESTING

SYSTEM TESTING

ACCEPTANCE TESTING

Integration Testing

• Expose faults in the interaction between integrated units.

UNIT TESTING

INTEGRATION TESTING

SYSTEM TESTING

ACCEPTANCE TESTING

System Testing

• The complete and integrated software is tested.

• Evaluate the system’s compliance with the specified requirements.

UNIT TESTING

INTEGRATION TESTING

SYSTEM TESTING

ACCEPTANCE TESTING

Acceptance Testing

• Evaluate the system’s compliance with the business requirements.

• Assess whether it is acceptable for delivery.

UNIT TESTING

INTEGRATION TESTING

SYSTEM TESTING

ACCEPTANCE TESTING

Dynamics 365 Test Scenarios

• Integration between Dynamics 365 and an external system

• Integration between Dynamics 365 and a Web Form

• Integration between Dynamics 365 and a Portal

• Web Service is consumed by Dynamics 365

Integration Testing Considerations

• Data mapping – Map source data fields to their related target data fields.

• Consistency of Data Type – Field data type and size should be consistent in both systems.

• Count of Records between source and destination.

• CRUD – Create, Read, Update, and Delete operations.

• Failure Message – System or network failure.

• Verification of Records.

• Data extract frequency.

EasyRepro

https://github.com/microsoft/EasyRepro

- Automated UI testing

- Built on Selenium Webdriver

Available also as NuGet Package

EasyRepro - Functionality Covered

• Activity Record Wall

• Business Process Flow

• Charts

• Commandbar

• Dashboards

• Entities (Create, Update, Delete, Duplicate Detection, Assign)

• Global Search

• Guided Help

• Grids

• Sub-Grids

• Navigation

• Notifications

• Performance Center

• Quick Create

• Run Workflows

• Run Reports

Fake XRM Easy

https://github.com/jordimontana82/fake-xrm-easy

• Built on top of FakeItEasy framework

• Simulate a CRM Organization – in memory!

• Abstract the IOrganization service / REST API

• Available for Dynamics CRM 2011+ and 365

Fake XRM Easy Value Proposition

• Easy & fast to write

• Easy to understand and review

• Consistent across developer teams

• Have a Dynamics CRM friendly syntax

• Reduced learning curve: as testing uses friendly CRM syntax

• Reduced test maintenance: because no need to mock anything

• Unit test execution closer to a real CRM execution environment

Leapwork

https://www.leapwork.com

• Commercial framework

• Codeless Selenium automation

Data-driven Automation Flow

Azure Test Plan

• Manual and exploratory tests

• Part of Azure DevOps suite

• Test across web and desktop

• Continuous Testing

Thank you!

@stefanotempesta

/in/stefanotempesta