Sei sulla pagina 1di 17

| 


   
 
  

 
j Inspection directly detects and corrects software
problems.

j Software inspection deals with software defects


already injected into the software system by detecting
their presence through critical examination.
xontinue«
Difference between Inspection and Testing.

j Main difference is that inspection is for all kind of


    but testing is for only  

 .
j ëe should not wait for the availability of executable
programs before one can start performing inspection.
j So inspection is a kind of techniques that supports
defects removal at early phases, but not by testing
xontinue..
j Various software artifacts available late in the
development process can be inspected but not tested.
j Examples are, products release and support plans,
user manuals, project schedule and other management
decisions.

G   


The major inspection process consists of the following.
u ^lanning and preparation.
u Inspection or collection.
u xollection and follow up.
The generic testing process.

  
j Inspection planning needs to answer the following
questions.

u ëhat are the objectives and goal of the inspection.

u ëhat are the software artifacts to be inspected or the


object of the inspection.

u ëhat are the overall process, techniques and follow-


up activities of the inspection process
  

 

j This step is typically refers to as Inspection


meeting.

j The focus of this step is to detect faults in the


software artifacts inspected, and record the
inspection results so that these faults can be
resolved in the next step.
xorrection and Follow-Up
j The discovered faults need to be corrected by people
who are responsible for it.

j For example in the design or code inspection, the


responsible designer or programmer.

j There should be some follow-up activities to verify


and fix.

j Sometimes, new inspection round can be planned.


Ñ 
   
j Ñ 

 methods includes  

    and  


   .

j Formal specification is concerned to the set of


product specifications so that customer requirements
as well as environmental constraints are correctly
reflected.

j Formal verification checks the conformance of


software design or code against these formal
specification.
Ñ


j To keep system operational even under software
problems, thus tolerating local faults to avoid global
failure.
j Most important fault tolerance techniques is to use
the recovery blocks.
j ëhen the back-up is provided by the same program,
we have the recovery block or checkpoints.

j ëhen back-up is provided by different


program(running in parallel) is known as duplication.
-  | 

j -ero-Defect Software means " !,"


Development (-DSD) is a practice of developing
software that is maintained in the highest quality state
throughout the entire development process.

j There are some basic rules are there for -DSD


   "
#$       
 %
    .

‰ ut the end of every day you work on a particular


project, build the current version of your software,
and test it for basic functionality.

‰ Test your program, make a list of anything you


would consider a "defect," and resolve to fix all
defects before implementing any new features.
xontinue..
  ·   

$
‰ ëhen most people think of  
  & ',
they think of testing, The most rigorous testing will
typically find less than 70% of all bugs in a program,
and there are certain types of bugs that testing will
rarely find.
‰ For many software organizations that code
inspections are far more cost-effective than testing.
‰ So one hour of code review is equivalent to two or
more hours of methodical testing.
‰ Keep a list of the types of error in your code, and run
down your list whenever reviewing new code.
   "

A. ussume full responsibility for every bug.


4. Handle change effectively.
6. Set Qu objectives at the beginning of every
project.
6. Treat the quality of your code at the same
level of importance as the quality of your
product.
Ñ

( )! 
  &)'
j V^ is another technique to tolerate software faults by
directly introducing duplication into the software itself.
j It is more suitable than recovery blocks when timely
decisions or performance are critical, such as in many
real time system, such as.
´    )
j The basic functional unit of the software system
consist of  parallel independent version of the
program with identical functionality. version1,
version2, versionA«««««««««.

j The system input is distributed to all the  versions.

j The individual output for each version is fed to a


decision unit.
   "$

j The decision unit determines the system output using


a specific decision algorithm.

j The most commonly used algorithm is a simple


majority basis.

j The decision algorithm determines the degree of


fault tolerance for the software product.
   "$$

j For example when the system majority rule is used,


and the system output would be the correct one.

j If half of the versions are operational and produce


correct result.

j Then according to this algorithm the overall system


is fault tolerant up to ( 2-1)