SlideShare a Scribd company logo
STATIC TECHNIQUES
ARGAWANDA
ARDIAN
(11453101680)
Program Studi S1 Sistem
Informasi
Fakultas Sains dan Teknologi
Universitas Islam Negeri Sultan
Syarif Kasim Riau
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
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.
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.

Recommended for you

Software Testing 4/5
Software Testing 4/5Software Testing 4/5
Software Testing 4/5

The document discusses static and dynamic testing methods. Static testing involves analyzing code or documentation without executing the software, while dynamic testing executes the software. Both methods find different types of defects. Key aspects of static testing include review processes, which can be informal or formal. Formal reviews involve several phases: planning, kick-off, preparation, review meeting, rework, and follow-up. The review meeting itself includes logging defects, discussing them, and deciding on next steps. Roles in the review include moderator, author, scribe, and reviewers. Different review types are described.

Quality management checklist
Quality management checklistQuality management checklist
Quality management checklist

This document provides a quality management checklist template with sections on quality planning, checkpoints and reviews, testing, documentation reviews, and production readiness. It includes example questions to consider for each checkpoint and review. The full checklist contains over 20 sections with descriptions of quality tasks and considerations for an effective quality management process.

Project Health Check
Project Health CheckProject Health Check
Project Health Check

The document discusses project health checks and how they can be used to improve project performance. It notes that many projects fail or face challenges. It then discusses how health checks can help project teams assess their performance by evaluating key criteria like efficiency, customer orientation, and stakeholder management. The document provides examples of criteria that could be used in health checks and emphasizes that health checks should assess management skills and capabilities rather than just projects. It concludes by noting that health checks need to be designed carefully and ask the right questions to provide an accurate view of performance and avoid biases.

REVIEW PROCESS
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
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.
ALTHOUGH MORE AND OTHER ENTRY CRITERIA CAN BE
APPLIED, THE FOLLOWING CAN BE REGARDED AS THE
MINIMUM SET FOR PERFORMING THE ENTRY CHECK:
1. A short check of a product sample by the moderator (or expert)
does not reveal a large number of major defects. For example,
after 30 minutes of checking, no more than 3 major defects are
found on a single page or fewer than 10 major defects in total in a
set of 5 pages.
2. The document to be reviewed is available with line numbers.
3. The document has been cleaned up by running any automated
checks that apply.
4. References needed for the inspection are stable and available.
5. The document author is prepared to join the review team and feels
confident with the quality of the document.
Static techniques

Recommended for you

Project audit & review checklist
Project audit & review checklistProject audit & review checklist
Project audit & review checklist

This document provides a detailed checklist to review the health of a project. It contains over 100 questions across various categories including project planning, management, quality, resources, users, and development approach. The questions assess the relevance and strength of different project attributes such as having a formal project plan, adequate risk management, proper quality assurance processes, sufficient resourcing and user involvement, and use of a recognized development methodology. The checklist is intended to assist project managers in auditing and improving their project.

project auditagile software project management methodologiesreview checklist
Project health check updated and improved
Project health check updated and improvedProject health check updated and improved
Project health check updated and improved

At this time of the year it becomes important to understand how your projects are doing. Doing a health check will give you a great and instant view on what is going right and what needs to be improved and more importantly is the project still a viable option and will bring in the benefits

project health check; project management
Software Testing - Beginners
Software Testing - Beginners Software Testing - Beginners
Software Testing - Beginners

Basic Testing Concepts. This Document will help you to learn the main theme of testing and how it works in our software field.

