SlideShare una empresa de Scribd logo
1 de 14
Program Studi S1 Sistem Informasi
Fakultas Sains dan Teknologi
Universitas Islam Negeri Sultan Syarif Kasim
Riau
ELVIRA MUNANDA
CHAPTER THREE
Static techniques
Static test techniques provide a powerful way to improve the
quality and productivity of software development. This chapter
describes static test techniques, including reviews, and provides an
overview of how they are conducted. The fundamental objective of
static testing is to improve the quality of software work products by
assisting engineers to recognize and fix their own defects early in the
software development process. While static testing techniques will not
solve all the problems, they are enormously effective. Static techniques
can improve both quality and productivity by impressive factors. Static
testing is not magic and it should not be considered a replacement for
dynamic testing, but all software organizations should consider using
reviews in all major aspects of their work including requirements,
design, implementation, testing, and maintenance. Static analysis tools
implement automated checks, e.g. on code.
REVIEWS AND THE TEST PROCESS
1 Recognize software work products that can be examined by different static
techniques. (K1)
2 Describe the importance and value of considering static techniques for the assessment
of software work products. (K2)
3 Explain the difference between static and dynamic techniques. (K2)
In Chapter 1, several testing terms were presented. Also testing itself was defined.
The latter definition is repeated here as a means for explaining the two major types of testing.
The definition of testing outlines objectives that relate to evaluation, revealing defects and
quality. As indicated in the definition two approaches can be used to achieve these objectives,
static testing and dynamic testing.
With dynamic testing methods, software is executed using a set of input values and its
output is then examined and compared to what is expected. During static testing, software
work products are examined manually, or with a set of tools, but not executed. As a
consequence, dynamic testing can only be applied to software code. Dynamic execution is
applied as a technique to detect defects and to determine quality attributes of the code. This
testing option is not applicable for the majority of the software work products. Among the
questions that arise are: How can we evaluate or analyze a requirements document, a design
document, a test plan, or a user manual? How can we effectively pre-examine the source code
before execution? One powerful technique that can be used is static testing, e.g. reviews. In
principle all software work products can be tested using review techniques.
Dynamic testing and static testing are complementary methods, as they tend to find
different types of defects effectively and efficiently. Types of defects that are easier to find
during static testing are: deviations from standards, missing requirements, design defects, non-
maintainable code and inconsistent interface specifications. Note that in contrast to dynamic
testing, static testing finds defects rather than failures.
In addition to finding defects, the objectives of reviews are often also informational,
communicational and educational, whereby participants learn about the content of software
work products to help them understand the role of their own work and to plan for future stages
of development. Reviews often represent project milestones, and support the establishment of
a baseline for a software product. The type and quantity of defects found during reviews can
also help testers focus their testing and select effective classes of tests. In some cases
customers/users attend the review meeting and provide feedback to the development team, so
reviews are also a means of customer/user communication.
Studies have shown that as a result of reviews, a significant increase in productivity
and product quality can be achieved [Gilb and Graham, 1993], [van Veenendaal, 1999].
Reducing the number of defects early in the product life cycle also means that less time has to
be spent on testing and maintenance. To summarize, the use of static testing, e.g. reviews, on
software work products has various advantages:
 Since static testing can start early in the life cycle, early feedback on quality issues can
be established, e.g. an early validation of user requirements and not just late in the life
cycle during acceptance testing.
 By detecting defects at an early stage, rework costs are most often relatively low and
thus a relatively cheap improvement of the quality of software products can be
achieved.
 Since rework effort is substantially reduced, development productivity figures are likely
to increase.
 The evaluation by a team has the additional advantage that there is an exchange of
information between the participants.
 Static tests contribute to an increased awareness of quality issues.
