Self-testing is a valuable tool for memorising material. When we successfully recall something, that memory becomes stronger. This is called the ‘testing effect’.
It’s useful when remembering people’s names. Of course, if the new guy at work is called Snake and has a big snake tattoo on his neck, you should have no problems – at least recalling his name. If you antagonise him, he may feed you to his pet anaconda. But, if the person you’re meeting hasn’t been thoughtful enough to ink the word ‘Bob’ across his oesophagus, using it a few times in conversation helps you remember it much better than just hearing it used by other people.
Getting good at self-testing makes us better learners and one field that takes testing incredibly seriously is software development. What can we learn from the thousands of professional testers?
They test individual things
The most common software tests are called unit tests because they are atomic – each test is written to test one specific thing. This means that failed tests give incredibly specific feedback about what’s not working.
This is one reason I prefer direct questions for memorisation. The complex problems that turn up in past exam papers often test multiple things at once and take far longer to answer.
I do think past paper questions are an essential part of studying, but they are better suited to improving problem solving and exam technique than memorising information.
They test as much as possible
Testers use tools designed to calculate code coverage. This is the percentage of the code that is checked by tests. In other words, they strive to test everything.
A common problem with past paper questions is that they test only a fraction of the syllabus. In many cases, if a question appeared on last year’s exam it is less likely to appear this year.
They minimise ceremony
The set up and clean up for a test are kept brief. If a test relies on a complex system, they will create a simple fake to stand in for it. This means that the tests don’t need special conditions and run very quickly.
A good application of this idea is for accounting students to create read only template spreadsheets pre-populated with data, ready for them to test their skills on.
They retest frequently
Just because you can pass a test now doesn’t mean you’ll be able to do it next week. In software development bugs creep into the code with each new version, breaking things that have already tested.
When studying, we need to make sure that we haven’t forgotten anything important since we last reviewed it. It is doubly important because for us, testing both identifies and, thanks to the testing effect, helps fix the problem.
So, in summary, when self-testing for memorisation, concentrate on keeping tests fast, frequent and thorough.