software testinginformation technologytechnology
ROLES AND RESPONSIBILITIES
The participants in any type of formal review should have adequate
knowledge of the review process. The best, and most efficient, review
situation occurs when the participants gain some kind of advantage
for their own work during reviewing. In the case of an inspection or
technical review, participants should have been properly trained as
both types of review have proven to be far less successful without
trained participants. This indeed is perceived as being a critical
success factor.
The best formal reviews come from well-organized teams, guided by
trained moderators (or review leaders). Within a review team, four
types of participants can be distinguished: moderator, author, scribe
and reviewer. In addition management needs to play a role in the
review process.
TYPES OF REVIEW
A single document may be the subject of more than one review. If
more than one type of review is used, the order may vary. For
example, an informal review may be carried out before a technical
review, or an inspection may be carried out on a requirements
specification before a walkthrough with customers. It is apparent that
none of the following types of review is the 'winner', but the different
types serve different purposes at different stages in the life cycle of a
document.
SUCCESS FACTORS FOR REVIEWS
Find a 'champion'
A champion is needed, one who will lead the process on a project or organizational level. They need
expertise, enthusiasm and a practical mindset in order to guide moderators and participants. The authority
of this champion should be clear to the entire organization. Management support is also essential for
success. They should, amongst other things, incorporate adequate time for review activities in project
schedules.
Pick things that really count
Select the documents for review that are most important in a project. Reviewing highly critical, upstream
documents like requirements and architecture will most certainly show the benefits of the review process
to the project. These invested review hours will have a clear and high return on investment. In addition
make sure each review has a clear objective and the correct type of review is selected that matches the
defined objective. Don't try and review everything by inspection; fit the review to the risk associated with
the document. Some documents may only warrant an informal review and others will repay using
inspection. Of course it is also of utmost importance that the right people are involved.
Explicitly plan and track review activities
To ensure that reviews become part of the day-to-day activities, the hours to be spent should be made
visible within each project plan. The engineers involved are prompted to schedule time for preparation
and, very importantly, rework. Tracking these hours will improve planning of the next review. As stated
Train participants
It is important that training is provided in review techniques, especially the more formal techniques,
such as inspection. Otherwise the process is likely to be impeded by those who don't understand
the process and the reasoning behind it. Special training should be provided to the moderators to
prepare them for their critical role in the review process.
Manage people issues
Reviews are about evaluating someone's document. Some reviews tend to get too personal when
they are not well managed by the moderator. People issues and psychological aspects should be
dealt with by the moderator and should be part of the review training, thus making the review a
positive experience for the author. During the review, defects should be welcomed and expressed
objectively.
Follow the rules but keep it simple
Follow all the formal rules until you know why and how to modify them, but make the process only
as formal as the project culture or maturity level allows. Do not become too theoretical or too
detailed. Checklists and roles are recommended to increase the effectiveness of defect
identification.
Continuously improve process and tools
Continuous improvement of process and supporting tools (e.g. checklists), based upon the ideas of
participants, ensures the motivation of the engineers involved. Motivation is the key to a successful
change process. There should also be an emphasis, in addition to defect finding, on learning and
process improvement.

Recommended for you

Requirements Engineering: A Good Practice Guide
Requirements Engineering: A Good Practice GuideRequirements Engineering: A Good Practice Guide
Requirements Engineering: A Good Practice Guide

The document summarizes a good practice guide for requirements engineering. It outlines 66 guidelines for best practices in areas like requirements elicitation, analysis, validation and management. It recommends implementing basic practices first before moving to more intermediate and advanced practices. The guide provides examples of guidelines on using validation checklists and gives advice on planning incremental process improvements by addressing problems, setting goals and managing introductions of new practices.

requirementsprocess improvementtutorial
Static Testing
Static TestingStatic Testing
Static Testing

Static testing involves inspecting work products like requirements, design documents, and code without executing the code. It aims to find defects early when rework costs are lower. The document discusses static testing techniques like unit testing, integration testing, and reviews. Reviews include inspections - moderated meetings where defects are discussed - and technical and informal reviews with subject matter experts. The goal is early defect detection to improve quality and productivity.

software testingsoftware engineering
Static techniques
Static techniquesStatic techniques
Static techniques