In conclusion, static testing is a very suitable method for improving the quality of
software work products. This applies primarily to the assessed products themselves, but it is
also important that the quality improvement is not achieved once but has a more structural
character. The feedback from the static testing process to the development process allows for
process improvement, which supports the avoidance of similar errors being made in the future.
REVIEW PROCESS
 1 Recall the phases, roles and responsibilities of a typical formal review. (K1)
 2 Explain the differences between different types of review: informal review, technical
review, walkthrough and inspection. (K2)
 3 Explain the factors for successful performance of reviews. (K2)
Reviews vary from very informal to formal (i.e. well structured and regulated).
Although inspection is perhaps the most documented and formal review technique, it is
certainly not the only one. The formality of a review process is related to factors such as the
maturity of the development process, any legal or regulatory requirements or the need for an
audit trail. In practice the informal review is perhaps the most common type of review. Informal
reviews are applied at various times during the early stages in the life cycle of a document. A
two-person team can conduct an informal review, as the author can ask a colleague to review a
document or code. In later stages these reviews often involve more people and a meeting. This
normally involves peers of the author, who try to find defects in the document under review and
discuss these defects in a review meeting. The goal is to help the author and to improve the
quality of the document. Informal reviews come in various shapes and forms, but all have one
characteristic in common – they are not documented.
Phases of a formal review
In contrast to informal reviews, formal reviews follow a formal process. A typical formal
review process consists of six main steps:
1 Planning
2 Kick-off
3 Preparation
4 Review meeting
5 Rework
6 Follow-up.
Planning
The review process for a particular review begins with a 'request for review' by the
author to the moderator (or inspection leader). A moderator is often assigned to take care of
the scheduling (dates, time, place and invitation) of the review. On a project level, the project
planning needs to allow time for review and rework activities, thus providing engineers with
time to thoroughly participate in reviews. For more formal reviews, e.g. inspections, the
moderator always performs an entry check and defines at this stage formal exit criteria. The
entry check is carried out to ensure that the reviewers' time is not wasted on a document that is
not ready for review. A document containing too many obvious mistakes is clearly not ready to
enter a formal review process and it could even be very harmful to the review process. It would
possibly de-motivate both reviewers and the author. Also, the review is most likely not effective
because the numerous obvious and minor defects will conceal the major defects.
Kick-off
An optional step in a review procedure is a kick-off meeting. The goal of this meeting
is to get everybody on the same wavelength regarding the document under review and to
commit to the time that will be spent on checking. Also the result of the entry check and
defined exit criteria are discussed in case of a more formal review. In general a kick-off is highly
recommended since there is a strong positive effect of a kick-off meeting on the motivation of
reviewers and thus the effectiveness of the review process. At customer sites, we have
measured results up to 70% more major defects found per page as a result of performing a
kick-off, [van Veenendaal and van der Zwan, 2000]
Preparation
The participants work individually on the document under review using the
related documents, procedures, rules and checklists provided. The individual participants
identify defects, questions and comments, according to their understanding of the
document and role. All issues are recorded, preferably using a logging form. Spelling
mistakes are recorded on the document under review but not mentioned during the
meeting. The annotated document will be given to the author at the end of the logging
meeting. Using checklists during this phase can make reviews more effective and efficient,
for example a specific checklist based on perspectives such as user, maintainer, tester or
operations, or a checklist for typical coding problems.
Review meeting
The meeting typically consists of the following elements (partly depending on the
review type): logging phase, discussion phase and decision phase.
During the logging phase the issues, e.g. defects, that have been identified during the
preparation are mentioned page by page, reviewer by reviewer and are logged either by the
author or by a scribe. A separate person to do the logging (a scribe) is especially useful for
formal review types such as an inspection. To ensure progress and efficiency, no real discussion
is allowed during the logging phase. If an issue needs discussion, the item is logged and then
handled in the discussion phase. A detailed discussion on whether or not an issue is a defect is
not very meaningful, as it is much more efficient to simply log it and proceed to the next one.
Furthermore, in spite of the opinion of the team, a discussed and discarded defect may well turn
out to be a real one during rework.
Every defect and its severity should be logged. The participant who identifies the
defect proposes the severity. Severity classes could be:
 Critical: defects will cause downstream damage; the scope and impact of the defect is
