Вы находитесь на странице: 1из 2

Fundamental Principles of Software Testing: Tutorial 2

Video Transcript with Key Takeaways Highlighted :



Consider a scenario where you are moving a file from folder A to Folder B.Think of all the
possile ways you can test this.
Apart from the usual scenarios! you can also test the following conditions
Trying to move the file when it is "pen
#ou do not have the security rights to paste the file in Folder B
Folder B is on a shared drive and storage capacity is full.
Folder B already has a file with the same name! infact the list is endless
"r suppose you have $% input fields to test !each having % possile values ! the numer of
cominations to e tested would e %&$%
If you were to test the entire possible combinations project EE!"TI#$ TI%E &
!#STS will rise e'ponentially(
'ence! one of the testing principle states that EH)"STI*E testing is not
possible. Instead we need optimal amount of testing based on the ris+ assessment of
the application.
And the million dollar (uestion is! how do you determine this risk )
To answer this lets do an e*ercise
+n your opinion! ,hich operations is most likely to cause your "perating system to fail)
+ am sure most of you would have guessed! "pening $- different application all at the same
time.
.o if you were testing this "perating system you would reali/e that defects are likely to e
found in multi0tasking and needs to e tested thoroughly which rings us to our ne*t
principle ,efect !lustering which states that a small number of modules contain most
of the defects detected(
By e*perience you can identify such risky modules.But this approach has its own prolems
If the same tests are repeated o-er and o-er again . e-entually the same test cases
will no longer find new bugs
This is the another principle of testing called /Pesticide Parado'0
To o-ercome this. the test cases need to be regularly re-iewed & re-ised . adding
new & different test cases to help find more defects(
But even after all this sweat 1 hard work in testing! you can never claim you product is ug
free. To drive home this point ! lets see this video of pulic launch of ,indows 23
#ou think a company like 4+C5"."FT would not have tested their ". thoroughly 1 would risk
their reputation 6ust to see their ". crashing during its pulic launch7
'ence! testing principle states that 0 Testing shows presence of defects i(e( Software
Testing reduces the probability of undisco-ered defects remaining in the software but
e-en if no defects are found. it is not a proof of correctness.
But what if ! you work e*tra hard ! taking all precautions 1 make your software product 228
ug free .And the software does not meet the needs 1 re(uirements of the clients.
This leads us to our ne*t principle! which states that0
)bsence of Error is a Fallacy i(e( Finding and fi'ing defects does not help if the
system build is unusable and does not fulfill the users needs & re1uirements
To fi* this prolem ! the ne*t principle of testing states that
Early Testing 2 Testing should start as early as possible in the Software ,e-elopment
3ife !ycle. so that any defects in the re(uirements or design phase are captured as well more
on this principle in a later training tutorial.
And the last principle of testing states that the Testing is conte't dependent which
basically means that the way you test a e2commerce site will be different from the
way you test a commercial off the shelf application
Summary of the Se-en Testing Principles
9rinciple $ Testing shows presence of
defects
9rinciple : ;*haustive testing is
impossile
9rinciple < ;arly Testing
9rinciple = >efect Clustering
9rinciple % 9esticide 9arado*
9rinciple ? Testing is conte*t dependent
9rinciple @ Asence of errors 0 fallacy

Вам также может понравиться