Several month ago,  I read a Chinese girl Xiaomei  tai (邰晓梅) 's blog, and find a very deep thought about testers and scientists.  In here, I copied her last paragraph to show how deep thought of this blog. BTW, if you understand Chinese,  I suggest you read her blog about Black Swan series.

 

Similarities between software testing and scientific work

Software testing Scientific work
Testers produce knowledge about the quality of the system under test. Scientists produce knowledge about the world.
The knowledge that testers (together with other roles in a project) produce was not the very voice of a product, but a human product, something that has to be made and then maintained. The knowledge that scientists produce was not the very voice of nature, but a human product, something that has to be made and then maintained.
Testers look more like skilled carpenters than like oracles. They use a lot of heuristics. The decisions they made during testing and the things they will verify next depend on the testing they just did and the information they just collected. These testing decisions are based on analysis, not just based on bold conjectures. Scientists look more like skilled carpenters than like oracles. They use a lot of heuristics. The decisions they made in their scientific studies and the things they will verify next depend on the work they just did and the information they just collected. Scientific decisions are based on analysis, not just based on bold conjectures.
Continuous reasoning and actions happen all the time in software testing. In effective and efficient testing, reasoning and actions are two supportive activities that run in parallel rather than separately. Continuous reasoning and actions happen all the time in scientific work. Reasoning and actions are two supportive activities that run in parallel rather than separately.
Knowledge is institution. There are testing organizations and work to produce what we know about the quality of the system under test. Knowledge is institution. There are social institutions and work to produce what we know about the knowledge of the world.
Software testing is about active learning to know something. Through active learning, testers collect a lot of information then they can produce the knowledge about SUT.The testing minds, rather than testing procedures or tools, are at the center of testing. Scientific work is about active learning to know something. Through active learning, scientists collect a lot of information then they can produce the knowledge about the world.The scientists’ minds, rather than scientific procedures or tools, are at the center of scientific work.
How does a tester make people agree to the information he/she provides? Doing experiments and producing effects. The claims need to be based on sound testing experiments, rather than on guesses. How does a scientist make people agree to the information he/she provides? The way to find out how things are was to produce singular, odd, strange, mechanically produced instances, stop observing nature as normally was, start producing effects, which you could isolate and analyze.
Testing is about finding unknowns. Negative examples are more meaningful than positive evidences. Scientific work is about finding unknowns. Negative examples are more meaningful than positive evidences.
Virtual witnessing is a rather good way of explaining testing to others. Virtual witnessing is a rather good way of explaining scientific claims to others.