beyond the document under inspection.
 Major, defects could cause a downstream effect (e.g. a fault in a design can result in an error
in the implementation).
 Minor, defects are not likely to cause downstream damage (e.g. non-compli ance with the
standards and templates).
Rework
Based on the defects detected, the author will improve the document under review
step by step. Not every defect that is found leads to rework. It is the author's responsibility to
judge if a defect has to be fixed. If nothing is done about an issue for a certain reason, it should
be reported to at least indicate that the author has considered the issue.
Changes that are made to the document should be easy to identify during follow-up. Therefore
the author has to indicate where changes are made (e.g. using 'Track changes' in word-
processing software).
Follow-up
The moderator is responsible for ensuring that satisfactory actions have been taken on
all (logged) defects, process improvement suggestions and change requests. Although the
moderator checks to make sure that the author has taken action on all known defects, it is not
necessary for the moderator to check all the corrections in detail. If it is decided that all
participants will check the updated document, the moderator takes care of the distribution and
collects the feedback. For more formal review types the moderator checks for compliance to the
exit criteria.
In order to control and optimize the review process, a number of measurements are
collected by the moderator at each step of the process. Examples of such measurements include
number of defects found, number of defects found per page, time spent checking per page,
total review effort, etc. It is the responsibility of the moderator to ensure that the information is
correct and stored for future analysis.
http://sif.uin-suska.ac.id
http://fst.uin-suska.ac.id
http://www.uin-suska.ac.id
Website Resmi Kampus
Universitas Islam Negeri Sultan Syarif Kasim
Riau

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

3.static techniques
3.static techniques3.static techniques
3.static techniques
 
Software Testing 4/5
Software Testing 4/5Software Testing 4/5
Software Testing 4/5
 
Testing throughout the software life cycle & statistic techniques
Testing throughout the software life cycle & statistic techniquesTesting throughout the software life cycle & statistic techniques
Testing throughout the software life cycle & statistic techniques
 
Static Techniques
Static TechniquesStatic Techniques
Static Techniques
 
Chapter 3 Static Techniques
Chapter 3 Static TechniquesChapter 3 Static Techniques
Chapter 3 Static Techniques
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Static analysis and reliability testing (CS 5032 2012)
Static analysis and reliability testing (CS 5032 2012)Static analysis and reliability testing (CS 5032 2012)
Static analysis and reliability testing (CS 5032 2012)
 
03. static techniques
03. static techniques03. static techniques
03. static techniques
 
Marjuni.
Marjuni.Marjuni.
Marjuni.
 
Qa Faqs
Qa FaqsQa Faqs
Qa Faqs
 
Static testing techniques
Static testing techniquesStatic testing techniques
Static testing techniques
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Static Testing
Static TestingStatic Testing
Static Testing
 
Software review
Software reviewSoftware review
Software review
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Quality management checklist
Quality management checklistQuality management checklist
Quality management checklist
 
Static Testing
Static Testing Static Testing
Static Testing
 
Static testing
Static testingStatic testing
Static testing
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Static Testing
Static TestingStatic Testing
Static Testing
 

Similar a Chapter Three Static Techniques

Static techniques
Static techniquesStatic techniques
Static techniquesargawanda
 
Static nopri wahyudi
Static nopri wahyudiStatic nopri wahyudi
Static nopri wahyudiNopriwahyudi
 
Static techniques software development - Testing & Implementation
Static techniques software development - Testing & ImplementationStatic techniques software development - Testing & Implementation
Static techniques software development - Testing & Implementationyogi syafrialdi
 
Static techniques
Static techniquesStatic techniques
Static techniqueseva khasana
 
