Hello Everyone,I started working on ATL for our ISV solution,The Acceptance Test Library is made publicly available with 10.0.2.
One month back,when IÂ started working on it, I had many questions in my mind about Acceptance Test Library(ATL).Why we need ATL and its for D365 Finance & Operations. Here I am posting few answers of the questions those came up in my mind when i started development with ATL.
Why ATL?
The Partners keep releasing their ISV Solutions to meet the concept of Dynamics 365 Finance and Operations #OneVersion and must have an ability to update their application frequently and test the solution in days and hours (not months and weeks).So automated testing play a important role in Dynamics 365 Finance and Operations.
Even Microsoft released another tool for regression testing RSAT(Regression Suite Automation Tool) is already playing decent role to perform the testing activities, But it definitely does not place most organizations in a position to have 100% coverage for all business and technical scenarios.
Here comes ATL . ATL is indented to be used by developers to ensure the implementations is as expected. its not indented for SIT or UAT. For those you need RSAT
Here comes ATL .
What is ATL framework
ATL is indented to be used by developers to ensure the implementations is as expected. its not indented for SIT or UAT. For those you need RSAT.
it is a library of around 5000 classes that makes it really simple to author quality X++ tests. The Acceptance Test Library is made publicly available with 10.0.2,ATL framework – available with the 10.0.3 update(PU27) and ATL wizard – available with the 10.0.4 update(PU28)
ATL and Unit Test Framework are orthogonal where ATL is class library, making authoring of test easier and SysTest is still the execution engine for tests that uses the Acceptance Test Library.
The ATL framework is a powerful idea where acceptance tests are created when the requirements are analyzed and developers implement the system using the acceptance tests before the production coding begins.d
Microsoft provided few sample tests which covers almost all modules and found few classes which are under development while preview release of 10.0.5(PU29)
Benefits of ATL framework
- This is very simple same as for any Unit Test. Just create a class extending SysTestCase and add public methods with [SysTestMethod] attribute.
- Standardized and uniformed approach for addressing:
-  Test data setup – for individual test case or test class
- Test data suite setup – for a feature or a set of common test classes
- Test validation
- Test querying needs
- It is so powerful, one-time creation efforts to writing test helps developers to repro a bug and features instead of going through the UI.
- Its very easy to change the Tests with minimal efforts with product change.
- ATL test cases can be be part of scheduled build through Azure Dev ops.
- It is also supporting “run as user” of SysTestFramework.
- The test is repeatable, debuggable and prevents regressions, whereas manual navigation of the UI is time wasted.
- ATL specifications have built-in validation mechanism with consistent failure messaging.
- it is precise. One line to add on-hand for an item, one line to create a sales order, etc. That is because the ATL API is fluent.
- If you write these examples using ATL, then you can run the examples as tests, and if they pass you know the system behaves according to specification. No more stale documentation or manual test required.
- The development efforts are not much due to re-usability of X++ objects.
I will keep posting my ATL technical experience and how to start the development with ATL in next posts.