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 !!! :)
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?
ReplyDeleteThanks for ur time..
Hey Chindu... hope you are doing good. it's too late to say something but i wish all the good wishes for you. :)
ReplyDelete