Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

August 2024

For context, see the Annex which explains how we approach testing of Lawmaker.

Summary of v.17 testing

Version 17 includes several new features and a number of bug fixes: see the release note for details What's new in version 17?

...

We also imported UK Act content from legislation.gov.uk to test performance on large documents, including the Energy Act 2023 and Online Safety Act 2023.

Issues found during testing

  1. We identified a bug which prevented images displaying in the Editor. This has been fixed in the final version 17 build.

  2. We identified an existing bug with ‘remove reference tag’ function which also could cause problems with the updated ‘tag references’ function. The issue affected some references in documents containing line numbering mark-up. This has been fixed in the final version 17 build.

  3. We observed that the automatic reference tagging function sometimes added additional reference tags around existing references; that has been fixed in the final build.

See below for more information on the specific testing outcomes related to new features and bug fixes in version 17.

Regression tests performed

End-to-end tests

The following end-to-end regression scripts and specfic feature scripts were run through by the Lawmaker team:

Script

Test result

Notes

UK Bill Test Script

Pass

UK Amendments Test Script -

Pass

UK Ping Pong test script

Pass

Editor Test Matrix script

Pass

Issue identified with the display of images in the Editor. Fixed in the final candidate build.

Scottish Bill test script

Pass

Scottish Amendments test script

Pass

Additional UK Bill and Amendment testing

In addition to the general regression scripts, additional testing was carried out of UK Bill functionality using real data from previous sessions. This focused particularly on the auto-apply amendment functionality and ensuring that no regressions had been introduced by comparing the output of the auto-apply feature in the new version of Lawmaker with the output from the current version of Lawmaker.

Bill title

Amendments tested

Notes

Renters Reform (HoC, As Introduced)

170 OPC amendments

Auto-apply outputs from Production compared with Staging; no differences found

Digital Markets, Competition and Consumers (HoL, As Brought from the Commons)

50 amendments tested

Auto-apply outputs from Production compared with Staging; no differences found

Leasehold and Freehold Reform (HoC, As Introduced)

124 amendments tested

Auto-apply outputs from Production compared with Staging; no differences found

PDF testing

PDFs were generated for a range of real and test documents and the outputs compared to PDFs generated with the current version of Lawmaker to identify and issues.

No issues were found.

New and improved feature testing

Automatic tagging of references

Ticket reference

Testing result

Description

Notes

LDAPP-4272

Pass

Extend XML markup generation to add <mref> around reference groups

LDAPP-4372

Pass

Allow users to create manual cross-references from provisions in the Editor

LDAPP-4459

Pass

Update tag x-ref behaviour to account for existing unmodified refs

LDAPP-4460

Pass

Update tag x-ref behaviour to handle manual refs

Identified and fixed issues relating to:

  • re-tagging of references in provisions containing Quoted Text elements

  • duplication of <mref> tags when re-tagging a document

LDAPP-4455

Pass

Change presentation in Editor of valid internal and external x-refs

LDAPP-4427

Pass

Tag document alias references

LDAPP-4417

Pass

Extend //mref markup to internal references when manually generating x-refs (from the Structure View or Context Menu)

LDAPP-4380

Pass

Handle ephemeral block context outside of amending provisions

LDAPP-4378

Pass

Ignore X-refs in quoted text and in parenthetical descriptions

LDAPP-4375

Pass

Improve behaviour of contextual references

LDAPP-4366

Pass

Tag references inside quoted structures and quoted text

LDAPP-4365

Pass

X-refs not tagged in text preceding quoted structures with following text

LDAPP-4364

Pass

Stop //ref elements being editable directly in the Editor

LDAPP-4356

Pass

Update all the "x-ref"/"x-refs" titles to "reference"/"references"

LDAPP-4343

Pass

Prevent inline elements (and PIs) from breaking X-refs

Identified and fixed a related issue where re-tagging or removing the reference tags from a reference in a document containing line numbering sometimes resulted in the reference text disappearing.

LDAPP-4276

Pass

Handle isolated external provision references

LDAPP-4273

Pass

Identify and mark up document alias definitions

LDAPP-4258

Pass

Convert hybrid ID of external provision references to http://legislation.gov.uk URLs

LDAPP-4419

Pass

Line number missing when ref with @ukl:alternativeReference attribute spans multiple lines

...

Documents containing the newly tagged references were then used in end-to-end tests, to ensure that existing Lawmaker functionality is unaffected by the refinements to the automatic tagging function and the tags generated by that function. We did not identify any issues relating to the interaction of core Lawmaker functions and references as part of our end-to-end tests.

Referencing toolbar and the Edit ref modal

Ticket reference

Testing result

Description

Notes

LDAPP-4353

Pass

Edit existing cross-references via modal (simplified)

LDAPP-4333

Pass

