Static testing is a verification process used to test software without executing code by manually reviewing documentation and source code. It aims to identify defects early by reviewing requirements, design documents, source code, and other artifacts.
Static testing is a verification process used to test software without executing code by manually reviewing documentation and source code. It aims to identify defects early by reviewing requirements, design documents, source code, and other artifacts.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 1
Static testing overview and its type ◦ Define static testing ◦ Participants in static testing ◦ Static analysis ◦ Reviews Informal reviews Walkthrough Technical review Inspection Management review Static vs dynamic testing Pros and cons of static testing
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 2
Static testing is a verification process used to test the application without implementing the code of the application. And it is a cost-effective process. To avoid the errors, we will execute Static testing in the initial stage of development because it is easier to identify the sources of errors, and it can fix easily. It is also called verification process and can be done by manually or using tools It is an examination of program code with its associated documentation without execution of a code. It is also called dry-run testing Participants in static testing - Moderator, Author, Scribe, Reviewer, Manager
Software Testing and Quality Assurance, Compiled by Erku K. 3/2/2023 3
Compared with dynamic testing, typical defects that is simple and cheaper to fix using static testing includes ◦ Requirement defect Inconsistence, incomplete, ambiguous, contradictions…. ◦ Design defect Inefficient algorithm/data structure, high coupling, low cohesion ◦ Coding defect All anomalies (DD, UD, KK, dead code, unused code…) ◦ Deviation from standards Lack of coding standards ◦ Incorrect interface specification ◦ Security vulnerability Suspicious to buffer overflow
Software Testing and Quality Assurance, Compiled by Erku K. 3/2/2023 4
The moderator ◦ Also known as review leader ◦ Performs entry check ◦ Follow up on he rework ◦ Schedule the meeting ◦ Coaches other team ◦ Leads the possible discussion and stories that is collected
Software Testing and Quality Assurance, Compiled by Erku K. 3/2/2023 5
The moderator ◦ Also known as review leader ◦ Performs entry check ◦ Follow up on he rework ◦ Schedule the meeting ◦ Coaches other team ◦ Leads the possible discussion and stories that is collected The Author ◦ Illuminates the unclear areas and understand the defects found ◦ Basic goal should be to learn as much as possible with regard to improve the quality of documents
Software Testing and Quality Assurance, Compiled by Erku K. 3/2/2023 6
The scribe ◦ Scribe is a separate person to logging of defects found during the review The reviewers ◦ Also called checkers or inspectors ◦ Check any materials for defects mostly prior to meeting ◦ The manager can also be involved in the review depending on his / her background The moderators ◦ The manager decides on the execution of reviews ◦ Allocates time in project schedule and determine whether the review process objective has been meet
Software Testing and Quality Assurance, Compiled by Erku K. 3/2/2023 7
.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 8
All the static testing types should follow the general test process activities The general test process applied to static testing includes ◦ Planning and control Quality criteria are defined The participants are selected The test meeting, if any, is planned ◦ Analysis and design The material is distributed The participants are briefed about the assignment
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 9
The general test process applied to static testing includes… ◦ Implementation and execution Static testing execution, usually at the reviewers’ own desks The static testing results are collected Metrics may be collected about the performance and the results ◦ Evaluating exit criteria and reporting The results are evaluated against any exit criteria Static testing report may be produced ◦ Test closure activities
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 10
Why static testing ◦ To improve the development productivity. ◦ To find the detects in the earlier stages and easily fix them. ◦ To decrease the testing cost, development timescales, and time. ◦ Reduced development timescales ◦ To get fewer defect at a later stage of testing When – on the following situations occupied ◦ Dynamic Testing is time-consuming ◦ Flaws at earlier stages/identification of Bugs ◦ Dynamic Testing is expensive ◦ Increased size of the software
Software Testing and Quality Assurance, Compiled by Erku K. 3/2/2023 11
Things done in static testing are ◦ Business Requirements Document (BRD) ◦ Use Cases ◦ System/Functional Requirements ◦ Prototype ◦ Prototype Specification Document ◦ DB Fields Dictionary Spreadsheet ◦ Test Data ◦ Traceability Matrix Document ◦ User Manual/Training Guides/Documentation ◦ Test Plan Strategy Document/Test Cases ◦ Architecture and design specification ◦ Source codes, contracts, project schedule, budgets
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 12
Static testing techniques offer a great way to enhance the quality and efficiency of software development. The Static testing technique can be done in two ways ◦ Review ◦ Static Analysis
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 13
Review ◦ In static testing, the review is a technique or a process implemented to find the possible bugs in the application. ◦ We can easily identify and eliminate faults and defects in the various supporting documents such as SRS [Software Requirements Specifications] in the review process. ◦ Review in Static testing is that where all the team members will understand about the project's progress.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 14
static analysis, which is used to contain the assessment of the code quality, which is established by developers. Developers' developed code is analyzed with some tools for structural bugs, which might cause the defects. It includes data flow and control flow testing It help us to identify the below errors: ◦ Dead code, Unused variables ◦ Endless loops, Incorrect syntax ◦ Variable with undefined value ◦ Violation of programing standards and security vulnerabilities Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 15 Reviews in static testing can be classified as ◦ Informal reviews ◦ Walkthroughs ◦ Technical/peer review ◦ Management view ◦ Inspection
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 16
Informal reviews ◦ The document designer place the contents in front of viewers, and everyone gives their view; therefore, bugs are acknowledged in the early stage. ◦ informal reviews will not follow any specific process to find errors. ◦ Coworkers can review documents and provide informal comments. ◦ The least formal type of static testing that follows no formal document process
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 17
Walkthrough ◦ It is used to performed by a skilled person or expert to verify the bugs. Therefore, there might not be problem in the development or testing phase. ◦ The author of whichever document is being reviewed will explain the document to their team. ◦ Participants will ask questions, and any notes are written down.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 18
Walkthrough… ◦ A walk-through is a step-by-step presentation of a document by the author at a walk-through meeting. ◦ The primary objective is to find defects- Quite often the author discovers defects him- or herself just by going through the document. ◦ The secondary objective is to create a common understanding of the contents of the document under testing. ◦ are usually planned to take place at certain times in the development life cycle.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 19
Technical/Peer review ◦ we can check one another's documents to find and resolve the bugs, which is generally done in a team. ◦ technical specifications are reviewed by peers in order to detect any errors. ◦ A technical review is a peer group discussion activity that focuses on achieving consensus on the technical approach to be taken.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 20
Technical/Peer review… ◦ The primary objective is to find defects. ◦ The secondary objective is to make technical decisions and (one hopes) reach consensus about the approach to the work. ◦ Technical reviews are usually planned to take place at certain times in the development life cycle.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 21
Management review ◦ It is performed on management documents. This may be: Project-related plans, such as: Project management plans, including schedules and resources Quality assurance plans Configuration management plans Risk management plans Contingency plans
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 22
Management review… ◦ Plans pertaining to the product, such as: Safety plans Installation plans Maintenance plans Backup and recovery plans Disaster plans ◦ Reports, such as: Progress reports Incident reports, including customer complaints Technical review reports Inspection reports Audit reports
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 23
Management review… ◦ The primary objective is to find defects in the documents under static testing. ◦ The secondary objective is to monitor progress according to the current plan, to assess status, and to make necessary decisions about any actions to take accordingly, including changes in resources, time, and/or scope/quality and updating the plan accordingly. ◦ The scope and the quality are usually expressed in terms of requirements to fulfil.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 24
Management review… ◦ Management reviews are usually planned to take place at certain times in the development life cycle, typically in connection with defined milestones, that is, transfer from one development phase to the next.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 25
Inspection ◦ In review, the inspection is essentially verifying the document by the higher authority, for example, the verification of SRS [software requirement specifications] document. ◦ Inspection is a formal and well-defined type of static test.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 26
Inspection …characteristics ◦ The process to follow must be the formally defined process ◦ The roles must be the defined inspection roles ◦ Source material (basis documentation) must always be used ◦ The inspectors must look for specific kinds of issues ◦ Metrics must be defined and collected
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 27
Inspection …main purposes ◦ Product improvement ◦ Process improvement The formal inspection process consists of the activities: ◦ Planning ◦ Overview ◦ Preparation ◦ Meeting ◦ Rework ◦ Follow-up
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 28
Informal review -> Inspection ◦ This order ensures that the trivial defects have been removed before the inspection so that the inspection can be focused on major issues. Technical Review -> Inspection -> Walk-through ◦ This order ensures that the document is as defect free as we may expect and that it is ready for transfer to another group of people in the development. ◦ This other group gets the best starting point by being introduced to the document by the author.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 29
Technical review -> Walk-through ◦ This sequence of static testing types is less formal than the one above, but the objectives are the same. Walk-through -> Inspection -> Informal review ◦ This order ensures that the author is on the right track and can carry on working on the document until it is ready for inspection. ◦ After the inspection any minor spelling, grammar, and formatting issues will be caught before the document is released.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 30
Informal review -> Technical review -> Inspection ◦ This sequence is the most formal, and it ensures that the document doesn’t have minor defects before the technical review and that the document is as defect free as we may expect both from a technical and a more formalistic point of view.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 31
Pros of static testing
Cons of static testing
Software Testing and Quality Assurance, Compiled by Erku K. 3/2/2023 32
Static testing Dynamic testing It checks the code or It checks the code or the application without the application by executing the code. executing the code. It is a It is a Verification Process Validation Process. It is used to prevent used to find and fix the defects. defects. It can be done only It can be performed after the executables before the compilation are prepared. of code.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 33