Formal reviews follow a six step process: 1) Planning, 2) Kick-off, 3) Preparation where reviewers identify defects individually, 4) Review meeting where defects are logged and discussed, 5) Rework by the author to address defects, and 6) Follow-up by the moderator to ensure defects were addressed. Key roles include the moderator who leads the process, author of the document, reviewers who identify defects, and scribe who logs defects discussed.

technologyeducationcomputer
Report results
Report quantified results and benefits to all those involved as soon as
possible, and discuss the consequences of defects if they had not been found
this early. Costs should of course be tracked, but benefits, especially when
problems don't occur in the future, should be made visible by quantifying the
benefits as well as the costs.
Just do it!
The process is simple but not easy. Each step of the process is clear, but
experience is needed to execute them correctly. So, try to get experienced
people to observe and help where possible. But most importantly, start doing
reviews and start learning from every review.
STATIC ANALYSIS BY TOOLS
There is much to be done examining software work products without
actually running the system. For example, we saw in the previous
section that we can carefully review requirements, designs, code, test
plans and more, to find defects and fix them before we deliver a
product to a customer. In this section, we focus on a different kind of
static testing, where we carefully examine requirements, designs and
code, usually with automated assistance to ferret out additional
defects before the code is actually run. Thus, what is called static
analysis is just another form of testing.
Static techniques
STATIC ANALYSIS IS AN EXAMINATION OF REQUIREMENTS, DESIGN
AND CODE THAT DIFFERS FROM MORE TRADITIONAL DYNAMIC
TESTING IN A NUMBER OF IMPORTANT WAYS:
 Static analysis is performed on requirements, design or code without actually
executing the software artifact being examined.
 Static analysis is ideally performed before the types of formal review discussed
in Section 3.2.
 Static analysis is unrelated to dynamic properties of the requirements, design
and code, such as test coverage.
 The goal of static analysis is to find defects, whether or not they may cause
failures. As with reviews, static analysis finds defects rather than failures.

Recommended for you

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

CATEGORIES OF TEST DESIGN TECHNIQUES Recall reasons that both specification-based (black-box) and structure-based (white-box) approaches to test case design are useful, and list the common techniques for each. (K1)

http://uin-suska.ac.idfst.uin-suska.ac.idsif.uin-suska.ac.id
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals

This document provides an overview of software testing concepts and processes. It discusses the importance of testing in the software development lifecycle and defines key terms like errors, bugs, faults, and failures. It also describes different types of testing like unit testing, integration testing, system testing, and acceptance testing. Finally, it covers quality assurance and quality control processes and how bugs are managed throughout their lifecycle.

ibm trainingsdlc
Static techniques
Static techniquesStatic techniques
Static techniques

Static testing techniques like reviews can improve both the quality and productivity of software development. The objectives of static testing are to improve software quality by helping engineers find and fix defects early. While static testing won't solve all problems, it is very effective at finding certain types of defects without executing the software. Organizations should consider using reviews of requirements, design, code, testing and maintenance work products to gain these benefits.

http://sif.uin-suska.ac.idhttp://fst.uin-suska.ac.idhttp://www.uin-suska.ac.id

More Related Content

What's hot

static techniques
static techniquesstatic techniques
static techniques
aidil fitra
 
softwareinspections
softwareinspectionssoftwareinspections
softwareinspections
Dorin Paunescu
 
Test
TestTest
Test
starmouni
 
Software Testing 4/5
Software Testing 4/5Software Testing 4/5
Software Testing 4/5
Damian T. Gordon
 
Quality management checklist
Quality management checklistQuality management checklist
Quality management checklist
selinasimpson321
 
Project Health Check
Project Health CheckProject Health Check
Project Health Check
ihoudane
 
Project audit & review checklist
Project audit & review checklistProject audit & review checklist
Project audit & review checklist
Ram Srivastava
 
Project health check updated and improved
Project health check updated and improvedProject health check updated and improved
Project health check updated and improved
Project Management Solutions
 