Testing & implementation system 3-wm
Testing & implementation system 3-wmTesting & implementation system 3-wm
Testing & implementation system 3-wmWiwik Muslehatin
 
Chater 3 Static Technic (by Eva Normala)
Chater 3 Static Technic (by Eva Normala)Chater 3 Static Technic (by Eva Normala)
Chater 3 Static Technic (by Eva Normala)EvaNormala
 
Static techniques
Static techniquesStatic techniques
Static techniquesadeafsa
 
Static techniques
Static techniquesStatic techniques
Static techniquesMarni -
 
Presentasi static techniques
Presentasi static techniquesPresentasi static techniques
Presentasi static techniquesEgi Ilham Elnusa
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance Webtech Learning
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTINGacemindia
 
Lecture 10 Static Testing.ppt
Lecture 10 Static Testing.pptLecture 10 Static Testing.ppt
Lecture 10 Static Testing.pptssuser9a23691
 
Aim (A).pptx
Aim (A).pptxAim (A).pptx
Aim (A).pptx14941
 
static techniques
static techniquesstatic techniques
static techniquesaidil fitra
 

Similar a Chapter Three Static Techniques (20)

Static techniques
Static techniquesStatic techniques
Static techniques
 
Static nopri wahyudi
Static nopri wahyudiStatic nopri wahyudi
Static nopri wahyudi
 
Static techniques software development - Testing & Implementation
Static techniques software development - Testing & ImplementationStatic techniques software development - Testing & Implementation
Static techniques software development - Testing & Implementation
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
STATIC TECHNIQUES
STATIC TECHNIQUESSTATIC TECHNIQUES
STATIC TECHNIQUES
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Testing & implementation system 3-wm
Testing & implementation system 3-wmTesting & implementation system 3-wm
Testing & implementation system 3-wm
 
Chater 3 Static Technic (by Eva Normala)
Chater 3 Static Technic (by Eva Normala)Chater 3 Static Technic (by Eva Normala)
Chater 3 Static Technic (by Eva Normala)
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
static techniques
static techniquesstatic techniques
static techniques
 
Presentasi static techniques
Presentasi static techniquesPresentasi static techniques
Presentasi static techniques
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Lecture 10 Static Testing.ppt
Lecture 10 Static Testing.pptLecture 10 Static Testing.ppt
Lecture 10 Static Testing.ppt
 
Aim (A).pptx
Aim (A).pptxAim (A).pptx
Aim (A).pptx
 
static techniques
static techniquesstatic techniques
static techniques
 

Último

Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxPooja Bhuva
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...Amil baba
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxmarlenawright1
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxJisc
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17Celine George
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 

Último (20)

Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 

