800-222-9711

Loading...
Screenshot of part of the Regression Testing spreadsheet, with the columns: Screen, Open, CRUD functions	Menu / Toolbar functions	Tab order	Buttons / Labels, Functionality, and Tester. The Screen column lists various parts of the Patron module, and the other columns include checkmarks or notes of what the tester found. This section of spreadsheet was tested by John C.

In this week's blog post we're pulling back the curtain on part of the software development process called "Regression Testing." It's definitely not the most glamorous part of getting a major new release sent out. In fact, it can be incredibly tedious, but even so, it's a critical part of the process. So, let's talk about what it involves, why you should care about it, and why we're doing it right now.

Why are we currently doing Regression Testing?

KLAS is built on Progress Software's OpenEdge Application development platform. KLAS 7.7 was created on OpenEdge 11. Upgrading from one version of OpenEdge to the next includes significant changes and additional features and functionality our development can leverage in future KLAS releases. For example, OpenEdge 12 will allow us to support KLAS on Windows 11. Any major upgrade to the OpenEdge platform necessitates a major release in KLAS because it fundamentally changes KLAS' code base. So, this translates into needing to make sure upgrading from OpenEdge 11 to OpenEdge 12 doesn't affect how KLAS currently operates. 

Additionally, a major operating system change (such was Windows 10 to 11) can also have unpredictable effects on how KLAS runs. As such, we are regression testing in several Windows environments: Windows 10, Windows 11 prior to version 22H2, and the latest version of Windows 11.

How does Regression Testing happen?

Essentially, Regression testing is the process by which our staff test every feature, button, and process within KLAS after a major shift in the underlying KLAS platform to ensure it still works as intended. One thing to keep in mind is that some modules of KLAS have different versions for our different types of customers (IRC, LBPD, and PNDB), so each of those versions has to be thoroughly tested. Integrations and web services need to be tested to ensure that KLAS still communicates correctly with PIMMS, Gutenberg, Rolka-Loube, and even just our own WebOPAC and WebOrder systems. Finally, we need to check that nothing has broken for those using KLAS with a screen reader.

So, during Regression Testing each module, tab, and function is put through its paces to make sure it works and anything unexpected is documented. Here's how that happens:

  1. A copy is made of a test database (originally based on customer data) representing each version of KLAS: LBPD, IRC, and PNDB.
  2. The new test databases are upgraded to the new version.
  3. In this case, Virtual Machines are created running the latest version of Windows 11, and the same test databases installed on the VMs. 
  4. A spreadsheet is created of all modules and major components in KLAS. 
  5. All Keystone staff that are helping with testing use the spreadsheet to record their process as they work through through each screen and function they're assigned to test, recording what has been tested and in which version of Windows.
  6. Notes are made about any issues that are discovered, so they can be addressed and re-tested prior to sending the release out to our beta site customers.

What does this actually mean for me?

It means we've completed the OpenEdge 12 upgrade in our development environment, are making sure it is stable on both Windows 10 and Windows 11. Upon successfully completing regression testing, we will release KLAS v7.8 to our beta site customers. If they report no major issues or bugs that we missed despite these efforts, KLAS 7.8 will then go to general release.

Because of the countless ways KLAS can be configured, and the extensive possible combinations between customer version, Windows version, web browsers, printer drivers and so forth, it is impossible to test literally every process in the exact environment you will run it in. However, we are doing our best to be as thorough as possible, so you can be confident that the upgrade will not disrupt your operations.

Log in to comment