为什么医生爱开喜炎平| 十月初一是什么节| 涉三什么意思| 后背疼什么原因| 霉菌性阴道炎用什么药效果好| 身体燥热是什么原因| 宫腔内异常回声是什么意思| 老鸨是什么| 985和211是什么意思| 转氨酶偏低是什么原因| 看乙肝挂什么科| 口是心非是什么动物| 早孕反应什么时候开始| 洗劫一空是什么意思| 慢性萎缩性胃炎是什么意思| 封闭是什么意思| 什么血型最稀有| 浙江有什么特产| 什么地哭| b3维生素又叫什么| 食管裂孔疝是什么意思| 紫微斗数是什么| 安全总监是什么级别| 6月17日什么星座| 什么人不能喝咖啡| 肛门下坠感是什么症状| 怀孕小肚子疼是什么原因| 双向是什么意思| 血糖是什么引起的| 鼻涕倒流吃什么药效果好| 腰椎疼痛吃什么药| dob是什么意思| o2o模式是什么意思| 高铁什么时候检票| 下家是什么意思| 什么人容易高原反应| 1990年什么命| 新陈代谢慢吃什么药| 318是什么日子| 胃食管反流吃什么中成药最好| 什么叫精索静脉曲张啊| 右眼上眼皮跳是什么预兆| 5月6日是什么星座| 双腿酸软无力吃什么药| 新生儿湿疹用什么药膏| 运动前吃什么| 西瓜为什么叫西瓜| 蛇吐信子是什么意思| 途字五行属什么| 手经常发麻是什么原因| 乳铁蛋白是什么| 心脏跳的快吃什么药| 脖子短适合什么发型| 双性恋是什么| 等着我为什么停播了| 儿童发育过早应该挂什么科| 1971年是什么命| 犀利是什么意思| 1977年五行属什么| 呼吸不畅是什么原因| 医生会诊是什么意思| 风花雪月是什么生肖| 舞象之年是什么意思| 鱼露可以用什么代替| 萎谢是什么意思| 吃伟哥有什么副作用| 什么水果对眼睛好| 什么牌子的护肝药最好| 胎动突然频繁是什么原因| 吃什么能去黑眼圈| 天狗是什么意思| 手外科属于什么科| 为什么天气热皮肤就痒| 幽默是什么意思| 季度是什么意思| 胃息肉是什么症状| 什么叫肾阳虚肾阴虚| 社保卡是干什么用的| 520是什么意思啊搞笑| 地什么人什么| 禄蠹是什么意思| ig什么意思| 鱼的偏旁部首是什么| 狗生小狗前有什么征兆| 福禄安康是什么意思| 什么叫双规| 抹茶是什么| 什么叫做流年| 拔罐有什么好处和坏处| 笔记本电脑什么品牌好| 藩王是什么意思| 症瘕是什么意思| 膝盖疼应该挂什么科| 亡羊补牢的亡是什么意思| 克拉是什么单位| 三点水一个分读什么| 42是什么生肖| 重阳节吃什么| 梦见苍蝇很多是什么意思| 电梯房什么楼层最好| 小朋友喜欢玩什么| 身上长红疙瘩很痒是什么原因| 果胶是什么东西| 火把节什么时候| 为什么智齿到晚上更疼| 圣是什么生肖| 人间尤物什么意思| 英雄是什么生肖| 妊娠高血压什么症状| 背疼什么原因| 齁是什么意思| 大便黑绿色是什么原因| 表情包什么意思| 吃什么都苦是什么原因| 蛋白粉什么时候吃最好| 鳞状上皮是什么意思| 缪斯女神什么意思| 药占比什么意思| ai是什么| 为什么小腹隐隐作痛| 塔克是什么食物| 宫颈糜烂是什么| 汽车抖动是什么原因| 雷尼替丁主要治什么胃病| 汗马功劳什么意思| 白癜风早期症状是什么| 经期肚子疼是什么原因| 印堂发红是什么的征兆| 或是什么意思| 胃疼可以吃什么| 冰箱双变频是什么意思| 双规是什么| 腺样体增生是什么意思| 河南有什么市| 红色爱心是什么牌子| 奶昔是什么| 月经来的少是什么原因| 邓超的老婆叫什么名字| 6月20日是什么节日| 喜筵和喜宴是什么意思| 脚软没力气是什么原因引起的| 减肥喝什么饮料| lt是什么| soleil是什么意思| 宫颈糜烂是什么原因引起的| 卖酒需要办理什么证| 聊胜于无的聊是什么意思| 袢是什么意思| 上呼吸道感染吃什么药| 人养玉三年玉养人一生是什么意思| 事半功倍的意思是什么| 左心室肥大是什么意思| 阴历7月22什么日子| 吃什么食物养肝护肝| 什么的舞动| 孕妇晚餐吃什么比较好| 回乳是什么意思| 拉水便是什么原因| 为什么吃荔枝会上火| 58岁属什么| 秦皇岛有什么特色美食| 便秘吃什么药没有依赖性| 疣是一种什么病| 撕票是什么意思| 猫的尾巴有什么用处| 安全总监是什么级别| feedback是什么意思| 阳性是什么病| 男性做彩超要检查什么| 乳房边缘疼是什么原因| 阴历7月22什么日子| crp是什么检查| jdv是什么牌子| 熊猫属于什么科| 当医生学什么专业| 基尼系数是什么意思| 9月24号什么星座| 有什么寓言故事| 无休止是什么意思| 兰桂齐芳是什么意思| 孔子名什么| 彻夜难眠什么意思| 713是什么星座| 血小板比积偏高是什么意思| 痛风吃什么食物| 无毒不丈夫是什么意思| 耷拉的近义词是什么| 什么牌子的冰箱好用又省电| 布洛芬什么时候起效| 办护照需要什么资料| 仙居杨梅什么时候上市| 才美不外见的见是什么意思| 宫内膜回声欠均匀是什么意思| 什么药治牙疼最快| opple是什么牌子| 保护眼睛用什么眼药水| 媳妇是什么意思| 舌头什么颜色正常| 修容是什么意思| 阴道口疼是什么原因| 孩子晚上磨牙是什么原因| 亚麻籽和什么相克| 朋友圈为什么发不出去| 产检都检查什么项目| 物有所值是什么意思| 心电图挂什么科| 除颤是什么意思| 女上位是什么意思| 大腿抽筋是什么原因引起的| 什么不见| 血管瘤是什么样子的图| 7.4是什么星座| 公貔貅和母貔貅有什么区别| 鲍鱼是什么意思| 口腔扁平苔藓是什么原因造成的| 九月一号是什么节日| 左侧卵巢内囊性回声是什么意思| 为什么有脚气| 越字五行属什么| 煲电话粥什么意思| 什么成什么就| ml什么单位| 什么汤有营养| 黑胡椒和白胡椒有什么区别| 哪吒属什么生肖| 米饭配什么菜好吃| 小马是什么牌子| 终身是什么意思| 基酒是什么意思| 鳊鱼是什么鱼| 乳腺实性结节是什么意思| 夏天刮什么风| 过敏是什么意思| fa是什么意思| 蝉鸣声耳鸣是什么原因引起的| 什么面好吃| 鸡枞是什么| 肚子胀是什么原因引起的| 反水是什么意思| 后脑勺出汗是什么原因| 下午五六点是什么时辰| 光盘是什么| 产后什么时候来月经正常| 羊水多了对宝宝有什么影响| 色织布是什么面料| 喝酒后呕吐是什么原因| 右下腹疼是什么原因| 奶水不足吃什么下奶多| 耻骨疼是什么原因| 轻微脑震荡有什么症状| ckd是什么病| 动一下就出汗是什么原因| 农历7月20日是什么星座| 多潘立酮片是什么药| 为什么会头晕| 幽门螺杆菌感染有什么症状| 蜡笔小新的爸爸叫什么| 儿童枕头用什么枕芯好| 海瓜子是什么| 孤独终老什么意思| 秒男是什么意思| 精氨酸是什么| 贫血的人吃什么水果| 属猪的和什么属相最配| 百度Jump to content

