While you can find a lot of information on the most common types of bugs on the internet, we decided to ask our testers about the interesting and out of the ordinary ones. 

Although not all of them are project-specific, the context might make you more curious about the issues. Several bugs were easy fixes but nonetheless intriguing, while some ended up being significant and postponed the release. 

BUG #1 – Investigating issues through DataBase backups 

Project context: A web-based tool for monitoring everything related to COVID cases (something a health department would use). You can log cases, contacts between infected people and possible infections, events, quarantine, and vaccination-related information, the ability to send and receive documents, and so on.

Issue: The Dev team decided to add user roles into the mix, and it had been through lots of changes on the backend as they did not manage to annotate all methods used in all cases. 

For example, the QA team discovered that users had access to Events previously. As of now, in the latest versions, they do not have access anymore.

While validating one of the fixed issues, we found a strange NullPointerException in the Logs that had nothing to do with what we were testing. We were validating if Permanent Deletion of Contacts works as expected and discovered that the health conditions tables from the DB throw this null pointer exception.

After multiple investigations on our local setup and the developer’s setup, it had become clear that this was an older issue and had nothing to do with Permanent Deletion.

We brought our data into DB because we had to upload a DB backup + the Logs in order to reproduce the issue.

The ticket resulted in a major issue and postponed the release for several days.

Lessons learned from this experience:

  1. A full regression is needed whenever there are significant changes on the backend or user roles related changes.
  2. The steps to reproduce should be as straightforward as possible so the developers can easily copy the issue. 
  3. Always make sure to have DB back-ups once you start populating your DB.
  4. Pay attention to the tickets that are logged and become major. They should have every piece of information that you can add.
  5. Never completely delete your DB data, as you might never know what hidden issues your data could bring light to.
  6. Always check the Logs if you have access to them.

BUG #2: Testing moderation workflow on a project

Project context: Open-source web content management system written in PHP. The product allows you to update the state of any given page. The possible states are: published, drafted, and achieved. 

Additionally, each time you edit a page or change its current status, it creates new revisions. This way, you end up having multiple copies of the same page, each having different content and/or status. 

With these two functionalities, editors can create a new page in the draft, add its content and finally move it to “published” for end-users to access when it’s done.

Furthermore, editors can update a “published” page back in “draft,” creating a new revision, and as mentioned, Drupal will still store the previous revision published. While editors add new content to this page under the hood, end users can still access and see what was published in the past.

Issue: The bug is reproducing when editing a page via a module called “layout configurator,” which lets you add components directly to the FE page instead of using the classic edit form in the back office. Any change you add to a page’s revision in the “draft” state will be saved to the last published revision instead, blocking editors from using the module in this case.

BUG #3 – The software automatically increments printed dates

Project context: A weekly chart showing a patient’s adherence to the exercises assigned to them by a physiotherapist. These weekly charts have a print version showing the details for each day of the week. 

Issue: For any other week than Week 1, the correct dates from the print version were incremented by as many weeks as the difference between the currently viewed week and Week 1.

For example, if Week 4 was the currently viewed week, then its dates were incremented by three weeks (Week 4 – Week 1 = 3 weeks).

BUG #4 – Restricted pages, unformatted texts, and file issues

Lastly, we have 3 cases that are common enough to happen on multiple types of projects.

  1. One type of user has access to restricted pages – although the information on the page was private and the user needed the direct URL, they could see and use the private data. 
  2. Unformatted texts and wrong timestamp localization – these defects show up once in a while, confusing the user (as the time for some entries is not correct for their region). At the same time, unformatted texts like “history.Modaledit.Card” instead of a label/value make the app less readable or solid.
  3. Files issues – In one case, the user would bulk download several files, but not all of them were saved, with no error handling on the UI. Besides, there were issues with previewing some types of files or with filename/type validations. 

Software testing aims to detect errors as quickly as possible. Awareness of the endless possibilities of bug types will only help you optimize your testing habits. We hope these bug cases gave you an interesting insight into the process of testing.