Jump to x-ref target from Editor

LDAPP-4478

Pass

Handle manual references - UI

...

User testing on Staging helped us to identify an issue with the appearance and layout of the ‘Edit ref’ modal on smaller screens. We intend to fix this in the next minor Lawmaker release.

Generation of citation footnotes in SIs

Ticket reference

Testing result

Description

Notes

LDAPP-4241

Pass

Investigate and design auto-generation of citation footnotes

LDAPP-4385

Pass

Generate amending statements

LDAPP-4389

Pass

Retrieve amending infomation for rrefs

LDAPP-4388

Pass

UI - Insert a footnote for an individual reference or group of references

LDAPP-4386

Pass

Merge amending statements into a single citation footnote

LDAPP-4446

Pass

Handle edge cases in parsing textual amendments with malformed amended provisions

LDAPP-4472

Pass

Fix capitalisation of provisions and presentation of SI titles in citation footnotes

Version 17 gives users the ability to automatically generate citation footnotes in SIs. We checked the content and format of these auto-generated footnotes using a large number of real SI documents imported from legislation.gov.uk.

Improved sorting of amendments on the Amendment Manager tab

Ticket reference

Testing result

Description

Notes

LDAPP-4448

Pass

Rework OoC sort function so it sorts amendments correctly - Back End

LDAPP-4410

Pass

Rework OoC sort function so it sorts amendments correctly - Front End

Version 17 replaces the ‘OoC Sort’ button on the Amendment Manager tab with a ‘Sort by Marshalled Order’ button that correctly sorts amendments in the table according to the order in which they will appear in official lists. We tested the new sorting using Commons, Lords, and Scottish Parliament amendments, and ensured that the ordering logic was correct. We also tested using large numbers of real amendments imported from the Production environment.

Quoted text

Ticket reference

Testing result

Description

Notes

LDAPP-4404

Pass

Inserting Quoted Text in Editor and CSS

LDAPP-4405

Pass

Changing quote marks in Quoted Text via modal

LDAPP-4432

Pass

Adjust Quoted Text formatting

LDAPP-4407

Pass

Handling Quoted Text in PDFs

LDAPP-4457

Pass

Allow insertion of a Quoted Structure when cursor is in a Quoted Text element

LDAPP-4433

Pass

Fix duplicate //mod issue when inserting a Quoted Text or Quoted Structure outside a //mod

LDAPP-4453

Pass

Quoted text causes line numbering to skip when appearing first on subsequent lines

We tested adding Quoted Text elements in UK Bills, Scottish Bills, and SIs. We checked that existing Editor functions continued to work in documents containing these elements. We checked that PDF rendering and line numbering continued to work correctly in provisions which contained Quoted Text elements.

Church Measures

Ticket reference

Testing result

Description

Notes

LDAPP-321

Pass

Create a new Church Measure project

LDAPP-3087

Pass

Church Measure template

LDAPP-4458

Pass

Church Measure XML/PDF - Refactoring hardcoded 'HL Paper' and 'HC' texts on the front cover

LDAPP-3089

Pass

Convert Church Measure to enacted

LDAPP-4438

Pass

Add Church Measure doctype to Insert Quoted Structure and Update Quoted Structure modals

LDAPP-4413

Pass

Modify Document Information fields for Church Measures

SPT-1631

Pass

Incorrect Document Push in Copy Provisions Operation

LDAPP-3088

Pass

Modify "Insert front cover" and "Insert back cover" functions (and "Finalise version" modal) for Church Measures

LDAPP-411

Pass

Generate a PDF of a Church Measure with correct styling, and display Church Measures in the Editor with correct styling

LDAPP-4466

Pass

Submit enacted Measure to TNA

LDAPP-4465

Pass

Enable Push/Pull and Insert/Update Origin Information functions for Church Measures

...

User testing enabled us to identify some features which were not enabled for Church Measures (including the push/pull function and the ‘Submit to TNA’ action for enacted Measures). We worked with the development team to enable and test those features for Measures, and have included the necessary changes in the final version 17 release.

Uploading amendment list XML to create new amendments

Ticket reference

Testing result

Description

Notes

LDAPP-4441

Pass

Upload amendment list XML - backend

LDAPP-4399

Pass

Upload amendment list XML - front-end

Editing fragments of a schedule

Ticket reference

Testing result

Description

Notes

LDAPP-4373

Pass

Implement fragmentation below the Schedule level

LDAPP-4397

Pass

Update structure view to show fragments in schedules

Bug fix testing

The following bug fixes in version 17 were tested

SI/SSIs

Issue key

SummaryUser support ticket

Test result

SPT-1703

Error when copying an SI to another project when SI doesn't have enacting text 

Pass

SPT-1700

Smart paste of SI prov1 with auto-renumber ON strips trailing full stop from num 

