目录
内容说明
结合章节内容重点难点,会对重要知识点进行扩展,以及做示例说明等,以便更好理解重点难点;
一、软件测试与质量概览需要熟悉什么
二、如何理解质量保证
质量保证:一种思维方式
三、软件测试的误区-程序员和测试的关系
四、软件测试是什么?
不同的人对软件测试有不同的理解:
Glenford J. Myers提出:
(1)软件测试是程序的执行过程,目的在于发现错误。
(2)软件测试是为了证明程序有错误,而不是证明程序无错误。
(3)一个好的软件测试用例在于能发现至今未发现的错误。
(4)一个成功的软件测试是发现了至今未发现的错误的测试。
Bill Hetzelt 在《软件测试完全指南》中指出: "软件测试是以评价一个程序或者系统属性为目标的任何一种活动。软件测试是对软件质量的度量。"
其他定义: 人工或自动的手段为运行或测试某个软件系统的 过程, 其目的在于检验它是否满足规定需求或弄清预期结果与实际结果之间的差别。
验证 + 确认 = 测试
验证: 关注开发活动内部
确认:关注开发与用户的衔接
五、软件测试的目的
现对软件测试的目的总结为以下3点:
(1)以最少的人力、物力、时间找出软件中潜在的各种错误和缺陷,全面评估和提高软件质量,及时揭示质量风险,控制项目风险。
(2)有助于发现开发工作中所采用的软件过程的缺陷,通过对软件缺陷进行分析,获得软件缺陷模式,有助于软件缺陷预防,以便进行软件过程改进;同时通过对软件测试结果的分析和整理,可以修正软件开发的规则,并为软件的可靠性分析提供相关的依据。
(3)评价程序或系统的属性,对软件质量进行度量和评估,以验证软件的质量能否满足用户的需求,为用户选择、接受软件提供有力的依据。
六、软件测试与软件质量保证
软件质量保证是贯穿软件项目整个生命周期的有计划的系统活动,经常针对整个项目质量计划执行情况进行评估、检查和改进,确保项目质量与计划保持一致。
软件质量保证确保软件项目的过程遵循了对应的标准及规范要求,且产生了合适的文档和精确反映项目情况的报告,其目的是通过评价项目质量建立项目达到质量要求的信心。
评价、度量和测试在技术内容上有着非常重要的关系。软件测试是获取度量值的一种重要手段。软件度量在GJB 5236中的主要规定是:软件度量是软件质量模型和内部质量、外部质量以及使用质量的度量,可用于在确定软件需求时规定软件质量需求或其他用途。
软件质量评价在GJB 2434A中针对开发者、需求方和评价者提出了3种不同的评价过程框架。在执行软件产品评价时,确立评价需求的质量模型就需要采用GJB 5236给出的内部质量、外部质量、使用质量的度量等。
软件质量保证与软件测试是否是一回事?
七、软件测试的必要性
软件在人们的日常生活中无处不在。缺陷即伴随着软件而产生。
软件缺陷经常会给企业带来一定的经济损失,甚至有时候会带来灾难性后果。
波音公司星际客机软件故障;
Uber自动驾驶汽车撞死行人;
要完全覆盖所有的场景几乎是不可能的,这也就是我们常说的测试是不能穷尽的。
八、软件测试的基本概念分析
软件测试里经常提到3个概念:缺陷(fault)、错误(error)和失效(failure)。
具体来说:缺陷对应于项目内的错误代码,有时候又称为defect或者bug。错误是指程序在运行时,因为执行到了错误代码而造成程序内部状态出错。失效是指程序在运行结束后,其返回的实际结果与预期结果不一致。
RIP模型认为要确保测试用例触发外在失效,需要满足以下3个必要条件。
九、软件测试的分类
目前,软件测试领域有许多测试名称,这些名称来自不同的分类原则,以下是常见的测试分类方式:
java
按测试阶段或测试步骤划分;
按测试对象划分;
按使用的测试技术划分;
按软件质量特性划分;
按照测试项目划分
按测试阶段或测试步骤划分:
按软件质量特性划分: