Software Testing: Essential Phase of SDLC and a Comparative Study Of

Total Page:16

File Type:pdf, Size:1020Kb

Software Testing: Essential Phase of SDLC and a Comparative Study Of International Journal of System and Software Engineering Volume 5 Issue 2, December 2017 ISSN.: 2321-6107 Software Testing: Essential Phase of SDLC and a Comparative Study of Software Testing Techniques Sushma Malik Assistant Professor, Institute of Innovation in Technology and Management, Janak Puri, New Delhi, India. Email: [email protected] Abstract: Software Development Life-Cycle (SDLC) follows In the software development process, the problem (Software) the different activities that are used in the development of a can be dividing in the following activities [3]: software product. SDLC is also called the software process ∑ Understanding the problem and it is the lifeline of any Software Development Model. ∑ Decide a plan for the solution Software Processes decide the survival of a particular software development model in the market as well as in ∑ Coding for the designed solution software organization and Software testing is a process of ∑ Testing the definite program finding software bugs while executing a program so that we get the zero defect software. The main objective of software These activities may be very complex for large systems. So, testing is to evaluating the competence and usability of a each of the activity has to be broken into smaller sub-activities software. Software testing is an important part of the SDLC or steps. These steps are then handled effectively to produce a because through software testing getting the quality of the software project or system. The basic steps involved in software software. Lots of advancements have been done through project development are: various verification techniques, but still we need software to 1) Requirement Analysis and Specification: The goal of be fully tested before handed to the customer. this phase is to recognize the accurate necessity of the customer and document them properly in a natural Keywords: Black box testing, Grey box testing, Software language. It contains a description of what the system will Development Life Cycle (SDLC), Software Development do without describing how it will be done. The document Process (SDP), Verification and validation, White box which contains the requirements of the user in a proper testing. manner is called the Software Requirement Specification (SRS). I. INTRODUCTION 2) Design: The main aim of design phase is giving the structural form to the requirements with suitable Software development organizations follow some process programming language. In this phase the software when developing software. In small organizations, the process visibility and working of software is designed. This is usually not written down. But in developed organizations, work is documented and known as Software Design the process is written down and is actively implemented. The Description (SDD) document. main component of any Software Development Process (SDP) 3) Implementation and Unit Testing: In this phase coding is the life cycle model on which the software is developed. part is implemented smoothly is the SDD is properly The particular life cycle model significantly affects overall life complete in the earlier design phase. In the unit testing cycle costs associated with a software product. Life cycle of the small modules or functioning units of the software are software start from the exploration and ends at the retirement tested. And in testing part software is examine and doing of the software [1]. the modification in the coding if required. In the IEEE standard Glossary of Software Engineering 4) Integration and System Testing: The objective of unit Terminology, the software life cycle is: “the period of time testing is to determine that each independent module that start when a software product is conceived and ends when is correctly work. But unit testing is not able to test the product is no longer available for use. The software life the interface between the modules are also correct and cycle typically includes a requirements phase, design phase, function correctly. So for that integration testing is implementation phase, test phase, installation and check out required. And system testing involves the testing of the phase, operation phase, and maintenance phase and sometimes entire system, whereas software is a part of the system. retirement phase”. This phase is essential to develop confidence in the Software Testing: Essential Phase of SDLC and a Comparative Study of Software Testing Techniques 39 software through up gradations and deletion of out of dated part of the software during the usage age of the developers before software is delivered to the customer installed and is operational. Software maintenance phase software. or released in the market. doing the error correction in the coding part, improvement of capabilities of the software through up gradations and 5) Operation and Maintenance: Software maintenance is a task come across the development phases of the software, deletion of out of dated part of the software during the when the software is delivered to the customer’s site, usage age of the software. Requirement analysis and specification Operation and Design Maintenance Software Development Life Cycle (SDLC) Integration and Implementation System Testing and unit testing Fig. 1: Software Development Life Cycle (SDLC) Fig. 1: Software Development Life Cycle (SDLC) II. OBJECTIVE OF TESTING III. VERIFICATION AND VALIDATION The main objective of the software testing is to find out the The terms ‘Verification’ and ‘Validation’ are frequently used in the software testing world but the meaning of these terms errors and remove these errors to improve the quality of the II. OBJECTIVE OF TESTINGare mostly unclear and doubtful. Some time user and developer software. Maximum part of the software development budget is both are confused in the verification and validation of the used inThe the main software objective testing of the phase software of thetesting SDLC. is to find out the errors andsoftware remove these and errorsthey toare improve not able the toquality differentiate of between them. the software. Maximum part of the software development budget is usedLots in theof peoplesoftware use testing verification phase of the and SDLC. validation interchangeably but both have different meanings [10]. TABLE I: DIFFERENCE BETWEEN VERIFICATION AND VALIDATION III. VERIFICATION AND VALIDATION Verification Validation The terms ‘Verification’ and ‘Validation’ are frequently used in the software testing world but the meaning of In the Verification, the software or application is verified that they Validation determines whether software or application meetthese all termsthe requirements are mostly unclear which and are doubtful. written Some down time in theuser SRS. and developermeets both the are customer confused expectationsin the verification and and requirements or not. The main activities which are performed during the verification In the validation part of the software, different types of test- part of the software are Reviews, Meetings and Inspections. ing is performed on the software, like black box testing, white box testing, gray box testing etc. No need to execute the codes of the System or Application under In the validation part of the software, execution of code is Verification. must to validate the software. In verification process only check the output on the basis of input Validation process is only checked that the software is ac- which is earlier recorded. cepted or not by the user. Cost of Verification is less than as comparison to Validation. Validation process is more costly than Verification. 40 International Journal of System and Software Engineering Volume 5, Issue 2, December 2017 Verification Validation Verification gives the answer of the question: Are we building Validation gives the answer of the question: Are we build- the product right? ing the right product? In verification, manually checking of documents is done. But in Validation checking, software is checked through various tools and activities. correct in terms of requirements and functionality. It is done at the lowest level. The main goal of unit testing IV. SOFTWAREis to separate TEST eachING part STRATEG of the programIES and show that the2) individualIntegration part ofTesting the software: Integration is correct in meansterms of combine. requirements and functionality. Unit testing cannot catch eachIntegration and every testing bug in is software. defined It as is theimpossible testing toof combined Software testing strategies includes various software test case parts or module of a software to check the functionality evaluate every execution path in every software [7]. design methods for a well prepared series of steps for successful if each part or module work properly. Integration testing testing of software. These strategies are generally developed by can be done in two ways: Bottom-up integration testing tester, project manager2) Integration and software Testing :engineers. Integration Theremeans arecombine. four Integrationand testing Top-down is defined integration as the testing testing of combined [6]. parts types of Software Testing Strategies [6]: or module of a software to check the functionality if each 3) partSystem or module Testing work: Systemproperly. testingIntegration test testing the entire can system. 1) Unit Testing: Unit is the smallest module i.e. smallest Once all the modules are integrated, than whole system be done in two ways: Bottom-up integration testing and Top-down integration testing [6]. set
Recommended publications
  • Types of Software Testing
    Types of Software Testing We would be glad to have feedback from you. Drop us a line, whether it is a comment, a question, a work proposition or just a hello. You can use either the form below or the contact details on the rightt. Contact details [email protected] +91 811 386 5000 1 Software testing is the way of assessing a software product to distinguish contrasts between given information and expected result. Additionally, to evaluate the characteristic of a product. The testing process evaluates the quality of the software. You know what testing does. No need to explain further. But, are you aware of types of testing. It’s indeed a sea. But before we get to the types, let’s have a look at the standards that needs to be maintained. Standards of Testing The entire test should meet the user prerequisites. Exhaustive testing isn’t conceivable. As we require the ideal quantity of testing in view of the risk evaluation of the application. The entire test to be directed ought to be arranged before executing it. It follows 80/20 rule which expresses that 80% of defects originates from 20% of program parts. Start testing with little parts and extend it to broad components. Software testers know about the different sorts of Software Testing. In this article, we have incorporated majorly all types of software testing which testers, developers, and QA reams more often use in their everyday testing life. Let’s understand them!!! Black box Testing The black box testing is a category of strategy that disregards the interior component of the framework and spotlights on the output created against any input and performance of the system.
    [Show full text]
  • Smoke Testing What Is Smoke Testing?
    Smoke Testing What is Smoke Testing? Smoke testing is the initial testing process exercised to check whether the software under test is ready/stable for further testing. The term ‘Smoke Testing’ is came from the hardware testing, in the hardware testing initial pass is done to check if it did not catch the fire or smoked in the initial switch on.Prior to start Smoke testing few test cases need to created once to use for smoke testing. These test cases are executed prior to start actual testing to checkcritical functionalities of the program is working fine. This set of test cases written such a way that all functionality is verified but not in deep. The objective is not to perform exhaustive testing, the tester need check the navigation’s & adding simple things, tester needs to ask simple questions “Can tester able to access software application?”, “Does user navigates from one window to other?”, “Check that the GUI is responsive” etc. Here are graphical representation of Smoke testing & Sanity testing in software testing: Smoke Sanity Testing Diagram The test cases can be executed manually or automated; this depends upon the project requirements. In this types of testing mainly focus on the important functionality of application, tester do not care about detailed testing of each software component, this can be cover in the further testing of application. The Smoke testing is typically executed by testers after every build is received for checking the build is in testable condition. This type of testing is applicable in the Integration Testing, System Testing and Acceptance Testing levels.
    [Show full text]
  • Comparison of GUI Testing Tools for Android Applications
    Comparison of GUI testing tools for Android applications University of Oulu Department of Information Processing Science Master’s Thesis Tomi Lämsä Date 22.5.2017 2 Abstract Test automation is an intriguing area of software engineering, especially in Android development. This is since Android applications must be able to run in many different permutations of operating system versions and hardware choices. Comparison of different tools for automated UI testing of Android applications is done in this thesis. In a literature review several different tools available and their popularity is researched and the structure of the most popular tools is looked at. The two tools identified to be the most popular are Appium and Espresso. In an empirical study the two tools along with Robotium, UiAutomator and Tau are compared against each other in test execution speed, maintainability of the test code, reliability of the test tools and in general issues. An empirical study was carried out by selecting three Android applications for which an identical suite of tests was developed with each tool. The test suites were then run and the execution speed and reliability was analysed based on these results. The test code written is also analysed for maintainability by calculating the lines of code and the number of method calls needed to handle asynchrony related to UI updates. The issues faced by the test developer with the different tools are also analysed. This thesis aims to help industry users of these kinds of applications in two ways. First, it could be used as a source on what tools are over all available for UI testing of Android applications.
    [Show full text]
  • Acceptance Testing Tools - a Different Perspective on Managing Requirements
    Acceptance Testing Tools - A different perspective on managing requirements Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Learning Objectives • Introduce the V-Model of quality assurance • Stress the importance of testing in terms of software engineering economics • Understand that acceptance tests are requirements specifications • Introduce acceptance and integration testing tools for Test Driven Development • Appreciate that automated acceptance tests are executable requirements specifications 2 V-Model in Distributed System Development Requirements Acceptance Test Software Integration Architecture Test Detailed System Design Test See: B. Boehm Guidelines for Verifying and Validating Software Unit Requirements and Design Code Specifications. Euro IFIP, P. A. Test Samet (editor), North-Holland Publishing Company, IFIP, 1979. 3 1 Traditional Software Development Requirements Acceptance Test Software Integration Architecture Test Detailed System Design Test Unit Code Test 4 Test Driven Development of Distributed Systems Use Cases/ User Stories Acceptance QoS Requirements Test Software Integration & Architecture System Test Detailed Unit Design Test These tests Code should be automated 5 Advantages of Test Driven Development • Early definition of acceptance tests reveals incomplete requirements • Early formalization of requirements into automated acceptance tests unearths ambiguities • Flaws in distributed software architectures (there often are many!) are discovered early • Unit tests become precise specifications • Early resolution improves productivity (see next slide) 6 2 Software Engineering Economics See: B. Boehm: Software Engineering Economics. Prentice Hall. 1981 7 An Example Consider an on-line car dealership User Story: • I first select a locale to determine the language shown at the user interface. I then select the SUV I want to buy.
    [Show full text]
  • Model-Based Fuzzing Using Symbolic Transition Systems
    Model-Based Fuzzing Using Symbolic Transition Systems Wouter Bohlken [email protected] January 31, 2021, 48 pages Academic supervisor: Dr. Ana-Maria Oprescu, [email protected] Daily supervisor: Dr. Machiel van der Bijl, [email protected] Host organisation: Axini, https://www.axini.com Universiteit van Amsterdam Faculteit der Natuurwetenschappen, Wiskunde en Informatica Master Software Engineering http://www.software-engineering-amsterdam.nl Abstract As software is getting more complex, the need for thorough testing increases at the same rate. Model- Based Testing (MBT) is a technique for thorough functional testing. Model-Based Testing uses a formal definition of a program and automatically extracts test cases. While MBT is useful for functional testing, non-functional security testing is not covered in this approach. Software vulnerabilities, when exploited, can lead to serious damage in industry. Finding flaws in software is a complicated, laborious, and ex- pensive task, therefore, automated security testing is of high relevance. Fuzzing is one of the most popular and effective techniques for automatically detecting vulnerabilities in software. Many differ- ent fuzzing approaches have been developed in recent years. Research has shown that there is no single fuzzer that works best on all types of software, and different fuzzers should be used for different purposes. In this research, we conducted a systematic review of state-of-the-art fuzzers and composed a list of candidate fuzzers that can be combined with MBT. We present two approaches on how to combine these two techniques: offline and online. An offline approach fully utilizes an existing fuzzer and automatically extracts relevant information from a model, which is then used for fuzzing.
    [Show full text]
  • An Analysis of Current Guidance in the Certification of Airborne Software
    An Analysis of Current Guidance in the Certification of Airborne Software by Ryan Erwin Berk B.S., Mathematics I Massachusetts Institute of Technology, 2002 B.S., Management Science I Massachusetts Institute of Technology, 2002 Submitted to the System Design and Management Program In Partial Fulfillment of the Requirements for the Degree of Master of Science in Engineering and Management at the ARCHIVES MASSACHUSETrS INS E. MASSACHUSETTS INSTITUTE OF TECHNOLOGY OF TECHNOLOGY June 2009 SEP 2 3 2009 © 2009 Ryan Erwin Berk LIBRARIES All Rights Reserved The author hereby grants to MIT permission to reproduce and to distribute publicly paper and electronic copies of this thesis document in whole or in part in any medium now known or hereafter created. Signature of Author Ryan Erwin Berk / System Design & Management Program May 8, 2009 Certified by _ Nancy Leveson Thesis Supervisor Professor of Aeronautics and Astronautics pm-m A 11A Professor of Engineering Systems Accepted by _ Patrick Hale Director System Design and Management Program This page is intentionally left blank. An Analysis of Current Guidance in the Certification of Airborne Software by Ryan Erwin Berk Submitted to the System Design and Management Program on May 8, 2009 in Partial Fulfillment of the Requirements for the Degree of Master of Science in Engineering and Management ABSTRACT The use of software in commercial aviation has expanded over the last two decades, moving from commercial passenger transport down into single-engine piston aircraft. The most comprehensive and recent official guidance on software certification guidelines was approved in 1992 as DO-178B, before the widespread use of object-oriented design and complex aircraft systems integration in general aviation (GA).
    [Show full text]
  • Parasoft Static Application Security Testing (SAST) for .Net - C/C++ - Java Platform
    Parasoft Static Application Security Testing (SAST) for .Net - C/C++ - Java Platform Parasoft® dotTEST™ /Jtest (for Java) / C/C++test is an integrated Development Testing solution for automating a broad range of testing best practices proven to improve development team productivity and software quality. dotTEST / Java Test / C/C++ Test also seamlessly integrates with Parasoft SOAtest as an option, which enables end-to-end functional and load testing for complex distributed applications and transactions. Capabilities Overview STATIC ANALYSIS ● Broad support for languages and standards: Security | C/C++ | Java | .NET | FDA | Safety-critical ● Static analysis tool industry leader since 1994 ● Simple out-of-the-box integration into your SDLC ● Prevent and expose defects via multiple analysis techniques ● Find and fix issues rapidly, with minimal disruption ● Integrated with Parasoft's suite of development testing capabilities, including unit testing, code coverage analysis, and code review CODE COVERAGE ANALYSIS ● Track coverage during unit test execution and the data merge with coverage captured during functional and manual testing in Parasoft Development Testing Platform to measure true test coverage. ● Integrate with coverage data with static analysis violations, unit testing results, and other testing practices in Parasoft Development Testing Platform for a complete view of the risk associated with your application ● Achieve test traceability to understand the impact of change, focus testing activities based on risk, and meet compliance
    [Show full text]
  • Acceptance Testing How Cslim and Fitnesse Can Help You Test Your Embedded System
    Acceptance Testing How CSlim and FitNesse Can Help You Test Your Embedded System Doug Bradbury Software Craftsman, 8th Light Tutorial Environment git clone git://github.com/dougbradbury/c_learning.git cd c_learning ./bootstrap.sh or with a live CD: cp -R cslim_agile_package c_clearning cd c_learning git pull ./bootstrap.sh Overview Talk w/ exercises: Acceptance Tests Tutorial: Writing Acceptance tests Tutorial: Fitnesse Tutorial: CSlim Talk: Embedded Systems Integration Bonus Topics Introductions Who are you? Where do you work? What experience do you have with ... embedded systems? acceptance testing? FitNesse and Slim? Objectives As a result of this course you will be able to: Understand the purposes of acceptance testing; Use acceptance tests to define and negotiate scope on embedded systems projects; Integrate a CSlim Server into your embedded systems; Objectives (cont) As a result of this course you will be able to: Add CSlim fixtures to your embedded system; Write Fitnesse tests to drive the execution of CSlim fixtures; Write and maintain suites of tests in a responsible manner. Points on a star How many points does this star have? Star Point Specification Points on a star are counted by the number of exterior points. Points on a star How many points does this star have? By Example 3 5 9 Points on a star Now, how many points does this star have? Robo-draw Pick a partner ... Acceptance Testing Collaboratively producing examples of what a piece of software is supposed to do Unit Tests help you build the code right. Acceptance Tests
    [Show full text]
  • Evaluation Approaches in Software Testing Ayaz Farooq, Reiner R
    Nr.: FIN-05-2008 Evaluation Approaches in Software Testing Ayaz Farooq, Reiner R. Dumke Arbeitsgruppe Softwaretechnik Fakultät für Informatik Otto-von-Guericke-Universität Magdeburg Impressum (§ 10 MDStV): Herausgeber: Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Der Dekan Verantwortlich für diese Ausgabe: Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Reiner Dumke Postfach 4120 39016 Magdeburg E-Mail: [email protected] http://www.cs.uni-magdeburg.de/Preprints.html Auflage: 81 Redaktionsschluss: Juli 2008 Herstellung: Dezernat Allgemeine Angelegenheiten, Sachgebiet Reproduktion Bezug: Universitätsbibliothek/Hochschulschriften- und Tauschstelle Otto-von-Guericke-University of Magdeburg Faculty of Computer Science Institute for Distributed Systems Software Engineering Group Evaluation Approaches in Software Testing Authors: Ayaz Farooq Reiner R. Dumke University of Magdeburg Faculty of Computer Science P.O. Box 4120, 39016 Magdeburg Germany Farooq, Ayaz Dumke, Reiner R. Evaluation Approaches in Software Testing Technical Report Otto-von-Guericke-University of Magdeburg 2008. Contents i Contents 1 Introduction 1 1.1 Evaluation Defined . 2 1.2 Evaluation in Software Engineering . 2 1.3 Evaluation in Software Testing . 3 1.4 Structure of the Report . 5 2 Test Processes: Basics & Maturities 7 2.1 Test Process Fundamentals . 7 2.1.1 Test Process Contexts . 9 2.1.2 Research over Test Process . 10 2.2 Test Process Definition & Modeling . 11 2.2.1 Generic Test Process Descriptions . 11 2.2.1.1 Test Management Approach-TMap . 13 2.2.1.2 Drabick’s Formal Testing Process . 13 2.2.1.3 Test Driven Development . 15 2.2.1.4 Independent Verification & Validation . 17 2.2.2 Domain Specific Test Processes .
    [Show full text]
  • Exploring Languages with Interpreters and Functional Programming Chapter 11
    Exploring Languages with Interpreters and Functional Programming Chapter 11 H. Conrad Cunningham 24 January 2019 Contents 11 Software Testing Concepts 2 11.1 Chapter Introduction . .2 11.2 Software Requirements Specification . .2 11.3 What is Software Testing? . .3 11.4 Goals of Testing . .3 11.5 Dimensions of Testing . .3 11.5.1 Testing levels . .4 11.5.2 Testing methods . .6 11.5.2.1 Black-box testing . .6 11.5.2.2 White-box testing . .8 11.5.2.3 Gray-box testing . .9 11.5.2.4 Ad hoc testing . .9 11.5.3 Testing types . .9 11.5.4 Combining levels, methods, and types . 10 11.6 Aside: Test-Driven Development . 10 11.7 Principles for Test Automation . 12 11.8 What Next? . 15 11.9 Exercises . 15 11.10Acknowledgements . 15 11.11References . 16 11.12Terms and Concepts . 17 Copyright (C) 2018, H. Conrad Cunningham Professor of Computer and Information Science University of Mississippi 211 Weir Hall P.O. Box 1848 University, MS 38677 1 (662) 915-5358 Browser Advisory: The HTML version of this textbook requires a browser that supports the display of MathML. A good choice as of October 2018 is a recent version of Firefox from Mozilla. 2 11 Software Testing Concepts 11.1 Chapter Introduction The goal of this chapter is to survey the important concepts, terminology, and techniques of software testing in general. The next chapter illustrates these techniques by manually constructing test scripts for Haskell functions and modules. 11.2 Software Requirements Specification The purpose of a software development project is to meet particular needs and expectations of the project’s stakeholders.
    [Show full text]
  • Software Testing Training Module
    MAST MARKET ALIGNED SKILLS TRAINING SOFTWARE TESTING TRAINING MODULE In partnership with Supported by: INDIA: 1003-1005,DLF City Court, MG Road, Gurgaon 122002 Tel (91) 124 4551850 Fax (91) 124 4551888 NEW YORK: 216 E.45th Street, 7th Floor, New York, NY 10017 www.aif.org SOFTWARE TESTING TRAINING MODULE About the American India Foundation The American India Foundation is committed to catalyzing social and economic change in India, andbuilding a lasting bridge between the United States and India through high impact interventions ineducation, livelihoods, public health, and leadership development. Working closely with localcommunities, AIF partners with NGOs to develop and test innovative solutions and withgovernments to create and scale sustainable impact. Founded in 2001 at the initiative of PresidentBill Clinton following a suggestion from Indian Prime Minister Vajpayee, AIF has impacted the lives of 4.6million of India’s poor. Learn more at www.AIF.org About the Market Aligned Skills Training (MAST) program Market Aligned Skills Training (MAST) provides unemployed young people with a comprehensive skillstraining that equips them with the knowledge and skills needed to secure employment and succeed on thejob. MAST not only meets the growing demands of the diversifying local industries across the country, itharnesses India's youth population to become powerful engines of the economy. AIF Team: Hanumant Rawat, Aamir Aijaz & Rowena Kay Mascarenhas American India Foundation 10th Floor, DLF City Court, MG Road, Near Sikanderpur Metro Station, Gurgaon 122002 216 E. 45th Street, 7th Floor New York, NY 10017 530 Lytton Avenue, Palo Alto, CA 9430 This document is created for the use of underprivileged youth under American India Foundation’s Market Aligned Skills Training (MAST) Program.
    [Show full text]
  • Note 5. Testing
    Computer Science and Software Engineering University of Wisconsin - Platteville Note 5. Testing Yan Shi Lecture Notes for SE 3730 / CS 5730 Outline . Formal and Informal Reviews . Levels of Testing — Unit, Structural Coverage Analysis Input Coverage Testing: • Equivalence class testing • Boundary value analysis testing CRUD testing All pairs — integration, — system, — acceptance . Regression Testing Static and Dynamic Testing . Static testing: the software is not actually executed. — Generally not detailed testing — Reviews, inspections, walkthrough . Dynamic testing: test the dynamic behavior of the software — Usually need to run the software. Black, White and Grey Box Testing . Black box testing: assume no knowledge about the code, structure or implementation. White box testing: fully based on knowledge of the code, structure or implementation. Grey box testing: test with only partial knowledge of implementation. — E.g., algorithm review. Reviews . Static analysis and dynamic analysis . Black-box testing and white-box testing . Reviews are static white-box (?) testing. — Formal design reviews: DR / FDR — Peer reviews: inspections and walkthrough Formal Design Review . The only reviews that are necessary for approval of the design product. The development team cannot continue to the next stage without this approval. Maybe conducted at any development milestone: — Requirement, system design, unit/detailed design, test plan, code, support manual, product release, installation plan, etc. FDR Procedure . Preparation: — find review members (5-10), — review in advance: could use the help of checklist. A short presentation of the document. Comments by the review team. Verification and validation based on comments. Decision: — Full approval: immediate continuation to the next phase. — Partial approval: immediate continuation for some part, major action items for the remainder.
    [Show full text]