Pass

SPT-1695

Updated SI subject heading list 

Pass

SPT-1689

SI Paragraph (1) spacing differs in quoted structure as starting element

 

Pass

SPT-1679

Specific wordings of SI/SSI dates still causes line break 

Pass

SPT-1676

Procedure of SI on the Project tab or Dashboard is locked in after creation and unchangeable 

Pass

SPT-1671

Add OFGEM and OFCOM as new organisations 

Pass

Editor

server

Pass

Issue key

SummaryUser support ticket

Test result

SPT-1713

Editor fails to revert to using the correct document filter after an unknown action in the editor results in a failure to switch back to the LDAPPDocumentFilter

Pass

SPT-1690

Wrong placement of material dragged into containers in amendment QSs

Pass

SPT-1711

Oxygen sometimes fails to retrieve the XML from the server for operations like auto-save, save and structure view updates

Pass

SPT-1706

The "A problem has occurred" modal appears in documents with lots of spelling errors.

Pass

SPT-1702

Performance issue in getElementByGuid(Oxygen client-side code) (included in patch release 16.2.1) 

Pass

SPT-1701

TNA - Screen Jumps On Paste 

Pass

SPT-1699

Poor performance when copying a reasonable number of provisions (included in patch release 16.2.1)

 

Pass

SPT-1683

Mark as done toggle not working in certain cases 

Pass

SPT-1672

Issues with rejecting "surround" tracked changes in Oxygen v25.1. 

Pass

SPT-1653

Updates to document during a renumber operation result in strange document modifications 

Pass

SPT-1656

Promote/Demote of closing words unwraps inline formatting and footnotes

 

Pass

SPT-1631

Incorrect Document Push in Copy Provisions Operation 

Pass

SPT-1616

Strange restrictions on using the Structure View to move a Schedule in a version of a bill where a New Schedule amendment has been applied

Jira Legacy
serverSystem Jira
serverId18b81902-662f-326c-8748-cd8a7213ac3e
keyLMS-2739

Pass

SPTPass

SPT-1611

Oxygen exceptions occurring when a user accepts tracked change edits ("A problem has occurred") (included in patch release 16.2.1)

Jira Legacy

System Jira
serverId18b81902-662f-326c-8748-cd8a7213ac3e
keyLMS-2803

SPT-1609

Cross references inside tracked change deletions are re-added without deleted markup after updating cross references in the provision

jiraPassserver

PDFs

System Jira

Issue key

serverId18b81902-662f-326c-8748-cd8a7213ac3ekeyLMS-2796

Pass

PDFs

Issue key

Summary

User support ticket

Test Summary

Test result

SPT-1696

Quoted structure in change track have incorrect indent 

Pass

SPT-1693

Text in ukpga quoted structure //section/intro is not justified in PDF

 

Pass

SPT-1692

Page numbering broken from page 10 onwards in Scottish Parliamentary Amendment lists 

Pass

SPT-1691

Empty paragraph element wrongly aligned in PDF 

Pass

SPT-1682

Long hyperlinks (URLs) that are split across multiple lines have line spacing issues in the PDF and CSS issues in footnotes in the editor 

Pass

SPT-1558

Resolve PDF rendering issues caused by missing attributes on quotedStructures (ukl:docName and ukl:indent) 

Pass

Amendments

server

Pass

server

Pass

Issue key

SummaryUser support ticket

Test result

SPT-1651

Auto-apply: amendments which leave out words after a Defined term can't be applied if the quotation marks on the defined term are included in the amendment instruction

jiraPass

serverSystem Jira
serverId18b81902-662f-326c-8748-cd8a7213ac3e
keyLMS-2740

Pass

SPT-1646

Extra spaces appear in certain SPT-1646

Extra spaces appear in certain substituting amendments when auto-applied to a bill version 

Pass

SPT-1633

Auto-applying amendments to rref elements sometimes results in too much text being included in the rref; original rref's href attributes also persist

Jira Legacy

System Jira
serverId18b81902-662f-326c-8748-cd8a7213ac3e
keyLMS-668

SPT-1632

Auto-applied amendment which inserts text beginning with punctuation after a <ref> element adds the text inside the <ref> when accepted

jiraPass

serverSystem Jira
serverId18b81902-662f-326c-8748-cd8a7213ac3e
keyLMS-668

Pass

SPT-1266

Side-SPT-1266

Side-lining on auto-applied insert section amendment goes down too far

Jira Legacy
System Jira

serverId18b81902-662f-326c-8748-cd8a7213ac3e
keyLMS-76

SPT-1608

Moving an amendment in a LoDA using the Structure View with tracked changes turned on results in the amendment being duplicated

jiraPass

serverSystem Jira
serverId18b81902-662f-326c-8748-cd8a7213ac3e
keyLMS-2785

