Download Static and Dynamic Testing and more Slides Software Project Management in PDF only on Docsity! Static Testing • Static Testing do not execute code. • It manually checks work documents to find errors in early stage. • Static Testing, a software testing technique in which the software is tested without executing the code. It has two parts as listed below: • Review - Typically used to find and eliminate errors or ambiguities in documents such as requirements, design, test cases, etc. • Static analysis - The code written by developers are analyzed (usually by tools) for structural defects that may lead to defects. Types of Testing
Testing
|
| |
Dynamic Static
Testing Testing
Non- Review
Functional Functional etc.
Informal Review • Informal reviews are applied many times during the early stages of the life cycle of the document. • A two person team can conduct an informal review. • In later stages these reviews often involve more people and a meeting. • The goal is to keep the author and to improve the quality of the document. • The most important thing to keep in mind about the informal reviews is that they are not documented. Walkthrough • It is not a formal process/review • It is led by the authors • Author guide the participants through the document according to his or her thought process to achieve a common understanding and to gather feedback. • Useful for the people if they are not from the software discipline, who are not used to or cannot easily understand software development process. • Audience Participation • Is especially useful for higher level documents like requirement specification, etc. Walkthrough Characteristics • The meeting is led by author(s) • Scenarios and dry runs may be use to validate the content. • Separate pre meeting preparations for reviewers is optional. Characteristics of Peer Review • Peer Reviews are documented and uses a defect detection process that has peers and technical specialist as part of the review process. • The Review process doesn't involve management participation. • It is usually led by trained moderator who is NOT the author. • The report is prepared with the list of issues that needs to be addressed. Goals of Technical Review • Asses value of technical value and alternative of product. • Establish consistency in the use and representation of technical concept. • Ensure at early stage technical concept are used correctly. • Inform participant of the technical content of document. Inspection • It is the most formal review type • It is led by the trained moderators • During inspection the documents are prepared and checked thoroughly by the reviewers before the meeting • It involves peers to examine the product • A separate preparation is carried out during which the product is examined and the defects are found • The defects found are documented in a logging list or issue log • A formal follow-up is carried out by the moderator applying exit criteria Success Factors for Review • Review implementation is not easy • There is no one way to success • Many ways to fail • Main question “Ho do you start reviews?” Find a champion • Lead the process project or organizational Level • He must be expertise, enthusiastic and a practical mindset. • Authority of champion should be clear • Must have management support. Pick things that really count • Select document for review that are most important for project. • Reviewing most critical, upstream documents like requirement and architecture will show benefits. Train Participants • Training must be provided in review technique • Training must be provided to moderator and prepare them for critical role. Follow the rules but keep it simple • Follow the rules until you know why and how to modify them • Do not become too theoretical or too detailed. • Checklist roles and recommended to increase effectiveness of defect identification. Manage People Issues • Some review get too personal when they are not well managed. • All participant create and operate in an atmosphere of trust. • People issues and psychological aspect should be dealt by moderator. Use Testers • Testers should also participate in review. • Tester should also learn about product. • They focus on what could go wrong and make them good contribution to reviews. Just do it • The process is simple but not easy. • Every step of process is clear but experience is needed to execute them correctly. • Try to get experienced people to observe and help wherever possible. • Start doing review and start learning from every review. Phases of Formal Review 1) Planning 2) Kick-off 3) Preparation 4) Review Meeting 5) Rework 6) Follow-up Kick-off • Distribute documents • Explaining the objectives, process and documents to the participants. • Keep everybody at the same level regardless of document to review. • Role assignments, checking rate, pages to be checked, process changes and possible other questions are also discussed during meeting. Preparation • Preparing for the review meeting by reviewing the documents. • Noting potential defects, questions and comments. • Participant work individually on the document under review using related documents, procedures, rules and checklist provided. • Critical success factor for a through preparation is the number of pages checked per hour. This is called the checking rate. • During preparation, participants should not exceed checking rate they have been asked to use. Review Meeting • Discussing or logging with documented results or minutes. • Nothing defects, which recommendation regarding handling the defects, making decision about the defects. • Examining, evaluating and recording issues during any physical meeting or tracking any group electronic communication. • At the end, decision on the document under review has to be made. • If number of defects found per page exceed certain level, the document must be reviewed again. • If project is under pressure, moderator will sometimes be forced to skip reviews. Static Analysis • Static analysis is differs from dynamic testing in number of ways • It is performed on requirements, design or code without examining software. • Performed before formal review • Goal is to find defects, whether or not they may cause failures. Static Analysis Tools • Used by developers • Used during component and integration testing • Tool shows structural attributes, depth of nesting, check against coding standards. • It may produce enormous number of warning message which can be of low risk. Static Analysis • Defect found out by static analysis tools • Referencing a variable having undefined value. • Improper use of object, method, function etc. • Unreachable code • Certain types of missing or erroneous logic. • Highly complex functions • Various types of programming standard violation • Security vulnerabilities • Syntax violation of code. Coding Metrics •Cyclomatic Complexity • Cyclomatic complexity is a source code complexity measurement that is being correlated to a number of coding errors. • calculated by developing a Control Flow Graph of the code that measures the number of linearly-independent paths through a program module. • Cyclomatic complexity = E - N + 2*P where, . • E = number of edges in the flow graph. • N = number of nodes in the flow graph. • P = number of nodes that have exit points. Cyclomatic Complexity • IF A = 10 THEN • IF B > C THEN • A = B • ELSE • A = C • ENDIF • ENDIF • Print A • Print B • Print C
PRINT A,B,C