Jeremiah Flaga My thoughts and experiences on programming, life, atbp.

Testability and good systems

Category:

I recently read “The Tale of Three Kings: A study in brokeness” by Gene Edwards.

It is a small book of comfort for Christians who experienced pain and heartache caused by other Christians! — A very beautiful book, I would say.

It tells the story of the young David in the hands of a mad king, King Saul; and the old David and the rebellion of his son Absalom.

Here is a photo of one of the parts of the book which struck me:

tale-of-three-kings-King-Saul-in-David.jpg

The tests, as they are called, are meant to trim the King Saul that is lurking inside David’s heart!

This make think[1] that perhaps in any system, tests are a great help in shaping it to become good and useful.

What if testability is a property of any good system?

(NOTE: The systems I am referring to here are those systems which are composed of abstract or non-material raw materials.)

People who have gone through lots of tests, and survived, are considered good and equipped in our society.

(Yes… I am assuming here that there is a non-material part in people. :smile:)

Ideas (is it okay to call them “system of thoughts”?) which are falsifiable, and are therefore testable, are considered good in our society.

What if it is always the case that systems which went through many tests tend to become better systems than those which have not gone through many tests?[2] (“Isn’t that obvious?”, you might say. :laughing:)

Software systems which have a good amount of tests tend to be flexible and are easy to change (our masters say). What if it is always the case that systems which have gone through many tests, and are not killed, also tend to be flexible and is ready for other kinds of tests?

What if it is the case that systems which have gone through many tests tend to become more valuable systems?

… David endured many tests (failed at some also)

… King Saul failed in his later tests

(Did Joseph fail any test?… I don’t know…)

Wait!

The tests must also be the right kind of tests, right? The tests must match the system being tested.

Which means the tester must already know about the system he is going to create, and he must already know the tests that the system must go through before he starts to create the system, so that he will be sure that the tests are the right kind of tests for that system…

(The tester is a “he”? I mean “a person”? Does the tester needs to be a person?)


[1] This actually has been in my mind for many months already… (back ^)

[2] Of course, I understand that there must be a limit to the depth of the tests. — In our universe, a system with an infinitely deep tests would not be a system that is of any use to its creator/s, I think. :smile: (back ^)



← Previous | Archive | Next →

Comments