DEV Community

ashleygraf_
ashleygraf_

Posted on • Updated on

Testability and the DB record

In her Explore It? Explore It! video, Elisabeth Hendrickson, author of the awesome book Explore It! talks about observation, and how quality observation requires using all your resources from multiple sources to find out what actually happened.

She lists the below as some of the places you would look to observe changes

  • Access to internal storage
  • Application telemetry [which prints out to the Network and Console tab on Dev Tools for example. Is it appropriately detailed for the tester?]
  • Diagnostic tools
  • Consoles
  • Logs [for example the Terminal]
  • Monitoring tools (OS, Network, etc)

I want to talk about database records - or specifically, making them as easy for non-devs to view as the devs. It requires a little dev work, but you can just splash it up there first, and then make it pretty later if you need to.

In particular, I find looking at the records of each individual entity on the administrative interface of platforms I've worked on helpful. Database records are created when a website is closed, so it's neat to be able to track the creation on a nice UI.

When I do 'manual testing', I'm using basically one user at a time, and so, that's the view I need. Combined with the Console Network tabs of the Dev Tools, the Terminal tab, and the user view(s), you start to get a holistic view of what's actually happening.

I think it's an aspect of testability, to have records (nearly) as easily viewable by testers, and product/project people as they are by developers.

Back in Level 1 Tech Support, I relied on this record view heavily, and I find it just as helpful now.

Although it only works if the relationships are recorded in an up-to-date display.

So how do you find records shown on the user view that might be missing on the admin view? Open up a user view, and check off entities as you find them that are also on the admin view. Don't forgot to check that it's linked to the most recent version of each entity, if there have been updates, as may happen if there have been major changes to the application.

This can make testing more efficient over time, while maintaining accuracy.

Top comments (0)