August 2024
For context, see the testing overview page which explains how we approach testing of Lawmaker: Overview of testing and development processes.
Summary of 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?
Each new feature and bug fix has been tested to ensure that is works as expected and does not adversely impact any existing Lawmaker functionality. In addition general regression testing has been carried out.
Tests were performed using a combination of newly created documents, documents imported from legislation.gov.uk, and existing real-world documents copied from the Production environment.
To test UK Bills functionality, we used in particular the Leasehold and Freehold Reform Bill, Renters' Reform Bill, and Digital Markets, Competition and Consumers Bill, along with the corresponding tabled amendments to those bills. Version 17 introduces a new feature which makes it possible to download and upload large lists of amendments to a bill version for testing; we made use of this new feature to perform tests on those bills using large numbers of real-world amendments.
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
We identified a bug which prevented images displaying in the Editor. This has been fixed in the final version 17 build.
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.
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:
|
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 |
Version 17 includes a number of significant improvements to the automatic Tag x-refs function. This function will now identify both internal cross-references and external references to existing legislation, and tag them.
Our testing focused on the new behaviour of the automatic tagging function in a variety of document types, using real-world test data.
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 |
We tested the newly expanded referencing toolbar (which appears when double-clicking on a reference in the Editor) in all document types. We checked for potential user interface problems connected to the expanded toolbar, and we checked that initiating actions from the toolbar produced the same result as initiating those actions from the right-click menu.
We checked that the new reference toolbar had no effect on the performance of the Editor when opening larger documents.
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 |
Version 17 adds supports for Church Measures documents. We tested the core Lawmaker functions in the Editor and on the Project tab for Church Measures projects to ensure that users can draft and manage Measures in Lawmaker.
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 | Summary | 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
Issue key | Summary | 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 | Pass |
SPT-1611 | Oxygen exceptions occurring when a user accepts tracked change edits ("A problem has occurred") (included in patch release 16.2.1) | Pass |
SPT-1609 | Cross references inside tracked change deletions are re-added without deleted markup after updating cross references in the provision | Pass |
PDFs
Issue key | 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
Issue key | Summary | 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 | Pass |
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 | Pass |
SPT-1632 | Auto-applied amendment which inserts text beginning with punctuation after a <ref> element adds the text inside the <ref> when accepted | Pass |
SPT-1266 | Side-lining on auto-applied insert section amendment goes down too far | Pass |
SPT-1608 | Moving an amendment in a LoDA using the Structure View with tracked changes turned on results in the amendment being duplicated | Pass |
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 | Summary | 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> | Pass |