Unit testing is important but… where do I start?

If you have attended the increasingly popular CRM Saturday conference, you probably gained some valuable insights around the key aspects of delivering successful CRM implementations, and how to overcome the main challenges one may face during the implementation.

If not, I encourage you to visit the web site, it has great speakers, great content, and lots of networking opportunities… not to mention is one of the few Dynamics events out there where attendance is 100% free.

Two of the sessions were around test automation and how to implement a true DevOps strategy for Dynamics CRM, two key areas and best practices to increase the overall quality and healthiness of your CRM implementation, which, in turn, would give you the following benefits:

  •     Turning your customers into even more happy customers  (external)
  •     Making your colleagues a bit less stressed because of regression / production bugs will be reduced (internal)

If you are still not convinced about why your team should unit test your code, here’s another blog post with the slides of the test automation presentation.

Once your team realises how important unit testing is, the next immediate question probably is:

  • “Ok, I have an implementation which has been running for years , and I have a bunch of existing code, not tested. At the same time, I have a limited set of resources and trying to unit test everything would be mad… where do I start?”

Ideally, one should achieve a code coverage above 90%, but if you have limited resources, my advice would be: the 80/20 rule.

Try to find the 20% of your code which represents at least the 80% of the total number of executions or executed time, just because if there is a bug in there, then it is likely to affect more users than a piece of code which is executed from time to time only (this might be actually more complex as maybe something than just runs from time to time may have a bigger impact based on a million different variables… but I hope you get the idea).

The next question might be…. how to measure it?

Well, it turns out, from a plugin / codeactivity perspective, you could extract that information from the System Jobs entity rather easily.

Every time a plugin / workflow is executed, a new entry in that table is created, with the Created On, Completed On, fields etc, so you could actually measure how much time a single workflow / plugin execution took. If you have an On-Premise installation, then that is just a SQL query with some groupings, if On-Line, then a data extract plus some Excel manipulation magic should be enough too or… make use of the great Organisation Insights feature in AppSource:

Are you unit testing your code? If so, how did you start unit testing legacy code? Did you use a different approach? We would love to know more about your own experiences.

Please leave a comment below.

CRM Saturday – Free CRM Technical & Strategy Event

I really enjoyed CRM Saturday at Microsoft in Paddington, London. Great day and very insightful sessions from all the speakers. Nice to see all the familiar faces again. I have finally met personally those who I have connected only on Linkedin or I have knows only their blogs e.g. Ben Hosking, Marius Agur Pedersen and many others.

It was fantastic well organised event with very informative sessions. I highly recommend CRM Saturday to all CRM professionals. It is a great occasion to see many colleagues from the Dynamics community. See you at the next one!

If you need more information about CRM Saturday 2017 please visit following links:

  1. What I learnt from CRM Saturday Paddington by Ben Hosking
  2. Agenda for CRM Saturday London

Comprehensive online guide for Dynamics 365

CRMBOOK published by PowerObjects can be useful for CRM users on different level of experience with this product. It also covers many topics from previous versions of Dynamics CRM e.g. 2011, 2013 to show for example how a navigation was changing to improve user experience.

The content of this book covers topics ranging from the basics to the more advanced questions about CRM administration and extending as well.

The idea with online book is really great,  especially when Dynamics CRM is chaining so often and we experience so many releases, updates,…

PowerObjects decided that they would not bother with print and publish an online book that could be easily maintained – reallygood point.

www.xrmarchitects.com – Innovation and Excellence in Microsoft

I was happy to accept invitation from Simon Jackson to be an associated CRM/AX Solution Architect with XRM Architects.

The website www.xrmarchitects.com went live and shortly team page will go live as well.  XRM Architects specialise and provide bespoke Microsoft Dynamics 365 solutions. Implementing the right CRM solution first time for the client is a priority for XRM Architects. Getting it wrong is very expensive waste of time and resources, isn’t it ?

I follow Simon’ articles on Linkedin, posts and blogs. I think he really does a great job for CRM community. I was impressed his innovative and interactive blog – well done. His blog was also very informative for me last year. Please look yourself as well – https://crm-musings.blogspot.co.uk/

The readers can even switch between custom views for posts e.g. Flipcard, Mosaic, Sidebar, Snapshot, Timeline. My favourite view is Snapshot – https://crm-musings.blogspot.co.uk/?view=snapshot

Last, but not least I highly recommend to read 11 Top Tips for CRM Success from XRM Architects. There you will find 11 top tips to getting CRM system implementation right the first time.