Software Testing - Beginners
Software Testing - Beginners Software Testing - Beginners
Software Testing - Beginners
Hima Bindu Kosuru
 
Requirements Engineering: A Good Practice Guide
Requirements Engineering: A Good Practice GuideRequirements Engineering: A Good Practice Guide
Requirements Engineering: A Good Practice Guide
Ian Sommerville
 
Static Testing
Static TestingStatic Testing
Static Testing
Hoang Nguyen
 
Static techniques
Static techniquesStatic techniques
Static techniques
Marni -
 
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
Novika Damai Yanti
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
Chankey Pathak
 
Static techniques
Static techniquesStatic techniques
Static techniques
Emi Rizki Ayunanda
 
Testing & implementation system 3-wm
Testing & implementation system 3-wmTesting & implementation system 3-wm
Testing & implementation system 3-wm
Wiwik Muslehatin
 
Astqb Slayb
Astqb SlaybAstqb Slayb
Astqb Slayb
nitin lakhanpal
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
Ankit Dubey
 
Software process & product quality
Software process & product qualitySoftware process & product quality
Software process & product quality
IAEME Publication
 
Best Practices For Business Analyst - Part 3
Best Practices For Business Analyst - Part 3Best Practices For Business Analyst - Part 3
Best Practices For Business Analyst - Part 3
Moutasm Tamimi
 

What's hot (20)

static techniques
static techniquesstatic techniques
static techniques
 
softwareinspections
softwareinspectionssoftwareinspections
softwareinspections
 
Test
TestTest
Test
 
Software Testing 4/5
Software Testing 4/5Software Testing 4/5
Software Testing 4/5
 
Quality management checklist
Quality management checklistQuality management checklist
Quality management checklist
 
Project Health Check
Project Health CheckProject Health Check
Project Health Check
 
Project audit & review checklist
Project audit & review checklistProject audit & review checklist
Project audit & review checklist
 
Project health check updated and improved
Project health check updated and improvedProject health check updated and improved
Project health check updated and improved
 
Software Testing - Beginners
Software Testing - Beginners Software Testing - Beginners
Software Testing - Beginners
 
Requirements Engineering: A Good Practice Guide
Requirements Engineering: A Good Practice GuideRequirements Engineering: A Good Practice Guide
Requirements Engineering: A Good Practice Guide
 
Static Testing
Static TestingStatic Testing
Static Testing
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
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
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
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
 
Astqb Slayb
Astqb SlaybAstqb Slayb
Astqb Slayb
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Software process & product quality
Software process & product qualitySoftware process & product quality
Software process & product quality
 
Best Practices For Business Analyst - Part 3
Best Practices For Business Analyst - Part 3Best Practices For Business Analyst - Part 3
Best Practices For Business Analyst - Part 3
 

Similar to Static techniques

Chapter Three Static Techniques
Chapter Three Static TechniquesChapter Three Static Techniques
Chapter Three Static Techniques
elvira munanda
 
03. static techniques
03. static techniques03. static techniques
03. static techniques
Tricia Karina
 
Static techniques
Static techniquesStatic techniques
Static techniques
rido randika putra
 
Static techniques
Static techniquesStatic techniques
Static techniques
Amelia Septia Roza
 
Static nopri wahyudi
Static nopri wahyudiStatic nopri wahyudi
Static nopri wahyudi
Nopriwahyudi
 
Testing 1 static techniques
Testing 1 static techniquesTesting 1 static techniques
Testing 1 static techniques
Mini Marsiah
 
Static techniques
Static techniquesStatic techniques
Static techniques
abdurrahim_radhin
 
Static techniques
Static techniquesStatic techniques
Static techniques
chayo rona
 
Static techniques software development - Testing & Implementation
Static techniques software development - Testing & ImplementationStatic techniques software development - Testing & Implementation
Static techniques software development - Testing & Implementation
yogi syafrialdi
 
