天天看点

软件测试技术---测试的基本概念1.软件质量

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/37618157

1.软件质量

1)定义:

反应软件实体 满足明确的和隐含的需求  的能力特性的综合。

国家标准:

(1)软件产品能满足 给定需要的性质和特性的总体  如:符合规格说明书

(2)软件具有所期望的各种属性的组合程度

(3)顾客和用户觉得软件满足其综合期望的程度

(4)确定软件在使用过程中满足顾客预期要求的程度

2)软件质量的属性

软件能够符合各种精确的功能以及性能需求,符合文档化的开发标准,则这个软件质量就是高的。

软件能够处理例外和异常的情况,具有足够的容错性和纠错能力,则这个软件质量就是高的。

因此,软件的质量实际上是各种复杂属性的组合,定义一个软件的质量其实就是为这个软件定义一些列的质量属性。

质量属性可以理解为软件能不能。。。有没有。。。

人们通常用软件质量模型来描述软件的质量属性

软件质量模型分为外部质量模型,内部质量模型,使用质量模型

外部质量模型:软件的功能型,可靠性,符合开发标准等(从用户的观点看软件有没有符合某些东西)

内部质量模型;软件的效率性等(从专业的角度看软件的执行效率怎样等)

使用质量模型:软件在规定的环境下进行规定的操纵是否能完成

3)软件的度量

软件生命周期大致可分为三个阶段(测试角度):定义软件质量的要求,实现软件质量的要求,测试软件是否达到了要求

外部度量:在使用和测试软件的过程中,通过观察软件的行为,执行等导出软件的度量,从而评价软件的质量

内部度量:在设计和编码的过程中,通过规格说明书等中间产品测量内部的质量特性

4)影响软件质量的主要因素

主要因素有三个:开发软件的组织,开发过程以及开发过程中使用的方法和技术

2.软件测试的概念

1)软件测试的定义:

(1)在规定条件下运行系统或构件的过程,观察并记录结果做出评价

(2)分析软件项目的过程,检测bug并评估软件项目的特性

2)软件测试的目的:

(1)测试的目的是证伪----发现程序中各种各样的错误

(2)测试就是建立一种信心,确信程序能够按预期的设想运行---在规定的环境中运行软件的所有功能

软件测试是为了保证软件质量

一个好的测试用例在于它能发现至今未发现的错误

一个成功的测试用例是发现了至今未发现的错误的测试

3)软件测试的原则:

(1)应当把  今早的和不断的进行软件测试 作为座右铭

(2)测试用例应由输入数据和对应的预期输出数据组成

(3)程序员应避免测试自己的程序

(4)在设计测试用例时,应包括合理的和不合理的输入条件

(5)充分注意测试中的集群现象

(6)严格执行测试计划,排除测试的随意性

(7)应当对每一个测试结果做全面的检查

(8)妥善保管相关文档

3.软件的缺陷和错误

1)软件的缺陷(bug)主要有几种

(1)没有实现规格说明书要求的内容

(2)实现了规格说明书没有要求的内容

(3)出现了规格说明书指明不应该出现的错误

(4)没有实现规格说明书中没有明确指出但是应该实现的目标

(5)软件难以理解,不易使用

以开发一个计算器为例子:

(1)说明书规定必须准确无误的实现加减乘除,而软件按下+号却反应或计算结果错误

(2)说明书中没有要求实现取余运算,而软件实现了

(3)说明书规定永远不会出现死机等情况,如果随意乱敲键盘软件无法接受输入的数字

(4)计算器不会随着电池的电量出现计算结果偏差,说明书中虽然没有明确说明,但是这是默认的,也是必须实现的功能

(5)布局位置不好或者难以看清等

2)软件缺陷的级别:

致命的

严重的

一般的

微小的

3)软件缺陷的状态:

活动状态:问题未解决

已修正状态:通过了单元测试等

非活动状态:确认了缺陷不复存在

保留状态:由第三方产品引起的缺陷

不一致状态:不需要解决或者在下一版本将会解决

4)软件缺陷的产生原因:

技术问题,团队工作,软件本身等

5)软件缺陷的构成:

功能缺陷

系统缺陷

加工缺陷

数据缺陷

代码缺陷

4.软件测试的心理学和经济学

1)心理学

软件测试更适合被看做一个视图发现程序中错误的破坏性的过程

测试人员应该有良好的测试心态和明确的测试目标

2)经济学

(1)黑盒测试

又称为数据驱动测试   输入/输出驱动测试

测试目标与程序的内部机制无关

测试数据完全来源于规格说明书

(2)白盒测试

又称逻辑驱动测试

检测程序内部的逻辑结构等

3)选择测试用例的时候要遵守的经济型准则

根据程序的重要性和发生故障产生的后果来确定测试等级

尽可能做到用少的测试用例来发现更多的错误

5.软件质量保证

质量保证是一个有组织,有计划的活动,他向人们提供证据说明程序正在按质量要求运行

软件质量保证是通过对软件有计划的进行  各种评审和审核  来  验证和确认  软件是否符合标准

软件的验证和确认:

验证是用数据证明人们是否在争取的制造产品

确认是用数据证明人们时候制造了正确的产品

继续阅读