Pass

SPT-1541

Auto-SPT-1541

Auto-saved traditional amendments in an inline LoDA cannot be restored into the working version 

Pass

Document management (Project tab, comparison, permissions etc.)

Issue key

SummaryUser support ticket

Test result

SPT-1662

Duplicating an 'Auto backup' snapshot results in the wrong XML content being retrieved - later changes are included in the duplicate 

 

Pass

SPT-1218

User who first created document still has read-only access when their permissions are removed 

Pass

SPT-1677

ALL CAPS text is displayed with additional spacing in the Edit Portion dropdown 

Pass

SPT-1648

Opening an Edit portion document in parallel with others causes issues 

Pass

SPT-1645

When logging out with two Editor tabs open (one containing a portion of a version), it's not possible to 'Save all changes' in the 'Unsaved changes' modal 

Pass

SPT-1665

Comparison output moves opening words into the wrong position on Scottish Bill 

Pass

SPT-1657

XML comparison functionality doesn't handle processing instructions appropriately 

Pass

SPT-1627

Incorrect comparison result when an x-ref has been updated within a <mod>

Jira Legacy
serverSystem Jira
serverId18b81902-662f-326c-8748-cd8a7213ac3e
keyLMS-2836

PassPass

Annex - Overview of testing and development processes

This annex outlines how we implement quality control in relation to changes to the Lawmaker application during the development process and as part of the release process.

Testing during the development process

All new features and bug fixes are implemented by a multi-functional development team operating in an agile manner.

To ensure the quality of those changes, we implement the following steps:

  1. The initial developer working on a feature or bug fix will, at the same time as writing the necessary code, write automated tests (“unit tests”) or modify existing ones, that can be run in future to ensure the feature/fix is still working as intended.

  2. A second developer peer reviews the codes changes made by the first developer and the tests, before they are merged into the development environment.

  3. When a change is merged into the development environment, all existing unit tests are run against the updated version to ensure that they still pass. If they don’t then the change will not be merged.

  4. The new feature or fix is then tested by a QA engineer or another developer in the development environment to ensure it works as expected. A member of the Lawmaker service team tests feature/fix to ensure it meets the original specifications/expectations (this is effectively “user acceptance” of the change within the agile cycle).

If an issue is found at any of these stages, either it is passed back to an earlier stage in the process to be resolved or a separate task is created to resolve the issue.

Testing as part of the release process

Before any significant or minor release, a series of additional testing is carried out to ensure the quality of the release. The aim of this testing is to ensure that all new features and fixes work as expected when integrated together and also that no regressions in existing functionality have been introduced.

It is impossible to completely rule out any possibility of a regression being introduced somewhere but the testing aims to ensure that all business critical paths through the application work as expected and any defect introduced has only a minor impact on users.

So far as possible all issues found during release testing will be rectified before the release but work is prioritised as follows:

  • if an issue affects a business critical paths then it will be fixed and retested before release,

  • if it otherwise has a non-minor impact on users or could significantly erode user confidence in the robustness of the Lawmaker service then they will be fixed and retested before release,

  • if it has a minor impact on users or is a pre-existing issue that is not being introduced by the release then it may be recorded in our issue-tracking system and addressed in a later release.

As part of the release process, the following steps are taken to ensure the quality of the release

  1. An updated version of Lawmaker incorporating all changes is deployed to the Staging environment, which (apart from scale) is an exact replica of the Production environment.

  2. Each new feature and bug fix included in the release is re-tested in the Staging environment.

  3. A series of “end-to-end” test scripts are run through to ensure that the business-critical paths through the application work as expected. These scripts cover, in particular:

    1. Drafting and managing a Scottish Bill

    2. Drafting and managing amendments and the amendment process for a Scottish Bill

    3. Drafting and managing a UK Bill

    4. Drafting and managing amendments and the amendment process for a UK Bill

    5. The “ping pong” process for UK Bills

    6. Drafting and submitting an SI/SSI

  4. A series of specific tests on particular areas of Lawmaker functionality are carried out, including:

    1. individual features and functions within the Editor,

    2. PDF generation,

    3. converting inline amendments to traditional amendments, and

    4. automatically applying amendments to a Bill.

  5. Additional ad hoc testing by the Lawmaker Service Team also takes place in relation to any aspect of the application that is considered to be at particular risk of regression as a result of the changes made.

  6. A series of automated load tests are carried out to ensure that the changes made in the new release do not have an impact on the robustness of the application.

  7. Senior users within each user group are notified when the updated version of Lawmaker is deployed to the Staging environment and given the opportunity to view the changes and carry out ad hoc testing if they have capacity. Any feedback received from those users is reviewed and may either feed into further changes before the release (e.g. if a bug is identified) or will be recorded so that it can be addressed in future releases.