This document discusses static testing techniques, including reviews. It describes the review process and roles involved in reviews. The review process consists of six main phases: planning, entry check, kick-off meeting, preparation, review meeting, rework, and follow-up. Key roles include the moderator, author, scribe, and reviewers. The goal of reviews is to improve quality and productivity by finding defects early.
Static techniques involve reviewing software work products to improve quality. There are both informal and formal review processes. A formal review process consists of 6 phases: planning, kick-off, preparation, review meeting, rework, and follow-up. During the review meeting, issues are logged and discussed. The author then reworks the document based on defects found. Roles in a formal review include moderator, author, scribe, and reviewers. Different types of formal reviews are described such as walkthroughs, technical reviews, and inspections.
This document discusses static testing techniques, including reviews. It describes the review process, roles in reviews, types of reviews, and static analysis using tools. Reviews are a formal process typically involving planning, preparation, a review meeting, rework, and follow-up. Roles include the moderator, author, scribe, and reviewers. Types of reviews serve different purposes at different stages. Static analysis tools can check coding standards and metrics, as well as code structure.
The document discusses static techniques for testing software work products like code, requirements, and design specifications. Static techniques like reviews and static analysis aim to find defects early before testing to improve productivity and reduce costs. Reviews involve examining documentation for defects, while static analysis checks code complexity, errors, and other issues without executing the code. Formal reviews follow steps like planning, kickoff meetings, preparation, review meetings, reworking defects, and follow up. Roles include managers, moderators, authors, reviewers, and scribes.
Static techniques such as reviews can improve both quality and productivity in software development. Static testing examines software work products like requirements and design documents manually or with tools before execution, finding defects early. Dynamic testing executes software with test cases. The two techniques are complementary, as static testing finds defects like missing requirements or design flaws while dynamic testing finds failures from execution. Using static testing from early in the development lifecycle provides advantages like early feedback, low rework costs, increased productivity, and greater awareness of quality issues.
Static techniques like reviews and static analysis tools can find defects in software work products like requirements, design, and code without executing the software. Reviews vary in formality from informal discussions to more structured inspections and walkthroughs. Static analysis examines software artifacts automatically using tools to identify defects before dynamic testing begins.
Static techniques involve examining software work products like requirements, design, and code manually or with tools without executing the software. Some key advantages of static techniques include finding defects early when costs are low, increasing development productivity by reducing rework, and improving quality awareness. Static techniques can be informal reviews or more formal processes like inspections. Formal reviews follow steps like planning, preparation, review meetings, rework, and follow-up. Ensuring coding standards are followed, measuring code metrics, and having success factors like training and continuous improvement can help static techniques be effective.
The document discusses various techniques for static testing of software, including reviews. It describes the advantages of static testing such as early detection of defects, lower rework costs, and improved productivity. The document outlines the review process and roles involved, including moderator, author, scribe, and reviewers. Different types of reviews are described like informal reviews, formal reviews with six phases (planning, kick-off, preparation, meeting, rework, follow-up), and specific review types including walkthroughs. Walkthroughs aim to establish common understanding through explanation of documents to diverse stakeholders.
The document discusses static testing techniques, which involve examining software work products like requirements and design documents manually or with tools, without executing the software. Some key benefits of static testing mentioned are that it allows early feedback on quality issues, defects can be detected and fixed early at lower cost, and development productivity may increase as rework effort is reduced. Various types of static testing techniques are described, including reviews, inspections, coding standard checks, and code metrics analysis. Formal reviews follow defined processes with roles like moderator, author, and reviewers. Success factors for effective reviews include training participants, explicit planning, and continuous process improvement.
The document discusses static techniques for software testing, including static analysis and reviews. It describes static testing as examining software work products like code manually or with tools without executing it. Reviews can range from informal to formal, with formal reviews involving planning, preparation by reviewers finding defects, a review meeting, rework by the author, and follow-up. The roles of moderator, author, scribe and reviewer in formal reviews are also outlined. Types of reviews like walkthroughs, technical reviews and inspections are also described. Finally, the document discusses how static analysis tools can find defects in code, standards, metrics and structure.
Static testing methods examine software work products like requirements and design documents without executing the software. This allows defects to be found early. Some advantages of static testing include early feedback on quality, low rework costs from finding defects early, and increased development productivity. Formal reviews follow a defined process with roles like moderator, author, scribe, and reviewers. Reviews can find defects, improve quality, and create common understanding. Static analysis tools can check for adherence to coding standards and metrics.
The document describes the planning, preparation, and execution of a review process. It discusses the following key points:
1. A moderator plans the review by scheduling it and performing an entry check to ensure the document is ready.
2. Reviewers individually prepare by checking pages according to their assigned role and logging any issues found.
3. The review meeting involves logging all issues page by page without discussion, then discussing and deciding on each issue.
4. The author addresses issues through rework and indicates changes.
5. The moderator ensures all issues were adequately addressed and collects review metrics for process improvement.
Dynamic testing involves executing software with input values and examining the output, allowing defects to be detected in code. Static testing analyzes software work products like documentation without executing the code. Formal reviews have defined phases including planning, preparation where reviewers check materials, a review meeting, and follow-up on rework. The main review types are walkthroughs where the author guides discussion, technical reviews where experts focus on technical content, and inspections with more formal defect identification. Critical success factors for implementing reviews include designating a champion, focusing on important items, explicit planning and tracking, training participants, managing people issues, and continuously improving.
The document discusses static testing techniques, specifically reviews. It describes the review process, which typically involves 6 phases: planning, kick-off, preparation, review meeting, rework, and follow-up. Key roles in a review include the moderator, author, scribe, and reviewers. The moderator leads the process, while the author's goal is to improve the document. Reviews can find defects early and improve quality and productivity.
YAHDI SANDRA
11453104752
Program Studi S1 Sistem Informasi
Fakultas Sains dan Teknologi
Universitas Islam Negeri Sultan Syarif Kasim Riau
http://sif.uin-suska.ac.id/
http://fst.uin-suska.ac.id/
http://www.uin-suska.ac.id/
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
Static techniques involve reviewing software work products to improve quality. There are both informal and formal review processes. A formal review process consists of 6 phases: planning, kick-off, preparation, review meeting, rework, and follow-up. During the review meeting, issues are logged and discussed. The author then reworks the document based on defects found. Roles in a formal review include moderator, author, scribe, and reviewers. Different types of formal reviews are described such as walkthroughs, technical reviews, and inspections.
This document discusses static testing techniques, including reviews. It describes the review process, roles in reviews, types of reviews, and static analysis using tools. Reviews are a formal process typically involving planning, preparation, a review meeting, rework, and follow-up. Roles include the moderator, author, scribe, and reviewers. Types of reviews serve different purposes at different stages. Static analysis tools can check coding standards and metrics, as well as code structure.
The document discusses static techniques for testing software work products like code, requirements, and design specifications. Static techniques like reviews and static analysis aim to find defects early before testing to improve productivity and reduce costs. Reviews involve examining documentation for defects, while static analysis checks code complexity, errors, and other issues without executing the code. Formal reviews follow steps like planning, kickoff meetings, preparation, review meetings, reworking defects, and follow up. Roles include managers, moderators, authors, reviewers, and scribes.
Static techniques such as reviews can improve both quality and productivity in software development. Static testing examines software work products like requirements and design documents manually or with tools before execution, finding defects early. Dynamic testing executes software with test cases. The two techniques are complementary, as static testing finds defects like missing requirements or design flaws while dynamic testing finds failures from execution. Using static testing from early in the development lifecycle provides advantages like early feedback, low rework costs, increased productivity, and greater awareness of quality issues.
Static techniques like reviews and static analysis tools can find defects in software work products like requirements, design, and code without executing the software. Reviews vary in formality from informal discussions to more structured inspections and walkthroughs. Static analysis examines software artifacts automatically using tools to identify defects before dynamic testing begins.
Static techniques involve examining software work products like requirements, design, and code manually or with tools without executing the software. Some key advantages of static techniques include finding defects early when costs are low, increasing development productivity by reducing rework, and improving quality awareness. Static techniques can be informal reviews or more formal processes like inspections. Formal reviews follow steps like planning, preparation, review meetings, rework, and follow-up. Ensuring coding standards are followed, measuring code metrics, and having success factors like training and continuous improvement can help static techniques be effective.
The document discusses various techniques for static testing of software, including reviews. It describes the advantages of static testing such as early detection of defects, lower rework costs, and improved productivity. The document outlines the review process and roles involved, including moderator, author, scribe, and reviewers. Different types of reviews are described like informal reviews, formal reviews with six phases (planning, kick-off, preparation, meeting, rework, follow-up), and specific review types including walkthroughs. Walkthroughs aim to establish common understanding through explanation of documents to diverse stakeholders.
The document discusses static testing techniques, which involve examining software work products like requirements and design documents manually or with tools, without executing the software. Some key benefits of static testing mentioned are that it allows early feedback on quality issues, defects can be detected and fixed early at lower cost, and development productivity may increase as rework effort is reduced. Various types of static testing techniques are described, including reviews, inspections, coding standard checks, and code metrics analysis. Formal reviews follow defined processes with roles like moderator, author, and reviewers. Success factors for effective reviews include training participants, explicit planning, and continuous process improvement.
The document discusses static techniques for software testing, including static analysis and reviews. It describes static testing as examining software work products like code manually or with tools without executing it. Reviews can range from informal to formal, with formal reviews involving planning, preparation by reviewers finding defects, a review meeting, rework by the author, and follow-up. The roles of moderator, author, scribe and reviewer in formal reviews are also outlined. Types of reviews like walkthroughs, technical reviews and inspections are also described. Finally, the document discusses how static analysis tools can find defects in code, standards, metrics and structure.
Static testing methods examine software work products like requirements and design documents without executing the software. This allows defects to be found early. Some advantages of static testing include early feedback on quality, low rework costs from finding defects early, and increased development productivity. Formal reviews follow a defined process with roles like moderator, author, scribe, and reviewers. Reviews can find defects, improve quality, and create common understanding. Static analysis tools can check for adherence to coding standards and metrics.
The document describes the planning, preparation, and execution of a review process. It discusses the following key points:
1. A moderator plans the review by scheduling it and performing an entry check to ensure the document is ready.
2. Reviewers individually prepare by checking pages according to their assigned role and logging any issues found.
3. The review meeting involves logging all issues page by page without discussion, then discussing and deciding on each issue.
4. The author addresses issues through rework and indicates changes.
5. The moderator ensures all issues were adequately addressed and collects review metrics for process improvement.
Dynamic testing involves executing software with input values and examining the output, allowing defects to be detected in code. Static testing analyzes software work products like documentation without executing the code. Formal reviews have defined phases including planning, preparation where reviewers check materials, a review meeting, and follow-up on rework. The main review types are walkthroughs where the author guides discussion, technical reviews where experts focus on technical content, and inspections with more formal defect identification. Critical success factors for implementing reviews include designating a champion, focusing on important items, explicit planning and tracking, training participants, managing people issues, and continuously improving.
Quality assurance work throughand inspections(report2)kimk2
Quality assurance work involves planned activities to ensure quality requirements are met. This includes managing raw materials, production processes, and documentation. Quality is determined by customers rather than general society. Walkthroughs are informal meetings to find problems and discuss solutions with little preparation. Inspections are more formal and aim to find problems early by thoroughly preparing. They involve defined roles like inspector leader and recorder. The inspection process has phases for planning, overview, preparation, examination meeting, and rework.
abdurrahimradhin Program Studi S1 Sistem Informasi Fakultas Sains dan Teknologi Universitas Islam Negeri Sultan Syarif Kasim Riau
http://sif.uin-suska.ac.id/
http://fst.uin-suska.ac.id/
http://www.uin-suska.ac.id/
Referensi ke Graham et.al (2006)
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.
Static techniques allow for examining software work products like requirements, design documents, and source code manually or with tools, without executing the software. This is known as static testing. Static testing can evaluate all software work products early in the development lifecycle through review techniques. Reviews involve examining documents for defects and quality issues in a team setting. This allows information sharing and helps focus testing. Reviews have been shown to improve productivity and quality by reducing defects found later.
This document discusses static and dynamic testing techniques. It defines static testing as examining software work products manually or with tools without executing them, while dynamic testing executes software using input values to examine outputs. The document then describes the phases of a formal review process and defines roles in a review. It identifies the moderator, author, scribe, reviewers, and manager. Finally, it explains the differences between inspections, technical reviews, and walkthroughs, providing details on each type of review.
Static techniques involve manually examining software work products like documentation without executing the code. This includes roles like a moderator, author, scribe, and reviewers. There are different types of reviews - walkthroughs where the author guides discussion, and inspections where reviewers thoroughly check documentation against sources before meeting to log defects. Key factors for successful reviews are designating a champion, focusing on important items, explicit planning, training, and managing people.
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 document discusses static testing techniques, which involve examining software work products like documentation manually or with tools, without executing the software. It covers formal reviews, which have phases like planning, preparation, a review meeting, rework, and follow up. Reviews have roles like a moderator, author, scribe, and reviewers. Different review types are discussed, like walkthroughs, technical reviews, and inspections. Success factors for reviews include finding a champion, prioritizing what counts, explicit planning, training participants, managing people issues, following rules simply, continuous improvement, and reporting results. Static analysis tools can check coding standards and metrics like comment frequency, nesting depth, and lines of code.
The document discusses static testing techniques, which involve examining software work products like requirements and code manually or with tools, without executing the software. It covers topics like formal reviews, roles in reviews, types of reviews including walkthroughs, inspections and technical reviews. It also discusses using static analysis tools to check for adherence to coding standards and metrics. There are multiple choice questions at the end to test understanding of reviews and static analysis.
The document discusses software testing and review techniques. It defines static and dynamic testing, noting that static testing examines software work products like requirements and design documents without executing the software, while dynamic testing executes the software and compares outputs to expected results. It also discusses formal review phases like planning, preparation, meeting, and rework. Key roles in reviews include moderator, author, scribe, and reviewers. Common review types are walkthroughs, technical reviews, and inspections.
Static testing is a software testing method that involves examination of program's code and its associated documentation but does not require the program to be executed.
Static Testing Techniques
Informal Reviews
Formal Reviews
Technical Reviews
Walk Through
Inspection Process
Static Code Review
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.
This document discusses different types of software reviews, including informal reviews, formal reviews, walkthroughs, technical reviews, and inspections. Formal reviews follow a defined process with six main steps: planning, kick-off, preparation, review meeting, rework, and follow-up. Inspections are the most formal type of review and involve thorough preparation and defect checking by reviewers before a meeting, where defects are logged efficiently without discussion. Different roles in the review process are also outlined, including moderator, author, scribe, and reviewers.
How to Store Data on the Odoo 17 WebsiteCeline George
Here we are going to discuss how to store data in Odoo 17 Website.
It includes defining a model with few fields in it. Add demo data into the model using data directory. Also using a controller, pass the values into the template while rendering it and display the values in the website.
How to Install Theme in the Odoo 17 ERPCeline George
With Odoo, we can select from a wide selection of attractive themes. Many excellent ones are free to use, while some require payment. Putting an Odoo theme in the Odoo module directory on our server, downloading the theme, and then installing it is a simple process.
Lecture_Notes_Unit4_Chapter_8_9_10_RDBMS for the students affiliated by alaga...Murugan Solaiyappan
Title: Relational Database Management System Concepts(RDBMS)
Description:
Welcome to the comprehensive guide on Relational Database Management System (RDBMS) concepts, tailored for final year B.Sc. Computer Science students affiliated with Alagappa University. This document covers fundamental principles and advanced topics in RDBMS, offering a structured approach to understanding databases in the context of modern computing. PDF content is prepared from the text book Learn Oracle 8I by JOSE A RAMALHO.
Key Topics Covered:
Main Topic : DATA INTEGRITY, CREATING AND MAINTAINING A TABLE AND INDEX
Sub-Topic :
Data Integrity,Types of Integrity, Integrity Constraints, Primary Key, Foreign key, unique key, self referential integrity,
creating and maintain a table, Modifying a table, alter a table, Deleting a table
Create an Index, Alter Index, Drop Index, Function based index, obtaining information about index, Difference between ROWID and ROWNUM
Target Audience:
Final year B.Sc. Computer Science students at Alagappa University seeking a solid foundation in RDBMS principles for academic and practical applications.
About the Author:
Dr. S. Murugan is Associate Professor at Alagappa Government Arts College, Karaikudi. With 23 years of teaching experience in the field of Computer Science, Dr. S. Murugan has a passion for simplifying complex concepts in database management.
Disclaimer:
This document is intended for educational purposes only. The content presented here reflects the author’s understanding in the field of RDBMS as of 2024.
Feedback and Contact Information:
Your feedback is valuable! For any queries or suggestions, please contact muruganjit@agacollege.in
Delegation Inheritance in Odoo 17 and Its Use CasesCeline George
There are 3 types of inheritance in odoo Classical, Extension, and Delegation. Delegation inheritance is used to sink other models to our custom model. And there is no change in the views. This slide will discuss delegation inheritance and its use cases in odoo 17.
Views in Odoo - Advanced Views - Pivot View in Odoo 17Celine George
In Odoo, the pivot view is a graphical representation of data that allows users to analyze and summarize large datasets quickly. It's a powerful tool for generating insights from your business data.
The pivot view in Odoo is a valuable tool for analyzing and summarizing large datasets, helping you gain insights into your business operations.
Ardra Nakshatra (आर्द्रा): Understanding its Effects and RemediesAstro Pathshala
Ardra Nakshatra, the sixth Nakshatra in Vedic astrology, spans from 6°40' to 20° in the Gemini zodiac sign. Governed by Rahu, the north lunar node, Ardra translates to "the moist one" or "the star of sorrow." Symbolized by a teardrop, it represents the transformational power of storms, bringing both destruction and renewal.
About Astro Pathshala
Astro Pathshala is a renowned astrology institute offering comprehensive astrology courses and personalized astrological consultations for over 20 years. Founded by Gurudev Sunil Vashist ji, Astro Pathshala has been a beacon of knowledge and guidance in the field of Vedic astrology. With a team of experienced astrologers, the institute provides in-depth courses that cover various aspects of astrology, including Nakshatras, planetary influences, and remedies. Whether you are a beginner seeking to learn astrology or someone looking for expert astrological advice, Astro Pathshala is dedicated to helping you navigate life's challenges and unlock your full potential through the ancient wisdom of Vedic astrology.
For more information about their courses and consultations, visit Astro Pathshala.
Join educators from the US and worldwide at this year’s conference, themed “Strategies for Proficiency & Acquisition,” to learn from top experts in world language teaching.
Credit limit improvement system in odoo 17Celine George
In Odoo 17, confirmed and uninvoiced sales orders are now factored into a partner's total receivables. As a result, the credit limit warning system now considers this updated calculation, leading to more accurate and effective credit management.
How to Configure Time Off Types in Odoo 17Celine George
Now we can take look into how to configure time off types in odoo 17 through this slide. Time-off types are used to grant or request different types of leave. Only then the authorities will have a clear view or a clear understanding of what kind of leave the employee is taking.
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. 1. REVIEWS AND THE TEST PROCESS
Studies have shown that as a result of reviews, a significant increase in pro-
ductivity 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 prod ucts 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.
4. 2. REVIEW PROCESS
2.1 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:
• 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.
5. Cont....
Although more and other entry criteria can be applied, the
following can be regarded as the minimum set for performing the
entry check:
• 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.
• The document to be reviewed is available with line numbers.
• The document has been cleaned up by running any automated
checks that apply.
• References needed for the inspection are stable and available.
• The document author is prepared to join the review team and feels
confident with the quality of the document.
6. Cont....
• 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 meas-ured results up to 70% more
major defects found per page as a result of per-forming a kick-off, [van
Veenendaal and van der Zwan, 2000]
During the kick-off meeting the reviewers receive a short
introduction on the objectives of the review and the documents. The
relationships between the doc-ument under review and the other
documents (sources) are explained, espe-cially if the number of related
documents is high.
7. Cont....
• 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.
8. Cont....
• Review meeting
The meeting typically consists of the following elements
(partly depending on the review type): logging phase, discussion
phase and decision phase.
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).
9. Cont....
• 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– f
the feedback. For more formal review types the moderator checks for
compli-ance to the exit criteria.
10. 2.1 Roles and responsibilities
• The moderator
The moderator (or review leader) leads the review process. He
or she deter-mines, in co-operation with the author, the type of
review, approach and the composition of the review team. The
moderator performs the entry check and the follow-up on the
rework, in order to control the quality of the input and output of
the review process. The moderator also schedules the meeting,
disseminates documents before the meeting, coaches other team
members, paces the meeting, leads possible discussions and stores
the data that is collected.
• The author
As the writer of the document under review, the author's basic
goal should be to learn as much as possible with regard to
improving the quality of the document, but also to improve his or
her ability to write future documents. The author's task is to
illuminate unclear areas and to understand the defects found.
11. Cont....
• The scribe
During the logging meeting, the scribe (or recorder) has to record each
defect mentioned and any suggestions for process improvement. In practice it is
often the author who plays this role, ensuring that the log is readable and
understand-able. If authors record their own defects, or at least make their own
notes in their own words, it helps them to understand the log better during
rework. However, having someone other than the author take the role of the
scribe (e.g. the moderator) can have significant advantages, since the author is
freed up to think about the document rather than being tied down with lots of
writing.
• The reviewers
The task of the reviewers (also called checkers or inspectors) is to check any
material for defects, mostly prior to the meeting. The level of thoroughness
required depends on the type of review. The level of domain knowledge or tech-
nical expertise needed by the reviewers also depends on the type of review.
Reviewers should be chosen to represent different perspectives and roles in the
review process. In addition to the document under review, the material review-ers
receive includes source documents, standards, checklists, etc. In general, the fewer
source and reference documents provided, the more domain expertise regarding
the content of the document under review is needed.
12. Cont....
• The manager
The manager is involved in the reviews as he or she
decides on the execution of reviews, allocates time in
project schedules and determines whether review
process objectives have been met. The manager will
also take care of any review training requested by the
participants. Of course a manager can also be involved
in the review itself depending on his or her background,
playing the role of a reviewer if this would be helpful.
13. 2.2 Types of review
• Walkthrough
A walkthrough is characterized by the author of the
document under review guiding the participants through the
document and his or her thought processes, to achieve a
common understanding and to gather feedback. This is
especially useful if people from outside the software
discipline are present, who are not used to, or cannot easily
understand software development documents. The content of
the document is explained step by step by the author, to
reach consensus on changes or to gather information.
14. Cont....
• Technical review
A technical review is a discussion meeting that focuses
on achieving con-sensus about the technical content of a
document. Compared to inspec-tions, technical reviews are
less formal and there is little or no focus on defect
identification on the basis of referenced documents, intended
read-ership and rules. During technical reviews defects are
found by experts, who focus on the content of the document.
The experts that are needed for a technical review are, for
example, architects, chief designers and key users. In practice,
technical reviews vary from quite informal to very formal.
15. Cont....
• Inspection
Inspection is the most formal review type. The document
under inspection is prepared and checked thoroughly by the
reviewers before the meeting, compar-ing the work product
with its sources and other referenced documents, and using
rules and checklists. In the inspection meeting the defects
found are logged and any discussion is postponed until the
discussion phase. This makes the inspection meeting a very
efficient meeting.
16. 2.3 Success factors for reviews
• Find a 'champion'
A champion is needed, one who will lead the process on a project
or organiza-tional 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 architec-ture 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 docu-ment.
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.
17. Cont....
• 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 impor-tantly, rework. Tracking these hours
will improve planning of the next review. As stated earlier,
management plays an important part in planning of review
activities.
• 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.
18. Cont....
• 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 recom-mended to increase
the effectiveness of defect identification.
19. 3. STATIC ANALYSIS BY TOOLS
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 dis cussed 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.
20. • Coding standards
Checking for adherence to coding standards is certainly the
most well-known of all features. The first action to be taken is to
define or adopt a coding stan-dard. Usually a coding standard
consists of a set of programming rules (e.g. 'Always check
boundaries on an array when copying to that array'), naming
conventions (e.g. 'Classes should start with capital C) and layout
specifica-tions (e.g. 'Indent 4 spaces').
• Code metrics
As stated, when performing static code analysis, usually
information is calculated about structural attributes of the code,
such as comment fre-quency, depth of nesting, cyclomatic number
and number of lines of code. This information can be computed not
only as the design and code are being created but also as changes
are made to a system, to see if the design or code is becoming
bigger, more complex and more difficult to understand and
maintain. The measurements also help us to decide among several
design alternatives, especially when redesigning portions of existing
code.
21. Example :
IF A = 354
THEN IF B > C
THEN A = B
ELSEA= C
ENDIF
ENDIF
Print A
The control flow generated from
the program would look like
Figure 3.2.
The control flow shows seven
nodes (shapes) and eight edges
(lines), thus using the formal
formula the cyclomatic complexity
is 8-7 + 2 = 3. In this case there is
no graph called or subroutine.
Alternatively one may calculate
the cyclomatic complexity using
the decision points rule. Since
there are two decision points, the
cyclomatic complexity is 2 + 1 = 3.
22. Cont....
The important thing for the tester is to be aware that the
above mentioned static analysis measures can be used as early
warning signals of how good the code is likely to be when it is
finished.
In summary the value of static analysis is especially for:
• early detection of defects prior to test execution;
• early warning about suspicious aspects of the code, design or
requirements;
• identification of defects not easily found in dynamic testing;
• improved maintainability of code and design since engineers work
according to documented standards and rules;
• prevention of defects, provided that engineers are willing to learn
from their errors and continuous improvement is practised.