【IT168 技术文章】
软件测试
第一讲 软件测试基本概念
1.基本概念
l定义
(79年):the process of executing a program or system with the intent of finding errors.
(83年):any activity aimed at evaluating an attribute of a program or system.
(02年):a concurrent lifecycle process of engineering, using, and maintaining testware in order to measure and improve the quality of the software being tested.
目标
寻找程序错误
寻找与用户需求不一致和存在的缺陷
以较少的用例、时间和人力找出软件潜在的各种错误和缺陷,以确保系统的质量。
2.测试与软件质量-软件质量
定义
–从最狭义上讲,质量可被定义为“无缺陷”。
–质量以顾客的需要为开始,以顾客满意为结束。
–Motorola:如果顾客不喜欢,那该产品就是有缺陷的。
–质量管理协会:与一种产品或服务满足顾客需要的能力有关的各种特色和特征的总和。
–IEEE:与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体。
影响–为了评价软件质量,需要对软件是否满足功能要求、性能要求、符合文档规范标准的程度,设计一些质量特性及其组合,作为在软件开发与维护中的判断软件质量的重要考虑因素。
–ISO/IEC 9126《软件产品评价-质量特性及其应用指南》定义了6个质量特性:功能性、可靠性、可使用性、效率、可维护性、可移植性。
3.软件测试的定位
从质量保证的角度看:
1)监控软件开发过程,是软件开发中不可缺少的一个环节
2)遵循为软件开发而建立的标准和过程
3)确保产品、程序中的不足之处能反馈给管理人员软件测试的原则
–所有测试都应追溯到用户需求。
–应在测试工作真正开始前较长时间内就进行测试计划。
–测试发现的错误中,80%很可能起源于程序模块中的20%。
–测试应从“小规模”开始,逐步转向“大规模”。(单元-〉集成-〉系统……)
–一般来说,穷举测试是不可能的。
–为达到非常好的测试效果,应保证测试组的相对独立性。
–在设计测试用例的时候,应当包括合理的和不合理的输入条件。
–应对每一个测试结果做全面的检查并保存好测试件。软件测试级别
验收测试
需求规格说明 系统测试
概要设计 集成测试
详细设计 单元测试
编码
6.软件测试现状
-在一般软件开发的总成本中,用在测试上的开销要占30%到50%。
—极端情况下,例如在关系到人的生命安全的软件中,测试费用可能相当软件生存周期所有其它阶段费用总和的3~5倍。—据美国工业界的统计,对商品化的顺序程序来说,测试在时间和费用两方面的花费都要占整个软件开发周期总开销的50%左右。—椐统计大约有60%的错误是在设计阶段之前注入的,并且修正一个软件错误所需的费用将随着软件生存期的进展而上升。错误发现得越晚,修复它的费用就越高,而且呈指数增长的趋势。