Static techniques
Static techniquesStatic techniques
Static techniques
adeafsa
 
Static techniques
Static techniquesStatic techniques
Static techniques
Bayu Andika Pratama
 
Review Process
Review ProcessReview Process
Review Process
winy setya ningrum
 
Static Techniques (Chapter 3)
Static Techniques (Chapter 3)Static Techniques (Chapter 3)
Static Techniques (Chapter 3)
febriana aulia hidayati
 
Static techniques
Static techniquesStatic techniques
Static techniques
Achmad Harpin Asrori
 
Static techniques
Static techniquesStatic techniques
Static techniques
Miftahul Jannaty
 
Presentasi static techniques
Presentasi static techniquesPresentasi static techniques
Presentasi static techniques
Egi Ilham Elnusa
 
Static Technique
Static TechniqueStatic Technique
Static Technique
Nathandisya
 
Static Techniques
Static TechniquesStatic Techniques
Static Techniques
mentary fransiska
 
Static techniques
Static techniquesStatic techniques
Static techniques
yahdi sandra
 
Marjuni.
Marjuni.Marjuni.
Marjuni.
marjuni .
 

Similar to Static techniques (20)

Chapter Three Static Techniques
Chapter Three Static TechniquesChapter Three Static Techniques
Chapter Three Static Techniques
 
03. static techniques
03. static techniques03. static techniques
03. static techniques
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Static nopri wahyudi
Static nopri wahyudiStatic nopri wahyudi
Static nopri wahyudi
 
Testing 1 static techniques
Testing 1 static techniquesTesting 1 static techniques
Testing 1 static techniques
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
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
 
Review Process
Review ProcessReview Process
Review Process
 
Static Techniques (Chapter 3)
Static Techniques (Chapter 3)Static Techniques (Chapter 3)
Static Techniques (Chapter 3)
 
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
 
Static Technique
Static TechniqueStatic Technique
Static Technique
 
Static Techniques
Static TechniquesStatic Techniques
Static Techniques
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Marjuni.
Marjuni.Marjuni.
Marjuni.
 

Recently uploaded

7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
shanthidl1
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
ScyllaDB
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
BookNet Canada
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 

Recently uploaded (20)

7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 

