According to the UK science council, science is:
The pursuit and application of knowledge and understanding of the natural and social world following a systematic methodology based on evidence(UK Science Council, 2009)
Basic vs Applied
Pursuit and application refers to two types of science, basic and applied:
Basic Science discovers new knowledge and understanding. It forms new ideas in fields such as physics, biology or sociology.
Applied Science takes that basic knowledge and understanding, and uses it to research and solve real-world problems in fields such as engineering (applied physics), medicine (applied biology) or social work (applied sociology). In commercial organisations, applied science is typically called “research and development” (Kenton, 2020).
Natural vs Social
“Natural” and “social” refers to two different worlds that science tries to understand and solve problems within:
Natural Science is all about the natural world (and universe) around us and covers fields such as physics, chemistry, biology, astronomy and natural world parts of geography.
Social Science is all about the way people (or animals) interact and behave, and covers fields such as psychology, sociology, economics, history, languages and politics.
There is also a third branch, called Formal Science, which deals with mathematics and logic. This tells us things like
2+2=4 and logical tautologies like
all bachelors are unmarried. Formal science supports the other sciences with mathematical proofs and statistical analysis, but it’s not considered a proper science in it’s own right due to lack of empirical evidence.
Systematic Methodology is a routine or process based around “certain norms and practices that have developed over time because of their usefulness” (Johnson and Christiansen, 2004). This also means there’s no one way, or even right way, of doing science, but it should always be be consistent, deliberate and thoughtful by “giving serious thought to what you are doing, how and why you are doing it” (Robson, 2011).
Evidence is “empirical”, things we can observe or experience. Science places high regard for empirical data (Johnson and Christiansen, 2004)
Sceptical and Ethical
In addition to the above, scientists have a “scientific attitude”: someone who’s sceptical and ethical in following a code of conduct, high moral standards, making safeguards against biases and being misleading (Robson, 2011).
There many different definitions of software testing but they all roughly come down to the same thing: science. The best definition of software testing is by Cem Kaner and is the most interesting due to its word-for-word similarity to the definition of science. According to Kaner, software testing is:
A technical investigation conducted to provide stakeholders with empirical information about the quality of a software product, system or service.(Kaner, 2006)
Like science, software testing is primarily about uncovering knowledge and understanding:
Testing is a learning task; it is fundamentally about learning … If you tell me you are testing, but not learning anything, I say you are not testing at all(Bach, 2017)
Other definitions that state the software testing shares a lot with science:
Testing is evaluating a product by learning about it through exploration and experimentation, which includes to some degree: questioning, study, modelling, observation and inference(Bolton, 2014)
Testing is many processes such as: Learning, experimenting through hypotheses, test design, test execution, and collecting information about products, projects, processes and ideas(Winteringham and Ashby, 2017)
Other definitions are more specific, such as testing is uncovering problems as opposed to demonstrating no problems exist:
Testing is the process of executing a program with the intent of finding errors(Myers, 1979)
Technical Investigation means “a formal inquiry or systematic study relates to a particular subject, art, craft or its techniques and may require special knowledge to be understood” (Oxford Languages, 2011). Testing is very much like science is that it requires a systematic methodology. Like science, there’s no right way to do testing, but it should always be systematic and methodical. Exploratory testing is often described as loose, ad-hoc and open-ended however exploratory testing has a lot of structure (Hendrickson, 2013).
Applied science is conducted on behalf of someone to uncover knowledge and understanding of a particular subject to serve some goal. Software testing is conducted on behalf of stakeholders to uncover quality so they can make informed, less risky business decisions. (Bolton, 2014) (Kaner, 2010)
Information provided on software quality should be rooted in evidence. This is primarily from interacting with and observing the software itself, but also takes considers other factors such as how people feel.
Quality Of The Product Or Service
is the world that is researched.
Software testing shares a lot with science. This means software testing can benefit from scientific approaches. Testers should give a lot of thought to their processes and methods and be very evidence-focussed in the pursuit of information for stakeholders. This information helps stakeholders to solve the problem of releasing unknown quality software. This makes testing an applied science in the world of software quality.
- Quality - Defined as value to some person(s), which can include expectations met and positive feelings
- Bach, J., 2017. Six Things That Go Wrong With Discussions About Testing. [online] Satisfice, Inc. Available at: Link
- Bach, J. and Bolton, M., 2013. Testing and Checking Refined. [online] Satisfice, Inc. Available at: Link
- Bolton, M., 2014. Metrics and Measures and Numbers, Oh My! [online] DevelopSense. Available at: Link p. 20
- Hendrickson, E., 2013. Explore it! Reduce Risk and Increase Confidence with Exploratory Testing. 1st ed. Frisco, TX: The Pragmatic Programmers, pp. 1-2.
- Johnson, B. and Christiansen, L., 2004. Educational Research: Quantitative, Qualitative and Mixed Approaches. 2nd Ed. New York: Merill. p. 14
- Kaner, C., 2006. Exploratory Testing. [online] Keynote at QAI. Available at: Link p. 11.
- Kaner, C., 2010. BBST Foundations 1B: Overview and Basic Definitions in Software Testing. [online]. BBST courses. Available at: Link t.i. 0:00
- Kenton, W., 2020. Why Research And Development (R&D) Matters. [online] Investopedia. Available at: Link
- Myers, G., 1979. The Art of Software Testing. 1st ed. New York, NY: Wiley, p. 5
- Oxford Languages, 2011. In Concise Oxford English dictionary. Oxford: Oxford University Press.
- Robson, C., 2011. Real World Research. 3rd ed. Oxford: Wiley, p. 15.
- Science Council, 2009. Our Definition Of Science. [online] The Science Council. Available at: Link
- Winteringham, M., and Ashby, D., 2017. 99 Second Introduction to Testing. [online]. Ministry of Testing. Available at: Link
Updated 2022-03-03 (added checks and test cases)