cancel
Showing results for 
Search instead for 
Did you mean: 

Process Code Review

MarcETIENNE
Level 3
Hello all,

In my organization, and also in many others I guess, process need to be deeply checked before going into production environment.

To verify that process is correct, of course there is embeded validation tool in Process Studio, but we have additional rules that need to be verified, such as : Object naming conventions, Data Items usage, external Objects referencies, Work Queue integration, and more.

So the idea is to verify that the process comply with defined rules by checking bprelease file, either with code devlopement, or by using tools like Sonarqube.

Do you have experience doing this, or do you have any hints that could help?

------------------------------
Marc ETIENNE
Tech consultant
Aubay
Europe/Paris
------------------------------
14 REPLIES 14

Hi Ishan,

Can you please let me know wat all validations that you were able implement by parsing the bprelease xml file.

Regards
Manjunath
RPA Technical Architect 
Bangalore India



------------------------------
Manjunath R
------------------------------

Hi Manjunath R Food for thoughts - lot of these validation depends on your development standards i.e. naming standards, nesting (blocks) stages, retries, If you have a colouring standards for blocks for input and outputs, etc.
Just for example the process Name, subpages & data Items (global Var) naming standards you can always validate those from the XML and check through Regex  Match flag Y/N if that pass the naming standards you have set - start with a small process XML either process or Object - Just try spotting around what all you need to validate with the available info and if those are matching your development standards and write your reviews as flags in a predefined excel process review template.

Or if its object Validate if the defined exception message are being thrown as per standards to have an easy picking for support team whenever any object fails in prod - Something like : Object Name + Page Action Name + Error Message. Also whether the Action has information written in it to explain what exactly it does and is not left blank sort of etc. - these all can be validated and then needs to be fed as passed/failed in a excel template for Process/Object Review Checklist.

You would have to play around with the XML to get what you need as per your development standards, exactly how Ishan Mahajan did for checking the exceptions messages validation if those are set upto standards.



------------------------------
Kindly up vote this as "Best Answer" if it adds value or resolves your query in anyway possible, happy to help.

Regards,

Mukesh Kumar - Senior Automation Developer

NHS England, United Kingdom, GB
------------------------------
Regards,

Mukesh Kumar

Hi all,

to verify Blue Prism "code", you can check the process or object XML files using XPath. A great example is given in the Digital Exchange with the DiGital DA: Blue Prism Digital Exchange

You can find some examples there how you can employ XPath to check the XML files. You can extend your checks even further by adding your own XPath rules. Those XPath rules can also be added to Sonarqube for example.

I would also like to point out with some time and investigation, you can build a automated code reviewer that can catch issues that even the developer doesn't realize exist. We took the time to build a reviewer, in C#, that parses all the exported file types and places the information in object hierarchies (eg. File>Object>Page>Stage>Parameter). We then use LINQ to run through those hierarchies finding all the different issues that are not best practice or even pointing out code problems. We can go from percentage of stages with logging enabled (high level) down to developers leaving an unnecessary line feed in a parameter value (low level). 

You can't catch everything but what you can helps out the developer as they are going along and the code reviewer so they can just concentrate on the overall flow of the process. 

ACRE Report.png

 

Micheal Charron
RBC
Toronto, Ontario
Canada

Great example, thank you for sharing! 🙂