《质量效应:仙女座》游迅评测:败絮其外,金玉其中

From Wikipedia, the free encyclopedia
(Redirected from Software validation)
百度 外观方面,新款的汉兰达在前脸部分进行了一定的微调,前进气格栅的尺寸进一步扩大,上下格栅共同组成了一大倒梯状的大嘴造型,而两侧的LED大灯则锐气十足,整个前脸显得更加凶狠,侧身腰线则笔直硬朗,充满了力量感,尾部的两侧尾灯则融入了LED光带设计,点亮后的效果更加酷炫。

In software project management, software testing, and software engineering, verification and validation is the process of checking that a software system meets specifications and requirements so that it fulfills its intended purpose. It may also be referred to as software quality control. It is normally the responsibility of software testers as part of the software development lifecycle. In simple terms, software verification is: "Assuming we should build X, does our software achieve its goals without any bugs or gaps?" On the other hand, software validation is: "Was X what we should have built? Does X meet the high-level requirements?"

Definitions

[edit]

Verification and validation are not the same thing, although they are often confused. Boehm succinctly expressed the difference as[1]

  • Verification: Are we building the product right?
  • Validation: Are we building the right product?

"Building the product right" checks that the specifications are correctly implemented by the system while "building the right product" refers back to the user's needs. In some contexts, it is required to have written requirements for both as well as formal procedures or protocols for determining compliance. Ideally, formal methods provide a mathematical guarantee that software meets its specifications.

