Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!natinst!uudell!pensoft!windy From: windy@pensoft.uucp (Windflower Gilbert) Newsgroups: comp.software-eng Subject: Re: SE Terms Confusion Message-ID: <1991Apr12.161110.5113@pensoft.uucp> Date: 12 Apr 91 16:11:10 GMT References: <1991Apr11.144028.20787@murdoch.acc.Virginia.EDU> Organization: Pencom Software, Austin, TX Lines: 58 I will explain the terms in question as I understand them . I do QA for a living. The quoted definitions are from the IEEE Standard Glossary of Software Engineering Terms. "Software Quality: The totality oms to refer to robustness, lack of bugs, and other general quality statements about software. Software Risk probably refers to criticality. The Criticality of software is a function of whether or not the failure of the software could cause loss of life or significant financial loss. If software is "Critical" then it must be tested much more thoroughly. Beyond the point of diminishing returns for most software. Software Testing is exercising software in some predefined way with a specific focus to locate defects. "Verification : The process of determining whether or not the products of a given phase of the software development cycle fulfill the requirements established during the previous phase" "Validation: The process of evaluating software at the end of the software development process to ensure compliance with software requirements" V&V covers the whole development cycle. It may include things like prototype evaluations, and code inspections in addition to testing. "Software Reliability: The probability that software will not cause the failure of a system for a specified time under specified conditions." Generally, Software Reliability refers to extended periods of time. Reliability tested is conducted for increasing amounts of time, and often includes stress intended to resemble a "real implementation". I think a brief summary of the formal approach will serve to clarify. If I am responsible for all aspects of software quality for a particular product, I will write the following documents in the order given. A Software Quality Assurance Plan that will describe some aspects of the development process such as source code control, leadership responsibility and what design related documents are to be written . It will also identify what V&V methods will be implemented, whether or not the software is critical and how the development cycle relates to the QA. A V&V plan that will describe in a fair amount of detail each of the methods to be used. This may include code inspection approach, usability evaluation of a prototype, who will do unit testing, and types of software testing to be implemented (such as reliability testing). It will also identify what test plans will be written. A Test Plan may cover all or part of a product and details the testing of that part. For complex projects, there may be another layer here. Windflower Gilbert Pencom Software pensoft!windy@cs.utexas.edu