Wednesday, 4 June 2014

Static Techniques


Definition: Testing of a system at specification level, without execution of that software.

How can we evaluate or analyze???
        1.      Requirement documents
        2.      Design document
        3.      Test plan
        4.      User manual
        5.      Examine the source code before execution

The static technique provides a powerful way to improve the quality and Productivity of software development.

To have a clear picture let me differentiate the techniques:
Static Techniques
Dynamic Techniques
Work products are examined manually or with a set of tools but not executed.
Execution involves.
Example: Reviews and inspection
Example: Specification based testing
Static testing is about prevention of defects
Dynamic testing is about finding and fixing the defects
Before compilation
After compilation
Cost of finding defects and fixing is less
Cost of finding and fixing defects is high
More reviews  comments are highly recommended for good quality
More defects are highly recommended for good quality
Static testing involves checklist and process to be followed
Dynamic testing involves test cases for execution
Verification process
Validation Process
Requires lots of meetings
Lesser meetings

COMPARED TO DYNAMIC TESTING, IT FINDS DEFECTS RATHER THAN FAILURES

Types of defects that are easier to find in the Static technique is
                 1.      Deviations from standards
                 2.      Missing requirements
                 3.      Design defects
                 4.      Non maintainable code
                 5.      Inconsistent interface specification

VARIOUS ADVANTAGES OF STATIC TESTING
      1.      Since static testing can be start early in the life cycle
                               ·         Early feedback on quality can be established
                ·         Early validation of user requirements
                ·         And not just late in the life cycle during acceptance testing
      2.      Rework cost are mostly low
      3.      When rework is reduced substantially the productivity is achieved
      4.      Additionally, exchange of information between participants
      5.      Increased awareness in Quality

The static testing process to the development process allows for process improvement, which supports the avoidance of similar errors being made in the future.

STATIC TECHNIQUE PROCESS

REVIEW PROCESS
The reviews vary from very informal to formal.

Informal Review- Not based on a formal procedure ie. No documentation

Formal Review- A review characterized by documented procedures and requirements.

THE PHASES OF FORMAL REVIEW
It follows a formal process, which are Planning, Kick-off, Preparation, Review meeting, Rework and Follow-up.

PLANNING
·         The review process begins with a request with a ‘Request for Review’ by the author to the moderator.
·         A moderator is often assigned to take care of scheduling of the review.
·         Planning needs to allow time for review and rework activities for thoroughly participate in the reviews
·         Moderator should always perform an entry check and defines at this stage formal exit criteria

Entry check:
   ü  A short check of a product sample by the moderator does not reveal a large number of majar defects
   ü  Document should be available with line numbers
   ü  Document has been cleaned up by running any automated checks that apply
   ü  Reference needed for the inspections are stable and available
   ü  Document author is prepared to join the review team and feels confident with the quality of the document

The following focuses can be identified: ie focuses on the following,
           1.      High level document – does the design fulfill to the requirements
           2.      Standards – Internal consistency, clarity, naming conventions, templates
           3.      Related documents – interface
           4.      Usage – testability or maintainability

KICK-OFF
·         It’s an Optional step in the review process
·         A short introduction on the objectives of the reviews and the documents
·         The relationship between the document and other related documents are explained if the number of related documents is high
·         Role assignment, checking rate, the pages to be checked, process changes are discussed

PREPARATION
·         The individual participants identify defects, questions and comments, according to their understanding of the document and role
·         All mistakes are recorded preferably using a logging form. Spelling mistakes are recorded but not mentioned during the meeting
·         Using checklist during this phase can make review more effective and efficient
·         A critical success for a thorough preparation is the number of pages checked per hour it is called checking rate

REVIEW MEETING
                  ·         The moderator usually played by the manager leads the meeting and set the agenda
                  ·         The creator of the documents under review plays the role of the author, who reads and invites comments
                  ·         The task of the reviewer is to communicate the defect in the work product
                  ·         The meeting participant plays the role of Scribe will note down the defects and suggestions
                  ·         The reviewer can also suggest to share it via facebook or other social media and the moderator will check and with the client and tell whether to accept or not
                  ·         Finally reviews are noted

Participants are:
The author, The moderator, The Scribe or Recorder and The Reviewer.

REWORK
The author will make changes in the document as per the reviews comments

FOLLOW UP
The moderator will circulate the reworked document to all review participants to ensure that all the changes have been included satisfactorily.

TYPES OF REVIEWS

Walk Through: which is led by author
Technical Review: Which is led by the trained moderator with no management participation
Inspection: Which is led by the trained moderator and uses entry and exit criteria

ENTRY CRITERIA
The entry criteria defines when to start testing,
   ü  Test environment availability and readiness
   ü  Test tools are ready
   ü  Test code availability
   ü  Test data availability

EXIT CRITERIA
The exit criteria defines when to stop testing activities,
   ü  When we attained enough confidence and no critical defects
   ü  When all requirements are satisfied
   ü  When time is less – Example: Product’s  delivery date is very nearby
   ü  When we don’t have sufficient budget to test the product that is lack of Cost




1 comment: