Principles of Testing…

This is what I can share with you guys (from ISTQB syllabus) on General Testing Principles:

  1. Testing shows presence of defects – Testing can show that defects are present, but cannot prove that there are no defects. Testing reduces the probability of undiscovered defects remaining in the software but, even if no defects are found, it is not a proof of correctness.
  2. Exhaustive testing is impossible – Testing everything (all combinations of inputs and preconditions) is not feasible except for trivial cases. Instead of exhaustive testing, risk analysis and priorities should be used to focus testing efforts
  3. Early testing – Testing activities should start as early as possible in the software or system development life cycle, and should be focused on defined objectives
  4. Defect clustering – A small number of modules contain most of the defects discovered during pre-release testing, or are responsible for the most operational failures
  5. Pesticide paradox – If the same tests are repeated over and over again, eventually the same set of test cases will no longer find any new defects. To overcome this “pesticide paradox”, the test cases need to be regularly reviewed and revised, and new and different tests need to be written to exercise different parts of the software or system to potentially find more defects
  6. Testing is context dependent – Testing is done differently in different contexts. For example, safety-critical software is tested differently from an e-commerce site
  7. Absence-of-errors fallacy – Finding and fixing defects does not help if the system built is unusable and does not fulfill the users’ needs and expectations

Any more principles that you may have heard? Please share it here.

What is Software Testing?

Various bodies or organizations provide different understandings and definitions on the word”testing” and even “software testing”. The details are as follows:

  1. Software testing is the process consisting of all life cycle activities, both static and dynamic, concerned with planning, preparation and evaluation of software products and related work products to determine that they satisfy specified requirements, to demonstrate that they are fit for purpose and to detect defects – ISTQB Glossary
  2. Software testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results – Hetzel
  3. Testing is the process of identifying defects, where a defect is any variance between actual and expected results – SQAtester.com
  4. Testing is the process of executing a programwith the intent of finding errors – Myers
  5. Testing can be described as a process used for revealing defects in software, and for establishing that the software has attained a specified degree of quality with respect to selected attributes – Burnstein
  6. Testing is the process of operating a system or component under specified conditions, observing or recording the results, and making an evaluation of some aspect of the system or component – IEEE
  7. Testing is a concurrent lifecycle process of engineering, using and maintaining testware in order to measure and improve the quality of the software being tested – Craig & Jeskel

From the above definitions, we can see there are many views towards software testing. In whatever way it is being described, we should commonly understand testing involves destructive activities that help to discover the bugs or defects as much as possible, which lead to constructive activities involving fixing those defects and increasing the quality of product being released to users; governed by good engineering processes and practices.

How about you? Any other views on testing?

Welcome to the World of Testing

Salam and Greetings to all,

First of all, WELCOME TO THE WORLD OF TESTING!!!

This will be the 1st post after about 1 year leaving this blog idle and empty. I purposely created this blog to generally share and discuss anything and everything about testing, either software or hardware. Most content will be more on software testing, but any feedback on hardware testing is really welcomed so that we can have deeper understanding on how software and hardware testing can be put together. As the Blog Title clearly says, this blog is meant for providing a platform for discussing the development of testing community and ecosystem in Malaysia.

So, do contribute and comment. I welcome all of you to participate in this blog and gather the testing professionals out there to participate and contribute.

Thanks…

Follow

Get every new post delivered to your Inbox.