Building the product right implies the use of the Requirements Specification as input for the next phase of the development process, the design process, the output of which is the Design Specification. Then, it also implies the use of the Design Specification to feed the construction process. Every time the output of a process correctly implements its input specification, the software product is one step closer to final verification. If the output of a process is incorrect, the developers have not correctly implemented some component of that process. This kind of verification is called "artifact or specification verification".

Software verification

[edit]

It would imply to verify if the specifications are met by running the software but this is not possible (e.g., how can anyone know if the architecture/design/etc. are correctly implemented by running the software?). Only by reviewing its associated artifacts, can someone conclude whether or not the specifications are met.

Artifact or specification verification

[edit]

The output of each software development process stage can also be subject to verification when checked against its input specification (see the definition by CMMI below).

Examples of artifact verification:

  • Of the design specification against the requirement specification: Do the architectural design, detailed design and database logical model specifications correctly implement the functional and non-functional requirements specifications?
  • Of the construction artifacts against the design specification: Do the source code, user interfaces and database physical model correctly implement the design specification?

Software validation

[edit]

Software validation checks that the software product satisfies or fits the intended use (high-level checking), i.e., the software meets the user requirements, not as specification artifacts or as needs of those who will operate the software only; but, as the needs of all the stakeholders (such as users, operators, administrators, managers, investors, etc.). There are two ways to perform software validation: internal and external. During internal software validation, it is assumed that the goals of the stakeholders were correctly understood and that they were expressed in the requirement artifacts precisely and comprehensively. If the software meets the requirement specification, it has been internally validated. External validation happens when it is performed by asking the stakeholders if the software meets their needs. Different software development methodologies call for different levels of user and stakeholder involvement and feedback; so, external validation can be a discrete or a continuous event. Successful final external validation occurs when all the stakeholders accept the software product and express that it satisfies their needs. Such final external validation requires the use of an acceptance test which is a dynamic test.

However, it is also possible to perform internal static tests to find out if the software meets the requirements specification but that falls into the scope of static verification because the software is not running.

Artifact or specification validation

[edit]

