A realization struck me some while ago during a time of Bible study that many of the basic principles that are foundations for good testing practice are found in the Bible. Since that realization, it has been interesting to search for scripture passages that teach basic testing and quality principles.
This article is not written to force my religious beliefs upon you, but to edify those who share similar beliefs. If, as a result of reading this article, you are interested in knowing more about the source of these teachings, I would be happy to share that information with you. Regardless, it is my joy to put some of these principles in writing and hope that it spurs your own study of the scriptures to find other passages.
The Bible and My View of It
The word "Bible" literally means "book of books." The Bible consists of sixty-six books that were chosen by men under the inspiration of God to be included in this collection. Some of the books are called the Old Testament (or covenant). These books were written before the birth of Jesus and include books of the history of Israel, poetry, and prophecy (things to come). Other books were written after the life of Jesus. These books comprise the New Testament and include the gospels (literally "good news") of Jesus, the epistles (letters to believers) and prophecy.
There is debate as to how to view the inspiration of the Bible. Some feel that the Bible conveys the essence of God's word to mankind, but cannot be taken literally in all cases. Others feel that the Bible is inerrant and contains exactly what God inspired men to write, even to the point of precise word meanings. I hold the latter view of scripture. There are many reasons I hold this position, but the bottom line is that man has limited knowledge of the universe (even though some think otherwise) and when compared to an infinite God, man's knowledge is small indeed. If the Bible seems to convey something that does not line up with human experience, there is a strong possibility that we are wrong and God is right.
The Bible is not a book about science, but it doesn't contradict science either. The Bible is also not a book about history, but no historical event in the Bible has been proven incorrect by either historical accounts or archaeological evidence. The Bible is a book about life and about how to live a joyful and abundant life. It is amazingly accurate in detail.
What About Testing?
During my study to date, I have found many themes that relate to what we do as software testers. To keep this article manageable, I will list a few of the topics and save the rest for a Part II to be written at a later date. Here are the themes for which I will provide references and additional discussion:
The value of planning
The value of inspections
The importance of a quality foundation
The value of accurately estimating the work to be done
Why it's good to only have one test team leader
The value of hiring the right people for the job
The reality that everything will be tested
The importance of dealing well with others
The importance of giving accurate information
Excellence starts at the top
God is the master tester
The way to success is to build your skills
Let's look at each topic individually.
The Value of Planning
Make level paths for your feet and take only ways that are firm. Proverbs 4:26
The Bible is full of stories about good planning. Noah planned ahead and built an ark that saved his family and the entire animal kingdom. Joseph planned ahead and stored food for seven years in anticipation of a severe famine in Egypt. Nehemiah planned and successfully rebuilt the wall of Jerusalem.
Although Jesus was clear that we should not worry about tomorrow (Matthew 6:34), the overall experience of biblical characters is that a little faith and a lot of planning goes a long way.
Likewise, in testing, the more complete the plan, the better the test goes. Many projects and tests have failed because the plans were not complete or were too ambitious.
The Value of Inspections
For lack of guidance a nation falls, but many advisers make victory sure. Proverbs 11:14
The concept of advisers is another common theme in scriptures. It's also common sense to have another set of eyes (or many sets of eyes) look at something before diving right in.
Bill Perry first told me about the application of this verse to inspections a few years ago. The concept of many advisers in software engineering has been proven to be effective in reducing the cost of software and the time to delivery. If this is a well-known fact, then why do people ignore it? I think it is because people are in such a rush, the idea of taking the time for review is just one more extra corner to be cut. Of course, there is always time to do the job over.
The Importance of a Quality Foundation
Therefore whoever hears these sayings of Mine, and does them, I will liken him to a wise man who built his house on the rock; and the rain descended, the floods came, and the wind blew and beat on the house; and it did not fall, for it was founded on the rock.
But everyone who hears these sayings of mine, and does not do them will be like a foolish man who built his house on the sand; and the rain descended, the floods came, and the winds blew and beat on that house; and it fell. And great was its fall. Matt.7:24 - 27
Jesus taught about the importance of making sure we build our lives on the one true foundation - Jesus Christ. Any other foundation is temporal and will fail.
Modern business gurus also write about the folly of reaching the end of one's career only to discover that their ladder of success has been leaning against the wrong wall.
We can also extend this idea to testing. Many times, organizations try to improve testing processes but do not consider the foundation of such efforts. The foundation of testing is a function to manage quality. This is the role of a true Quality Assurance (QA) function. That's why when a QA group is primarily concerned with testing, they are not laying a foundation of the management of quality. There must be a way to implement, monitor, and improve processes.
The idea of a quality foundation can also be applied to building software without a quality process. When software development or maintenance processes are poor, defects are high. In addition, people must be motivated and knowledgeable to apply processes and tools. Testing alone cannot compensate for poor development processes. The foundation of good processes and people must be in place for quality software.
The Value Of Accurately Estimating The Work To Be Done
If a man digs a pit, he will fall in it; If a man rolls a stone, it will roll back on him. Proverbs 26:27
In one sense, this verse means that sometimes the things you start can ultimately be your downfall. Another interpretation is that if you try to do too much, the volume of the work will consume you.
In testing, a key success factor is the ability to accurately and reasonably define the scope of testing. If you try to test too much, you will not have enough time and will be left with tough decisions at the end of the project as to what to test and what to ignore. The problem with making this kind of decision at the end of the project is that critical functions may go untested for the sake of time. People also underestimate the amount of work needed to maintain the test data they build during the test.
Why It's Good To Only Have One Test Team Leader
When a country is rebellious, it has many rulers, but a man of understanding and knowledge maintains order. Proverbs 28:2
When there is more than one leader, people are confused as to who to follow. Multiple leaders indicate a lack of "followership". This is sometimes called rebellion or mutiny.
One problem that can really add instability to a test is when more than one person on the test team wants to drive. There should be only one test team leader and it should be the appointed one!
The Value Of Hiring The Right People For The Job
Like an archer who wounds at random is he who hires a fool or any passer-by. Proverbs 26:10
One of the best things you can do in any aspect of the project is to hire the right people. I know that sounds simplistic, but many times - especially on a test team, people are chosen either based on technical background or on availability. There is seldom a consideration of the person's overall personality and fit on the team. Sometimes it just takes a "gut feel" to know when you've found the right person. I would rather hire on attributes and train on skills.
The Reality That Everything Will Be Tested - Eventually
For no other foundation can anyone lay than that that which is laid, which is Christ Jesus. Now, if anyone builds on this foundation with gold, silver, precious stones, wood, hay, straw, each one's work will become clear; for the Day will declare it, because it will be revealed by fire; and the fire will test each one's work, of what sort it is.( I Cor. 3:4)
The context of this passage is that we start with Christ as our foundation and build our lives upon it. Some of the things we build on it are very good and are considered gold, silver, and precious stones. This could be things like helping others with pure motives, reaching out to the poor, and other worthy acts. We can also build things that have absolutely no eternal value, such as doing works for our own glory. The Bible indicates that God will test our works as to their eternal value. That will be an interesting day, indeed. Some people who appear to be great on earth will have little left after the test and some who are obscure will have great wealth. Everything we do will be tested -perhaps not in this lifetime, but in the hereafter.
I apply this principle to testing also. We start with a quality foundation, hopefully, and then build on it. While it is true that we can't test everything in software before it is released to the customer, it is a false assumption to believe that it will never be tested. The customer will test your work for sure!
The Importance of Dealing Well With Others
Cast out the scoffer and contention will leave; Yes, strife and reproach will cease. Proverbs 22:10
Do unto others as you would have them do unto you. Matt. 7:12
In leading test teams, one of the problems you will face is dealing with the "problem person." This is the person who seldom has anything positive to say or contribute and gets their self-worth by cutting others down. You can easily get into the situation of spending more time repairing the ill will this person has spread than actually leading the test. Sometimes the only way to deal with a person like this is to replace them. Although it is good to extend grace and not deal harshly with the person, Proverbs gives the advice of casting out the scoffer with the result of ending contention.
Another angle of getting along with others can apply to everyone. This is known as "The Golden Rule." Of everything Jesus said, perhaps this is the most quoted and recognized phrase. Truly, these are words to live by.
The Importance of Giving Accurate Information
Fear of man will prove to be a snare, but whoever trusts in the Lord is kept safe. Proverbs 29:25
Wounds from a friend can be trusted, but an enemy multiplies kisses. Proverbs 27:6
One of the toughest things a tester has to do is to deliver the bad news that the software has defects or other problems. I have often said that about the only way a tester can fail is to see a defect and fail to report it. Given in the right way, the "bad news" should ultimately result in a better product. If you are in an organization that doesn't want to hear bad news, be prepared. You will likely be blamed for problems after the software goes into production.
The reporting of test results should be part of the testing process and should be objective, not political or blaming, in nature.
Defects are Destructive
One who is slack in his work is brother to one who destroys. Proverbs 18:9
Doing quality work is the result of an inner conviction that quality is important. If someone does not believe in doing their very best, they will do just what it takes to get by. Quality work adds value. Defective work causes rework and sometimes actually destroys a project.
The Way to Success is to Build Your Skills
Do you see a man skilled in his work? He will serve before kings. He will not serve before obscure men. Proverbs 22:29
Quality is more than just an attribute of a product. It is the way we should live our lives. Of course, we'll never be perfect, but that doesn't mean we should not strive for excellence. The best way to succeed in your work is to build your skills. This takes time and effort, but it is well worth it. I remember hearing someone say one time that if you spend just thirty minutes a day studying your own chosen profession, your income will double at least. I tried it and it worked for me. It is amazing to see how opportunity and preparation meet.
Excellence Starts at the Top
Thus Moses did; according to all that the Lord had commanded him, so he did. Exodus 40:16
Moses had a huge job in leading the people of Israel. Some commentators estimate the number of people Moses led at six to seven million people! Moses set an example by doing the job God called him to do. This example was the benchmark for the rest of the people. During the wilderness wandering, the people built a temple to precise specifications. This meant that the other leaders and workers had to do their jobs precisely also. The excellence in Moses? life was seen and modeled by others.
In today's organizations, the senior management team must lead the way by setting an example of excellence. Far too many times, a very few people at the top set a negative example of greed, jealousy and rage. Attitudes, both good and bad, filter down to all levels in the organization. You can always tell a quality minded organization by the way the senior management leads. If quality and ethics are not utmost in the minds of senior managers, it will not be important to anyone else in the organization.
God is the Master Tester
I know, my God, that you test the heart and are pleased with integrity. I Chronicles 29:17
For a man's ways are in full view of the Lord, and he examines all his paths. Proverbs 5:21
This is the ultimate path test! It has been said that integrity is who you are when no one you know is around. I know that in my life, God knows my actions and has unique ways of letting me know when I have violated his standard of integrity. God never fails to find the places in my life that need improvement and He always has new and unique ways to test me!
To find out more about the bible and how it relates to quality, or to just comment on this article, e-mail me from the contact page.