Static techniques

  • 1. STATIC TECHNIQUES ARGAWANDA ARDIAN (11453101680) Program Studi S1 Sistem Informasi Fakultas Sains dan Teknologi Universitas Islam Negeri Sultan Syarif Kasim Riau
  • 2. 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 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.
  • 4. 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.
  • 5. REVIEW PROCESS 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
  • 6. 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.
  • 7. ALTHOUGH MORE AND OTHER ENTRY CRITERIA CAN BE APPLIED, THE FOLLOWING CAN BE REGARDED AS THE MINIMUM SET FOR PERFORMING THE ENTRY CHECK: 1. A short check of a product sample by the moderator (or expert) does not reveal a large number of major defects. For example, after 30 minutes of checking, no more than 3 major defects are found on a single page or fewer than 10 major defects in total in a set of 5 pages. 2. The document to be reviewed is available with line numbers. 3. The document has been cleaned up by running any automated checks that apply. 4. References needed for the inspection are stable and available. 5. The document author is prepared to join the review team and feels confident with the quality of the document.
  • 9. ROLES AND RESPONSIBILITIES The participants in any type of formal review should have adequate knowledge of the review process. The best, and most efficient, review situation occurs when the participants gain some kind of advantage for their own work during reviewing. In the case of an inspection or technical review, participants should have been properly trained as both types of review have proven to be far less successful without trained participants. This indeed is perceived as being a critical success factor. The best formal reviews come from well-organized teams, guided by trained moderators (or review leaders). Within a review team, four types of participants can be distinguished: moderator, author, scribe and reviewer. In addition management needs to play a role in the review process.
  • 10. TYPES OF REVIEW A single document may be the subject of more than one review. If more than one type of review is used, the order may vary. For example, an informal review may be carried out before a technical review, or an inspection may be carried out on a requirements specification before a walkthrough with customers. It is apparent that none of the following types of review is the 'winner', but the different types serve different purposes at different stages in the life cycle of a document.
  • 11. SUCCESS FACTORS FOR REVIEWS Find a 'champion' A champion is needed, one who will lead the process on a project or organizational level. They need expertise, enthusiasm and a practical mindset in order to guide moderators and participants. The authority of this champion should be clear to the entire organization. Management support is also essential for success. They should, amongst other things, incorporate adequate time for review activities in project schedules. Pick things that really count Select the documents for review that are most important in a project. Reviewing highly critical, upstream documents like requirements and architecture will most certainly show the benefits of the review process to the project. These invested review hours will have a clear and high return on investment. In addition make sure each review has a clear objective and the correct type of review is selected that matches the defined objective. Don't try and review everything by inspection; fit the review to the risk associated with the document. Some documents may only warrant an informal review and others will repay using inspection. Of course it is also of utmost importance that the right people are involved. Explicitly plan and track review activities To ensure that reviews become part of the day-to-day activities, the hours to be spent should be made visible within each project plan. The engineers involved are prompted to schedule time for preparation and, very importantly, rework. Tracking these hours will improve planning of the next review. As stated
  • 12. Train participants It is important that training is provided in review techniques, especially the more formal techniques, such as inspection. Otherwise the process is likely to be impeded by those who don't understand the process and the reasoning behind it. Special training should be provided to the moderators to prepare them for their critical role in the review process. Manage people issues Reviews are about evaluating someone's document. Some reviews tend to get too personal when they are not well managed by the moderator. People issues and psychological aspects should be dealt with by the moderator and should be part of the review training, thus making the review a positive experience for the author. During the review, defects should be welcomed and expressed objectively. Follow the rules but keep it simple Follow all the formal rules until you know why and how to modify them, but make the process only as formal as the project culture or maturity level allows. Do not become too theoretical or too detailed. Checklists and roles are recommended to increase the effectiveness of defect identification. Continuously improve process and tools Continuous improvement of process and supporting tools (e.g. checklists), based upon the ideas of participants, ensures the motivation of the engineers involved. Motivation is the key to a successful change process. There should also be an emphasis, in addition to defect finding, on learning and process improvement.
  • 13. Report results Report quantified results and benefits to all those involved as soon as possible, and discuss the consequences of defects if they had not been found this early. Costs should of course be tracked, but benefits, especially when problems don't occur in the future, should be made visible by quantifying the benefits as well as the costs. Just do it! The process is simple but not easy. Each step of the process is clear, but experience is needed to execute them correctly. So, try to get experienced people to observe and help where possible. But most importantly, start doing reviews and start learning from every review.
  • 14. STATIC ANALYSIS BY TOOLS There is much to be done examining software work products without actually running the system. For example, we saw in the previous section that we can carefully review requirements, designs, code, test plans and more, to find defects and fix them before we deliver a product to a customer. In this section, we focus on a different kind of static testing, where we carefully examine requirements, designs and code, usually with automated assistance to ferret out additional defects before the code is actually run. Thus, what is called static analysis is just another form of testing.
  • 16. STATIC ANALYSIS IS AN EXAMINATION OF REQUIREMENTS, DESIGN AND CODE THAT DIFFERS FROM MORE TRADITIONAL DYNAMIC TESTING IN A NUMBER OF IMPORTANT WAYS:  Static analysis is performed on requirements, design or code without actually executing the software artifact being examined.  Static analysis is ideally performed before the types of formal review discussed in Section 3.2.  Static analysis is unrelated to dynamic properties of the requirements, design and code, such as test coverage.  The goal of static analysis is to find defects, whether or not they may cause failures. As with reviews, static analysis finds defects rather than failures.