Testing project lessons learned

I was just thinking about where to post or how to go about with knowledge sharing of lessons learned within the team. I ended up collating a bullet list of what could be classified as my lessons learned (or relearned) or just some stuff I found interesting that I managed to keep note of. Just to give some context, I joined this project in March and it’s still ongoing. We’re building the front-end of a web application, and so for the data and the back-end we’re just relying on mocking. We are two testers in this project where I do the functional testing manually, and my fellow tester is responsible for the test automation. Now I’ll dive right into my bullet lists.

Responsive Breakpoints

I’ve already posted on this topic previously in Testing responsive breakpoints so I won’t elaborate on the items I’ve covered there.

Mocking

  • WireMock
  • Mokku
  • Emulating delays or a slow network can be done via Chrome DevTools:
    • Chrome DevTools > Toggle Device Toolbar > (Adjust the option from “No throttling”)
    • Chrome DevTools > Network tab > (Adjust option from “No throttling”)
  • MS Excel – This is old school but still comes in pretty handy for generating test data via concatenation and formulas.
  • Mockaroo – This is also for generating test data. What’s interesting about it is that it has this built-in option for naughty strings.
  • Free Online GUID Generator – This was also just the first search result when I googled for a GUID generator.
  • HTTP Response Codes – It’s a bit more fun to read with dog and cat photos involved via https://httpstatusdogs.com/ and https://http.cat/, respectively.

Time and Time Zones

  • MS Excel’s TIME(h, m, s)
    • Given a time value in UTC format, say in cell A1, that I’d want to convert to my local UTC+8, I can use the formula A1+TIME(8, 0, 0).
    • Interestingly though when I wanted to add more than 23 hours, TIME(24, 0, 0) won’t work. And based on their documentation, that’s not a bug, that’s how the feature works.
  • Changing the time zone
    • This is usually done by adjusting your Window’s date/time settings.
    • Alternatively, you can change your Chrome browser’s time via: Chrome DevTools > Kebab menu > More tools > Sensors.
  • Just an interesting read: A literary appreciation of the Olson/Zoneinfo/tz database

Form Field Validation

  • We do it on lost focus or on save. But here’s an interesting post in Medium about the topic: Inline validation in forms β€” designing the experience
  • Some interesting bugs around our numeric fields which are supposedly not allowed to accept non-numeric values
    • Some characters that slipped the cracks: e, -, +, .. For the numeric field that did allow decimals, we allowed the “.”; and similarly, for those that allowed negative values, we allowed the “-“. As for e, the dev and I spoke afterwards that we’ll just try to start saying 1e0 instead of 1 in normal conversation.
    • We also had a validation that the input must not be bigger than 180. Interestingly, 180.00000000000001 didn’t trigger the error; while it worked if there’s one zero less.
    • Typing in some characters replaced the value with NaN. No consecutive NaNs bug found though so we didn’t get to enjoy the Batman NaN joke.

Others

  • WhatFont Chrome Extension – With respect to the font, it’s an alternative to using Chrome DevTools for inspecting the element.
  • The card PAN or primary account number gets truncated because of some Payment Card Industry Data Security Standard. I had to look up PAN because I’ve never heard the card number referred to as “PAN” before.
  • For cases wherein the field is null, we’re currently not expecting the field in the JSON anymore. I found content for and against that. One of the contents for it is this: JSON null property values.
  • It’s “Chrome DevTools” β€” not dev tools, not levioSA β€” based on their documentation.

Leave a comment