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

John__Carter
Staff
Staff
Salut Marc - as you know, the validation tool is limited to checking for syntax errors and things like that; it can't check for bad ideas (yet!).

Really the best option is to create a strong procedure for QA during the delivery phases: at the pipeline stage (is this a good idea for automation, what are the benefits and risks etc); at the design stage (is this design efficient, secure and will it meet the agreed scope and requirements etc); at the build stage (has this been built according to best practice, does it reuse existing components etc); at the test stage (have we tested this thoroughly, have we covered all scenarios etc); and at the acceptance stage (does this automation meet the requirements agreed with the client). Even after implementation you should continue to monitor performance and give each process a 'healthcheck' from time to time.

If you haven't already done so, please take a look here https://portal.blueprism.com/rom/implementation/delivery-methodology

And maybe check out some basic tools such as this https://portal.blueprism.com/documents/build-review-checklist

------------------------------
John Carter
Professional Services
Blue Prism
Europe/London
------------------------------

Hello John,

Thanks for you useful advices.
I agree there must be some strong process review and QA testing during all of the RPA process creation cycle, from inception to production delivery.

But more precisely, my objective here is to validate a process before it is loaded in QA environment, which is last environment before production. This stage is of course made by a Blue Prism expert, but some verifications can't be done manually, or are too much time consuming.

So I would like to have advices, about possibilities, limitations and best pratice for developping an automated tool that whould automatically check specific rules for a process, based on the analysis of a BP Release file.

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

I got what you meant to do and yes there is an option,

if you review the release file closely, it is all xml, you need to identify how the tool is validating the stages, how the object/process name appear in the release file, they all comes in defined tag/attributes. once you study that you can simply parse the xml, put up some string operations and get your code review done.

I tried it and it is possible.

------------------------------
Ishan Mahajan
------------------------------

Which tool for defining rules and parsing the XML you would recommend, or how was your approach?

Thanks​

------------------------------
Walter Koller
Solution Manager
Erste Group IT International GmbH
Europe/Vienna
------------------------------

We used XML object provided by Blue Prism and multiple string operations, below is the approach you can use,

1. Get understanding of the xml code and identify what are things that can be validated.
2. find a pattern in the xml for these checkpoint.
3. utilize blueprism to extract that information from the release file and write resutls to an excel sheet.


for example - i wanted to check what types of exception thrown by the developer in a code, so if you analyse below xml,you will notice tthat exception type always appear in same tag, so you need to extract all 'Stage' tags and then apply string operations to reach till '<exception Type' keyword and you can identify all types of exception thrown by the code.

If you have a list of available types, you can validate the actual exception types with the expected exception types and show compliance % as well in result file.


<stage stageid="28019dc7-91aa-4e28-b23c8-2564e6d93422" name="Unable to login" type="Exception">
<subsheetid>6d304ddc-236f63-42e0-9624-652e3937f309</subsheetid>
<loginhibit onsuccess="true" />
<narrative>
</narrative>
<displayx>510</displayx>
<displayy>375</displayy>
<displaywidth>120</displaywidth>
<displayheight>30</displayheight>
<font family="Segoe UI" size="10" style="Regular" color="000000" />
<exception type="Can not Login Exception" detail="&quot;Object : Summary_Page_Actions; Page : Get Line Item Details ; Timed Out Waiting For Line Item Details Page To Load&quot;" />
</stage>

------------------------------
Ishan Mahajan
Tech Lead
Wipro Technologies
Asia/Kolkata
------------------------------

I see, thanks for the explanation.


------------------------------
Walter Koller
Solution Manager
Erste Group IT International GmbH
Europe/Vienna
------------------------------

MelissaSuarez_G
Level 6
I agree with everything that you need to validate your process is already included in the XML files. We did just that in my organization.

We created a process that takes a file name as an input and it validates all of our best practices: naming conventions, exception details, hardcoded values... and even the color of the blocks. This doesn't eliminate the manual review completely, someone still has to validate that the logic of the automation makes sense.

------------------------------
Melissa G.
America/New_York
------------------------------

​can we get the document or design here

------------------------------
VamshiKrihsna Dasa
System Architect
Fujitsu India Consulting Pvt. Ltd.
------------------------------
VamshiKrihsna Dasa System Architect Fujitsu India Consulting Pvt. Ltd.

Hello, 

I must say that I'm interested too in getting the document or design. 

Thanks in advance

------------------------------
David GARSI
Technical Lead
Accenture
Europe/Paris
------------------------------