Requirements should be validated before the software product as a whole is ready (the waterfall development process requires them to be perfectly defined before design starts; but iterative development processes do not require this to be so and allow their continual improvement).

Examples of artifact validation:

  • User Requirements Specification validation: User requirements as stated in a document called User Requirements Specification are validated by checking if they indeed represent the will and goals of the stakeholders. This can be done by interviewing the stakeholders and asking them directly (static testing) or even by releasing prototypes and having the users and stakeholders to assess them (dynamic testing).
  • User input validation: User input (gathered by any peripheral such as a keyboard, bio-metric sensor, etc.) is validated by checking if the input provided by the software operators or users meets the domain rules and constraints (such as data type, range, and format).

Validation vs. verification

[edit]

According to the Capability Maturity Model (CMMI-SW v1.1),[2]

  • Software Validation: The process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements. [IEEE-STD-610]
  • Software Verification: The process of evaluating software to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase. [IEEE-STD-610]

Validation during the software development process can be seen as a form of User Requirements Specification validation; and, that at the end of the development process is equivalent to Internal and/or External Software validation. Verification, from CMMI's point of view, is evidently of the artifact kind.

In other words, software verification ensures that the output of each phase of the software development process effectively carries out what its corresponding input artifact specifies (requirement -> design -> software product), while software validation ensures that the software product meets the needs of all the stakeholders (therefore, the requirement specification was correctly and accurately expressed in the first place). Software verification ensures that "you built it right" and confirms that the product, as provided, fulfills the plans of the developers. Software validation ensures that "you built the right thing" and confirms that the product, as provided, fulfills the intended use and goals of the stakeholders.

This article has used the strict or narrow definition of verification.

From a testing perspective:

  • Fault – wrong or missing function in the code.
  • Failure – the manifestation of a fault during execution. The software was not effective. It does not do "what" it is supposed to do.
  • Malfunction – according to its specification the system does not meet its specified functionality. The software was not efficient (it took too many resources such as CPU cycles, it used too much memory, performed too many I/O operations, etc.), it was not usable, it was not reliable, etc. It does not do something "how" it is supposed to do it.
[edit]

Both verification and validation are related to the concepts of quality and of software quality assurance. By themselves, verification and validation do not guarantee software quality; planning, traceability, configuration management and other aspects of software engineering are required.

Within the modeling and simulation (M&S) community, the definitions of verification, validation and accreditation are similar:

  • M&S Verification is the process of determining that a computer model, simulation, or federation of models and simulation implementations and their associated data accurately represent the developer's conceptual description and specifications.[3]
  • M&S Validation is the process of determining the degree to which a model, simulation, or federation of models and simulations, and their associated data are accurate representations of the real world from the perspective of the intended use(s).[3]
  • Accreditation is the formal certification that a model or simulation is acceptable to be used for a specific purpose.[3]

The definition of M&S validation focuses on the accuracy with which the M&S represents the real-world intended use(s). Determining the degree of M&S accuracy is required because all M&S are approximations of reality, and it is usually critical to determine if the degree of approximation is acceptable for the intended use(s). This stands in contrast to software validation.

V&V methods

[edit]

Formal

[edit]

In mission-critical software systems, formal methods may be used to ensure the correct operation of a system. These formal methods can prove costly, however, representing as much as 80 percent of total software design cost.

Independent

[edit]

Independent Software Verification and Validation (ISVV) is targeted at safety-critical software systems and aims to increase the quality of software products, thereby reducing risks and costs throughout the operational life of the software. The goal of ISVV is to provide assurance that software performs to the specified level of confidence and within its designed parameters and defined requirements.[4][5]

ISVV activities are performed by independent engineering teams, not involved in the software development process, to assess the processes and the resulting products. The ISVV team independency is performed at three different levels: financial, managerial and technical.

ISVV goes beyond "traditional" verification and validation techniques, applied by development teams. While the latter aims to ensure that the software performs well against the nominal requirements, ISVV is focused on non-functional requirements such as robustness and reliability, and on conditions that can lead the software to fail.

