Live data from Hacker News

How SQLite is tested

sqlite.org

81–87 of 87 posts

Re: How SQLite is tested

#81

Over a decade ago, the maintainer of SQLite gave a talk at OSCON about their testing practices. One concept that stood out to me was the power of checklists, the same tool pilots rely on before every flight. He also mentioned Doctors Without Borders, who weren't seeing the outcomes they expected when it came to saving lives. One surprising reason? The medical teams often didn't speak the same language or even know ea…

That reminds me of Spies Like Us Doctor Doctor scene.

Re: How SQLite is tested

#82

Over a decade ago, the maintainer of SQLite gave a talk at OSCON about their testing practices. One concept that stood out to me was the power of checklists, the same tool pilots rely on before every flight. He also mentioned Doctors Without Borders, who weren't seeing the outcomes they expected when it came to saving lives. One surprising reason? The medical teams often didn't speak the same language or even know ea…

I've always found an enormous amount of good practices (not just engineering ones) in aircraft operations and engineering that would be applicable to software engineering. I've always day dreamed of an IT organization that combined those with the decision-making procedures and leadership of modern armies, such as the US Army one. I've re-read multiple times FM22-100 which I find strikingly modern and inspiring: https…

I guess you are not the only one. Here is talk by Andrew Godwin about using aviation practices for software engineering:

https://youtu.be/d0eo3FxKQNc

Re: How SQLite is tested

#83

They need to do better testing to stop the whole database file getting corrupted, which happened a ton to me with SQLite.

I've never had SQLite corrupt a database file, and given how widely it's used literally everywhere without reports of corruption, and the incredibly extensive testing methodology they use to ensure that, your issues seem very unlikely to have been SQLite's fault.

To be fair, there are numerous ways to misuse it. Depending on how and where you are using SQLite, you have to know things about WAL and syncing etc.

Re: How SQLite is tested

#84
post #19

Over a decade ago, the maintainer of SQLite gave a talk at OSCON about their testing practices. One concept that stood out to me was the power of checklists, the same tool pilots rely on before every flight. He also mentioned Doctors Without Borders, who weren't seeing the outcomes they expected when it came to saving lives. One surprising reason? The medical teams often didn't speak the same language or even know ea…

A lot of these seem to be potentially automated - why aren’t they? Anyone know?

Most/all of those are individually automated.

Someone checks that they ran successfully, and vouches for it.

Automating the automation can be counter productive.

Like the release process is triggered automatically by a tag, then fails after an hour long sequence of complex steps, which forces you to re-tag, but by then your tag is out there.

Or, simply, it's a bad idea to run the entire process from scratch, but you automated it such that it's easiest, so you fix something about it and the only way to test the release process itself is to release, and you now need half a dozen releases to get it right.

Re: How SQLite is tested

#85

Over a decade ago, the maintainer of SQLite gave a talk at OSCON about their testing practices. One concept that stood out to me was the power of checklists, the same tool pilots rely on before every flight. He also mentioned Doctors Without Borders, who weren't seeing the outcomes they expected when it came to saving lives. One surprising reason? The medical teams often didn't speak the same language or even know ea…

Checklists that I use in personal life: - Office packing list. A “do-check” checklist that takes 20s to run through right before leaving home - Checklists for multi-day business and leisure trips - Home maintenance checklist for filters, drains and other things that require regular maintenance.

Re: How SQLite is tested

#86

Earlier quoted context omitted.

The thing that drives me absolutely mental about most developers I’ve worked with is just how much work they’ll do to avoid the easy thing, if the easy thing isn’t programmatic. I have tests and CI and all that, sure. But I also have a deployment checklist in a markdown document that I walk through. I don’t preserve results or create a paper trail. I just walk the steps one by one. It’s just so little work that I rea…

Manual checklists are often the best option for repeated tasks that can't be automated sufficiently reliably and sufficiently economically. But if they can be, then manual checklists are unnecessarily inefficent and/or unreliable. And the more frequently repeated the task is ( ceteris paribus ), the more up-front energy is justified in automating it. That said, to automate a process, you have to understand it enough…

> manual checklists [can be] unnecessarily inefficent and/or unreliable

Shoutout to Dr. Atul Gawande's excellent book The Checklist Manifesto, an expansion of his New Yorker article [0]. One of his main points is that even the most competent people forget stupid stuff. He illustrates with examples from surgery, from aviation, from the construction industry, and others. He quotes a saying that aviation checklists are "written in blood."

[0] https://www.newyorker.com/magazine/2007/12/10/the-checklist

Post reply on HN