Thursday, 19 September 2013

Testing Principles-

Testing Shows Presence of defects-
Software testing shows the presence of defects & not the absence. Like if no fish get hooked in the fisherman's hook, doesn't states that there is no fish in the pond. As a software test team,we can only reduce the probability of undiscovered defects but can not give the guaranty that the software is bug free or there will be no defect in a tested software.

Exhaustive testing is impossible-
'No amount of observations of white swans can allow the inference that all swans are white, but the observation of a single black swan is sufficient to refute that conclusion'. Same happen with software testing, after a lots of testing,we can not say that the software is bug free , we can only find the maximum possible bugs. We can not test all possible input combinations with all possible preconditions except for trivial cases.

Early testing-
First understand then focus & then start....
It is best to start testing as early as possible in a software development life cycle. The most useful benefit of this concept is that it reduces the cost of bugs & give a strong base to the software.

Defect clustering-
By 80/20 theory of Pareto Principle – 80% of the bugs caused by only 20% of the code . It means that a small number of modules contain a large no of defects in a system. These small number of module become defect prone & are also responsible for most of the operational failures.

Pesticide paradox-
We can not laugh again & again on the same joke because our mind get prepared for the end result & we lose interest Similarly,if we repeat same set of test cases again and again ,we will not find any new bug. To reduce/manage this pesticide paradox effect we need to review the old test cases regularly & to add new changes in the software & also review the area of the software to be tested to find more defects.

Testing is context dependent-
We need different tools & skill for fishing than for hunting of a lion. In same way we need do different type of testing of different application. The treatment of a banking application will be surely different than a free educational website. We will be more serious about the security of the banking application than its look but it is opposite for the free educational website.

Absence-of-errors fallacy-
We can not give a local travel bus instead of a car , to a newly married couple for sweet romantic drive. No matter both ( bus & car) are used for traveling, having working engine & covered place to sit. Ideally there is no issues in the working of a bus but it is not fulfilling the requirement of its user. Similarly the software will be of no use if it doesn't fulfill the customer's requirement though we have find & fixes almost all the possible bugs/defects.

Thanks !!! :)


  1. Hi Richa.. The testing principles article and this blog is very helpful.. Thanks.. and keep writing..I have a doubt and I guess you would find time to address me.. Am a BE graduate and worked in IT for 2 years.. Then had to take a break for 2 years now due to marriage n personal stuffs.. Now am planning to restart my career as QA Tester.. But am confused with so many topics and the structures given.. Can you please explain me briefly, what are the topics to be covered or studied under Manual testing.. Does writing Test cases and Test plans are the only practical work for Manual testers?

    Thanks for ur time..

  2. Hey Chindu... hope you are doing good. it's too late to say something but i wish all the good wishes for you. :)