# Software Testing - Software Review # Definition **review:** product is distributed to reviewers who examine it and give feedback. *find the error **in review make the cost less** to fix than they would cost **if they were found in test.*** --- **Software Review:** systematic inspection of a software to find and resolve errors and defects in the software during the early stages of Software Development Life Cycle (SDLC). *All work products in a software project should be either **reviewed (Static Test)** or **tested (Dynamic Test)*** **Static Test:** usually performed manually to verify any type of documents (requirements , specifications ...etc) **Dynamic Test:** use dynamic execution as a tool to detect defects and to evaluate quality ,**only work with code** (example -> not applicable on requirements documents). # Standard for Software Reviews and Audits ## Management Review **Evaluation of if management systems are performing as supposed and producing the desired results.** *purpose is monitor progress, determine the status of plans and schedules* **EXAMPLE** ![](https://i.imgur.com/5zumtMU.png) | Management Review | Technical Review | Software Audit | | -------- | -------- | -------- | | reviews any decisions related to project management. | evaluates the technical quality of software products | externally conducted audit into a project's compliance to specifications, contractual agreements, and other criteria | 1. **The decision maker:** the person for whom the management review is conducted. 2. **Review leader:** ensure that administrative tasks pertaining to the review are completed 3. **Recorder:** document anomalies, action items, decisions, and recommendations made by the review team. 4. **Management staff:** carry out management reviews 5. **Technical staff:** provide the information necessary for the management staff to fulfill its responsibilities. 6. **Customer or user representative:** the role is determined by the review leader prior to the review. ## Technical Review **software quality assurance activity performed mainly by software engineer to determine to determine its suitability for its intended suitability for its intended.** ### Objectives of Technical Review * uncover errors in function, logic, or implementation * software under review meets its requirements. * software represented according to predefined standards * make software projects more manageable. ### Requirement Review **software testing depends on good requirements** #### **8 Characteristics of Good User Requirements:** 1. **Verifiable:** As you write a requirement, determine how you will verify it. 2. **Clear and Concise:** Simple sentences, easily read and understood by non technical people,unambiguous. 3. **Complete:** contains all the information that is needed to define the system function. 4. **Consistent:** does not conflict with other requirements in the requirement specification, uses the same terminology. 5. **Traceable:** has a unique identity,cannot be separated or broken into smaller requirements,easily be traced 6. **Feasible:** can be met using existing technology, achieved within the budget and met within the schedule. 7. **Necessary:** must be present to meet system objectives,leads to a deficiency in the system if it is removed. 8. **Implementation free:** A requirement that is free of implementation details (what functions are provided NOT specify how). ***review slides examples*** ### Design Review **is a process whereby a design is tested against its requirements prior to implementation.** **Software design reviews:** systematic, comprehensive, and well-documented inspection of design aims to check if the design meets all the specified requirements.