ISVV results and findings are fed back to the development teams for correction and improvement.

History

[edit]

ISVV derives from the application of IV&V (Independent Verification and Validation) to the software. Early ISVV application (as known today) dates back to the early 1970s when the U.S. Army sponsored the first significant program related to IV&V for the Safeguard Anti-Ballistic Missile System.[6] Another example is NASA's IV&V Program, which was established in 1993.[7]

By the end of the 1970s IV&V was rapidly becoming popular. The constant increase in complexity, size and importance of the software led to an increasing demand on IV&V applied to software.

Meanwhile, IV&V (and ISVV for software systems) consolidated and is now widely used by organizations such as the DoD, FAA,[8] NASA[7] and ESA.[9] IV&V is mentioned in DO-178B, ISO/IEC 12207 and formalized in IEEE 1012.

At ESA

[edit]

Initially in 2004-2005, a European consortium led by the European Space Agency, and composed of DNV, Critical Software SA, Terma and CODA SciSys plc created the first version of a guide devoted to ISVV, called "ESA Guide for Independent Verification and Validation" with support from other organizations.[10] This guide covers the methodologies applicable to all the software engineering phases in what concerns ISVV.

In 2008 the European Space Agency released a second version, having received inputs from many different European Space ISVV stakeholders.[10]

Methodology

[edit]

ISVV is usually composed of five principal phases, these phases can be executed sequentially or as results of a tailoring process.

Planning

[edit]
  • Planning of ISVV activities
  • System criticality analysis: Identification of critical components through a set of RAMS activities (Value for Money)
  • Selection of the appropriate methods and tools

Requirements verification

[edit]
  • Verification for: completeness, correctness, testability

Design verification

[edit]
  • Design adequacy and conformance to software requirements and interfaces
  • Internal and external consistency
  • Verification of feasibility and maintenance

Code verification

[edit]

Validation

[edit]
  • Identification of unstable components/functionalities
  • Validation focused on error-handling: complementary (not concurrent) validation regarding the one performed by the development team
  • Compliance with software and system requirements
  • Black box testing and White box testing techniques
  • Experience based techniques

Regulatory environment

[edit]

Software often must meet the compliance requirements of legally regulated industries, which is often guided by government agencies[11][12] or industrial administrative authorities. For instance, the FDA requires software versions and patches to be validated.[13]

See also

[edit]

Further reading

[edit]
  • 1012-2012 IEEE Standard for System and Software Verification and Validation. 2012. doi:10.1109/IEEESTD.2012.6204026. ISBN 978-0-7381-7268-2.
  • Tran, E. (1999). "Verification/Validation/Certification". In Koopman, P. (ed.). Topics in Dependable Embedded Systems. Carnegie Mellon University. Retrieved 2025-08-06.
  • Menzies, T.; Y. Hu (2003). "Data mining for very busy people". Computer. 36 (1): 22–29. doi:10.1109/MC.2003.1244531.
[edit]

References

