Validating Software...
Information & Understanding. | Software Validation.
Activities associated with validating software occur throughout the evolution of the product. There are numerous techniques and tools that may be used in isolation or in combination with each other.Software Technical Review.
Includes techniques such as audits, walk-throughs, inspections. Most of these approaches involve a group meeting to assess a work product. Software technical reviews can be used to examine all the products of the software evolution process. In particular, they are especially applicable and necessary for those products not yet in machine processable form, such as requirements or specifications written in natural language.Software Testing
Software testing is the process of exercising a product to verify that it satisfies specified requirements or to identify differences between expected and actual results.Various levels of testing activities, each with its own specific goals, are widely utilized.
i) Module Testing
Module (or unit) testing is the lowest level of testing and involves the testing of a software module or unit.
(ii) Integration Testing
Integration testing consists of the systematic combination and execution of product components.
iii) System Testing
System testing is the process of testing the integrated hardware and software system to verify that the system meets its specified requirements.
iv) Regression Testing
Regression testing can be defined as the process of executing previously defined test cases on a modified program to assure that the software changes have not adversely affected the program’s previously existing functions. The error-prone nature of software modification demands that regression testing be performed.
Testing Techniques and their Applicability
(i) Functional Testing and AnalysisFunctional testing develops test data based upon documents specifying the behavior of the software. The goal of functional testing is to exercise each aspect of the software’s specified behavior over some subset of its input.
ii) Structural Testing and Analysis
Structural testing develops test data based upon the implementation of the product. Usually this testing occurs on source code.
iii) Error-Orientated Testing and Analysis
Error-oriented testing and analysis techniques are those that focus on the presence or absence of errors in the programming process.
iv) Hybrid Approaches
Combinations of the functional, structural, and error-oriented techniques
v) Integration Strategies
Integration consists of the systematic combination and analysis of product components.
vi) Transaction Flow Analysis
Transaction flow analysis develops test data to execute sequences of tasks that correspond to a transaction, where a “transaction” is defined as a unit of work seen from a system user’s point of view.
vii) Stress Analysis
Stress analysis involves analyzing the behavior of the system when its resources are saturated, in order to assess whether or not the system will continue to satisfy its specifications.
viii) Failure Analysis
Failure analysis is the examination of the product’s reaction to failures of hardware or software.
ix) Concurrency Analysis
Concurrency analysis examines the interaction of tasks being executed simultaneously within the product to insure that the overall specifications are being met.
Proof of Correctness
Proof of correctness is a collection of techniques that apply the formality and rigor of mathematics to the task of proving the consistency between an algorithmic solution and a rigorous, complete specification the intent of the solution.Simulation and Prototyping
Simulation and prototyping are techniques for analyzing the expected behavior of a product.Requirements Tracing
Requirements tracing is a technique for ensuring that the product, as well as the testing of the product, addresses each of its requirements.
Information & Understanding. | Software Validation.
- Agile Development. Extreme Programming. Spiral Validation. Etc..
- Software Validation explained in an easy to understand, visual, format.
- Use to inform yourself on the Validation of Software.
- Information & Understanding >>>
General Principles of Software Validation FDA
EU Commission guidance on stand alone software
ISO/IEC 12207 Systems & Software Engineering – Software Life Cycle Processes
“Introduction to Software Verification and Validation”. Software Engineering Institute. Carnegie Mellon University. Pittsburgh, Pennsylvania