Posts

Showing posts from April, 2013

Static Analysis by tools

Image
Static testing,  is where we carefully examine requirements, designs and code, usually with  automated assistance to figure out  additional defects before the code is actually run. Thus, what is called static analysis is just another form of  testing. 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. 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. For static analysis there are many tools, and most of them focus on software code. Static analysis

Success factors for reviews

Implementing (formal) reviews is not easy as there is no one way to success and there are numerous ways to  fail.  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 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 co

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.  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. The main review types:  Walkthrough Technical Review Inspection 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.  Within a walkthrough the author does most of the preparation. The participa

Roles and Resposibilities for a Formal Review

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 success-ful 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 reviewer the management (in addition to the main four roles) The moderator The moderator (or review leader) leads the review process .  He or she determines, in co-operation with the a uthor, the type of review, approach and the composition of the review team.  The mo

Phases of Formal Review

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 Kick-off Preparation Review meeting Rework Follow-up Planning The review process for a particular review  begins with a 'request for review'   by the author to the moderator (or inspection leader).  A moderator is often assigned to take care of the scheduling (dates, time, place and invitation) of the review. On a project level, the project planning needs to allow time for review and rework activities , thus providing engineers with time to thoroughly participate in reviews. For more formal reviews ,e.g. inspections, the moderator always performs an entry check and defines at this stage formal exit criteria. The entry check is carried out to ensure that the reviewers' time is not wasted on a document that is not ready for review.  A document containing too

Phases of Formal Review

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 Kick-off Preparation Review meeting Rework Follow-up Planning The review process for a particular review  begins with a 'request for review'   by the author to the moderator (or inspection leader).  A moderator is often assigned to take care of the scheduling (dates, time, place and invitation) of the review. On a project level, the project planning needs to allow time for review and rework activities , thus providing engineers with time to thoroughly participate in reviews. For more formal reviews ,e.g. inspections, the moderator always performs an entry check and defines at this stage formal exit criteria. The entry check is carried out to ensure that the reviewers' time is not wasted on a document that is not ready for review.  A document containing too

Review Process

Reviews vary from very informal to formal.  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.  Informal Review  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. Inform

Static Testing

Static test techniques provide a powerful way to improve the quality and productivity of software development.  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. Reviews and the Test Process 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 soft

Static Testing

Static test techniques provide a powerful way to improve the quality and productivity of software development.  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. Reviews and the Test Process 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 soft