[edit]
  1. ^ Pham, H. (1999). Software Reliability. John Wiley & Sons, Inc. p. 567. ISBN 9813083840. Software Validation. The process of ensuring that the software is performing the right process. Software Verification. The process of ensuring that the software is performing the process right." Likewise and also there: "In short, Boehm (3) expressed the difference between the software verification and software validation as follows: Verification: Are we building the product right? Validation: Are we building the right product?.
  2. ^ "CMMI for Software Engineering, Version 1.1, Staged Representation (CMMI-SW, V1.1, Staged)". resources.sei.cmu.edu. 31 July 2002. Retrieved 2025-08-06.
  3. ^ a b c Department of Defense Documentation of Verification, Validation & Accreditation (VV&A) for Models and Simulations, Missile Defense Agency, 2008
  4. ^ Rogers, R. (2025-08-06). "Planning for independent software verification and validation". 3rd Computers in Aerospace Conference. Computers in Aerospace Conference. San Diego, CA, U.S.: American Institute of Aeronautics and Astronautics. doi:10.2514/6.1981-2100.
  5. ^ Ambrosio, Ana; Mattiello-Francisco, Fátima; Martins, Eliane (2025-08-06). "A Independent Software Verification and Validation Process for Space Applications". SpaceOps 2008 Conference. Heidelberg, Germany: American Institute of Aeronautics and Astronautics. doi:10.2514/6.2008-3517. ISBN 978-1-62410-167-0.
  6. ^ Lewis, Robert O. (1992). Independent verification and validation : a life cycle engineering process for quality software. New York: Wiley. ISBN 0-471-57011-7. OCLC 74908695.
  7. ^ a b Asbury, Michael (2025-08-06). "About NASA's IV&V Program". NASA. Retrieved 2025-08-06.
  8. ^ Balci, O. (2010). "Golden Rules of Verification, Validation, Testing, and Certification of Modeling and Simulation Applications". S2CID 61476570. {{cite web}}: Missing or empty |url= (help)
  9. ^ "Flight Software Systems Section (TEC-SWF)". www.esa.int. Retrieved 2025-08-06.
  10. ^ a b lavva.pt. "New ISVV Guide for Space in the Works". www.criticalsoftware.com. Retrieved 2025-08-06.
  11. ^ "General Principles of Software validation; Final Guidance for Industry and FDA Staff" (PDF). Food and Drug Administration. 11 January 2002. Archived from the original (PDF) on June 17, 2009. Retrieved 12 July 2009.
  12. ^ "Guidance for Industry: Part 11, Electronic Records; Electronic Signatures — Scope and Application" (PDF). Food and Drug Administration. August 2003. Archived from the original (PDF) on July 9, 2009. Retrieved 12 July 2009.
  13. ^ "Guidance for Industry: Cybersecurity for Networked Medical Devices Containing Off-the Shelf (OTS) Software" (PDF). Food and Drug Administration. 14 January 2005. Archived from the original (PDF) on July 10, 2009. Retrieved 12 July 2009.

Notes

[edit]
中国什么时候解放 直视是什么意思 五谷中的菽是指什么 欧莱雅属于什么档次 慢性鼻窦炎吃什么药
梦见走亲戚是什么意思 肺气肿是什么原因引起的 戍怎么读音是什么 黎明是什么时间 我俩太不公平这是什么歌
溪水什么 下葬下雨是什么兆头 大姨妈期间适合吃什么 什么是七杀命格 酸儿辣女什么意思
狐假虎威是什么意思 卖淫是什么意思 canyou是什么意思 吹空调感冒咳嗽吃什么药 一什么金鱼
治疗静脉曲张有什么药hcv8jop4ns5r.cn 淋漓不尽是什么意思hcv8jop4ns5r.cn 卡罗莱手表是什么档次hcv8jop2ns5r.cn rapido是什么牌子hcv8jop2ns5r.cn 儿童抽动症看什么科hcv9jop1ns7r.cn
处女和什么座最配对hcv9jop4ns9r.cn 直肠肿物是什么意思mmeoe.com 5.29什么星座hcv9jop3ns5r.cn 老年斑长什么样520myf.com 甲状腺结节什么原因引起的hcv7jop4ns6r.cn
10个月的宝宝吃什么辅食最好hcv8jop9ns2r.cn 小腿肿是什么原因hcv8jop4ns6r.cn 双下肢静脉彩超主要检查什么hcv9jop6ns4r.cn 晚上剪指甲有什么禁忌hcv8jop3ns9r.cn 神经痛什么原因引起的hcv9jop5ns2r.cn
高危型hpv66阳性是什么意思mmeoe.com louisvuitton什么牌子hcv8jop9ns0r.cn 鹿角菜是什么植物hcv9jop1ns3r.cn 气山读什么hcv8jop7ns3r.cn 长方形脸适合什么发型hcv8jop8ns1r.cn
百度