Chapter Three Static Techniques

  • 1. Program Studi S1 Sistem Informasi Fakultas Sains dan Teknologi Universitas Islam Negeri Sultan Syarif Kasim Riau ELVIRA MUNANDA
  • 2. CHAPTER THREE Static techniques Static test techniques provide a powerful way to improve the quality and productivity of software development. This chapter describes static test techniques, including reviews, and provides an overview of how they are conducted. The fundamental objective of static testing is to improve the quality of software work products by assisting engineers to recognize and fix their own defects early in the software development process. While static testing techniques will not solve all the problems, they are enormously effective. Static techniques can improve both quality and productivity by impressive factors. Static testing is not magic and it should not be considered a replacement for dynamic testing, but all software organizations should consider using reviews in all major aspects of their work including requirements, design, implementation, testing, and maintenance. Static analysis tools implement automated checks, e.g. on code.
  • 3. REVIEWS AND THE TEST PROCESS 1 Recognize software work products that can be examined by different static techniques. (K1) 2 Describe the importance and value of considering static techniques for the assessment of software work products. (K2) 3 Explain the difference between static and dynamic techniques. (K2) In Chapter 1, several testing terms were presented. Also testing itself was defined. The latter definition is repeated here as a means for explaining the two major types of testing. The definition of testing outlines objectives that relate to evaluation, revealing defects and quality. As indicated in the definition two approaches can be used to achieve these objectives, static testing and dynamic testing. With dynamic testing methods, software is executed using a set of input values and its output is then examined and compared to what is expected. During static testing, software work products are examined manually, or with a set of tools, but not executed. As a consequence, dynamic testing can only be applied to software code. Dynamic execution is applied as a technique to detect defects and to determine quality attributes of the code. This testing option is not applicable for the majority of the software work products. Among the questions that arise are: How can we evaluate or analyze a requirements document, a design document, a test plan, or a user manual? How can we effectively pre-examine the source code before execution? One powerful technique that can be used is static testing, e.g. reviews. In principle all software work products can be tested using review techniques.
  • 4. Dynamic testing and static testing are complementary methods, as they tend to find different types of defects effectively and efficiently. Types of defects that are easier to find during static testing are: deviations from standards, missing requirements, design defects, non- maintainable code and inconsistent interface specifications. Note that in contrast to dynamic testing, static testing finds defects rather than failures. In addition to finding defects, the objectives of reviews are often also informational, communicational and educational, whereby participants learn about the content of software work products to help them understand the role of their own work and to plan for future stages of development. Reviews often represent project milestones, and support the establishment of a baseline for a software product. The type and quantity of defects found during reviews can also help testers focus their testing and select effective classes of tests. In some cases customers/users attend the review meeting and provide feedback to the development team, so reviews are also a means of customer/user communication.
  • 5. Studies have shown that as a result of reviews, a significant increase in productivity and product quality can be achieved [Gilb and Graham, 1993], [van Veenendaal, 1999]. Reducing the number of defects early in the product life cycle also means that less time has to be spent on testing and maintenance. To summarize, the use of static testing, e.g. reviews, on software work products has various advantages:  Since static testing can start early in the life cycle, early feedback on quality issues can be established, e.g. an early validation of user requirements and not just late in the life cycle during acceptance testing.  By detecting defects at an early stage, rework costs are most often relatively low and thus a relatively cheap improvement of the quality of software products can be achieved.  Since rework effort is substantially reduced, development productivity figures are likely to increase.  The evaluation by a team has the additional advantage that there is an exchange of information between the participants.  Static tests contribute to an increased awareness of quality issues. In conclusion, static testing is a very suitable method for improving the quality of software work products. This applies primarily to the assessed products themselves, but it is also important that the quality improvement is not achieved once but has a more structural character. The feedback from the static testing process to the development process allows for process improvement, which supports the avoidance of similar errors being made in the future.
  • 6. REVIEW PROCESS  1 Recall the phases, roles and responsibilities of a typical formal review. (K1)  2 Explain the differences between different types of review: informal review, technical review, walkthrough and inspection. (K2)  3 Explain the factors for successful performance of reviews. (K2) Reviews vary from very informal to formal (i.e. well structured and regulated). Although inspection is perhaps the most documented and formal review technique, it is certainly not the only one. The formality of a review process is related to factors such as the maturity of the development process, any legal or regulatory requirements or the need for an audit trail. In practice the informal review is perhaps the most common type of review. Informal reviews are applied at various times during the early stages in the life cycle of a document. A two-person team can conduct an informal review, as the author can ask a colleague to review a document or code. In later stages these reviews often involve more people and a meeting. This normally involves peers of the author, who try to find defects in the document under review and discuss these defects in a review meeting. The goal is to help the author and to improve the quality of the document. Informal reviews come in various shapes and forms, but all have one characteristic in common – they are not documented.
  • 7. Phases of a formal review In contrast to informal reviews, formal reviews follow a formal process. A typical formal review process consists of six main steps: 1 Planning 2 Kick-off 3 Preparation 4 Review meeting 5 Rework 6 Follow-up. Planning The review process for a particular review begins with a 'request for review' by the author to the moderator (or inspection leader). A moderator is often assigned to take care of the scheduling (dates, time, place and invitation) of the review. On a project level, the project planning needs to allow time for review and rework activities, thus providing engineers with time to thoroughly participate in reviews. For more formal reviews, e.g. inspections, the moderator always performs an entry check and defines at this stage formal exit criteria. The entry check is carried out to ensure that the reviewers' time is not wasted on a document that is not ready for review. A document containing too many obvious mistakes is clearly not ready to enter a formal review process and it could even be very harmful to the review process. It would possibly de-motivate both reviewers and the author. Also, the review is most likely not effective because the numerous obvious and minor defects will conceal the major defects.
  • 8. Kick-off An optional step in a review procedure is a kick-off meeting. The goal of this meeting is to get everybody on the same wavelength regarding the document under review and to commit to the time that will be spent on checking. Also the result of the entry check and defined exit criteria are discussed in case of a more formal review. In general a kick-off is highly recommended since there is a strong positive effect of a kick-off meeting on the motivation of reviewers and thus the effectiveness of the review process. At customer sites, we have measured results up to 70% more major defects found per page as a result of performing a kick-off, [van Veenendaal and van der Zwan, 2000]
  • 9. Preparation The participants work individually on the document under review using the related documents, procedures, rules and checklists provided. The individual participants identify defects, questions and comments, according to their understanding of the document and role. All issues are recorded, preferably using a logging form. Spelling mistakes are recorded on the document under review but not mentioned during the meeting. The annotated document will be given to the author at the end of the logging meeting. Using checklists during this phase can make reviews more effective and efficient, for example a specific checklist based on perspectives such as user, maintainer, tester or operations, or a checklist for typical coding problems.
  • 10. Review meeting The meeting typically consists of the following elements (partly depending on the review type): logging phase, discussion phase and decision phase. During the logging phase the issues, e.g. defects, that have been identified during the preparation are mentioned page by page, reviewer by reviewer and are logged either by the author or by a scribe. A separate person to do the logging (a scribe) is especially useful for formal review types such as an inspection. To ensure progress and efficiency, no real discussion is allowed during the logging phase. If an issue needs discussion, the item is logged and then handled in the discussion phase. A detailed discussion on whether or not an issue is a defect is not very meaningful, as it is much more efficient to simply log it and proceed to the next one. Furthermore, in spite of the opinion of the team, a discussed and discarded defect may well turn out to be a real one during rework.
  • 11. Every defect and its severity should be logged. The participant who identifies the defect proposes the severity. Severity classes could be:  Critical: defects will cause downstream damage; the scope and impact of the defect is beyond the document under inspection.  Major, defects could cause a downstream effect (e.g. a fault in a design can result in an error in the implementation).  Minor, defects are not likely to cause downstream damage (e.g. non-compli ance with the standards and templates).
  • 12. Rework Based on the defects detected, the author will improve the document under review step by step. Not every defect that is found leads to rework. It is the author's responsibility to judge if a defect has to be fixed. If nothing is done about an issue for a certain reason, it should be reported to at least indicate that the author has considered the issue. Changes that are made to the document should be easy to identify during follow-up. Therefore the author has to indicate where changes are made (e.g. using 'Track changes' in word- processing software).
  • 13. Follow-up The moderator is responsible for ensuring that satisfactory actions have been taken on all (logged) defects, process improvement suggestions and change requests. Although the moderator checks to make sure that the author has taken action on all known defects, it is not necessary for the moderator to check all the corrections in detail. If it is decided that all participants will check the updated document, the moderator takes care of the distribution and collects the feedback. For more formal review types the moderator checks for compliance to the exit criteria. In order to control and optimize the review process, a number of measurements are collected by the moderator at each step of the process. Examples of such measurements include number of defects found, number of defects found per page, time spent checking per page, total review effort, etc. It is the responsibility of the moderator to ensure that the information is correct and stored for future analysis.