Enabling Continuous Compliance with Confluence during Training Process Audit

In regulatory industry (such as the medical device , oil industry), the establishment of a Quality Management system (QMS) is an essential element of a business.

In this article, we explore how we could continuously audit the Training Process using our Confluence plugin QC Read and Understood for Confluence .


The cost of auditing a process manually

Via the internal audit, the leadership team is assured that the company operates in alignment with to standard operating procedures (SOPs). As the QMS matures and grows, the cost of operating the internal audits increases.

Current industry practices suggest that all compliance activities should account to no more than 10% of the total project delivery costs. However, this cost could very easily be increased mainly because of the growing amount of planning and executing audit activities.

Hopefully, the introduction of the risk-based audit using ISO 9001:2015, could reduce the pain by planning and prioritising the audit activities based on a risk based approach.

Screen Shot 2018-08-12 at 21.53.46.png

New hope with ‘Continuous Compliance’

Continuous compliance (CC) is about achieving compliance, and then maintaining compliance on an ongoing basis.

In the content of auditing the Training Process, we need to make sure that all appropriate employees have read and understood the latest version of the active Processes.


CC to Training Process using the QC Read and Understood for Confluence

In our case, we would like to check that all appropriate employees have read and understood the latest version of the processes.

By using the ‘QC Read and Understood for Confluence’ the Confluence users are able to confirm that they have read and understood a Confluence page that could contain a process.


Then, the QMS auditor by using the QC – Read and Understood table macro command is able to create an overview table that lists all the necessary processes along with the user’s approval statuses :

Screen Shot 2018-08-12 at 22.46.16


In this way, we have reduced the time needed for the QMS audit to check if all the employees have read and understood all the applicable processes by just creating an overview page and checking its content.

In addition, in this way we have created  transparent and quantitive way to measure compliance with the Training Process.

If think that this plugin might be useful in your case, you are now about  to try it out in Confluence Cloud.

Marketplace Badge-dark@2x

Integration with HipTest and Travis CI

HipTest is web-based test management platform that supports continuous delivery and bridges the gap from manual to automated testing. It provides a real-time environment for creating, executing and maintaining tests.

Travis CI a hosted, distributed continuous integration service used to build and test software projects hosted at GitHub.

We used both Hiptest and Travis CI to automatically executed our python behave test cases located at GitHub and here below we will demonstrate what we learned.

Installation and Configuration

  1. Installation of the overall setup is fairly easy since both Travis CI and HipTest provide quite useful documentation. We had to create:
  2. We set Travis CI to execute all the test cases every time the repository is changed. The status page of this Travis job is publicly available to everyone python-pdf-analytics-client .
  3. After the execution, all the test case results are set to be uploaded to HipTest test run execution called ‘Automated execution via Travis’.

What we learned

    • Both Travis CI and HipTest documentation was very useful and up-to-date based on the current configuration of their platforms
    • We liked Travis CI , it is so much easier to demonstrate the features and the capabilities of the python-pdf-analytics-client library in real time using tow different python versions Python 2.7 and Python 3.6  :
    • We liked HipTest too, all our test execution results are now stored stored in a single platform monitoring the performance over time is now becomes more easierhiptest.PNG



First blog post

Today, bills,  employment contracts, medical records, public announcements etc are delivered as (Portable Document Format) PDF file format.

Usually the content of the PDF is outcome of the chain of sub-tasks which are usually prompt to errors and mistakes. However, the content of the final exported PDF is what matters.

Therefore, when it comes for the inspection of the final PDF, as an inspector I would make sure that :

  • The right text is located in the right location
  • The correct images (logos, diagrams etc) are displayed as expected
  • The text is displayed in the correct font type and font size

These are the questions that the PDFAnalytics web-based tool (www.pdf-analytics.com) try to answer. Enjoy !


Checking a payslip

In this article we will demonstrate how the PDFAnalytics web service can be used to verify automatically the content of a payslip PDF file.

We will use the PyPI library python-pdf-analytics-client which allows to automate the most common functions of the PDFAnalytics service.  The test cases will be written by using the python behave library.

The demo payslip PDF file is located inside the GitHub repository https://github.com/pdf-analytics/python-pdf-analytics-client .

        1. The payslip document is located inside the GitHub repository 
        2. Get an account on PDFAnalytics and log in
        3. From the PDFAnalytics, upload the payslip to start the inspection as show belowupload_pdf
        4. Check the coordinates on where the expected text boxes are located inspector
        5. Create a directory for your behave_payslip
          $ mkdir ~/behave_payslip
        6. Setup a virtualenv python environment from the
          $ cd ~/behave_payslip
          $ virtualenv venv
          $ source venv/bin/activate
          $ pip install python-pdf-analytics-client
        7. Create the python behave file structure
          • environment.py : to run your environmental code
          • payslip.py : the PDF payslip document
          • features/ : to store your feature test steps
          • steps/ : to store your python test steps
          • steps/basic_steps.py, to store the actual test steps. For the test steps you can reuse (i.e. copy ) the definitions from the file on Github  basic_steps.py.
        8. Create your feature file at features/payslip_pdf.feature . Check the example below to get an idea :
           Scenario: Verify payments and logo
           Given the pdf file "payslip.pdf" is sent to be analysed
           Then I "can" see the image "payslip_logo.png", at [left, top] ["100", "100"] on page "1" in pdf
           And I read "Total gross <br>payments:", at [left, top] ["74", "599"] on page "1" in pdf
           And I read "£1021.43", at [left, top] ["160", "584"] on page "1" in pdf
           And I read "Total <br>deductions:", at [left, top] ["250", "603"] on page "1" in pdf
           And I read "£304.92", at [left, top] ["334", "587"] on page "1" in pdf
           And I read "Net pay:", at [left, top] ["430", "570"] on page "1" in pdf
           And I read "£716.51", at [left, top] ["516", "586"] on page "1" in pdf
        9. Run you behave test cases from the command line:
          $ behave -D token=|your-personal-token-ID-from-the-PDFAnalytics-site|
        10. Done !


You have find a copy of this code at the Github/examples .

If you have any questions do not hesitate to contact us.