软件测试质量分析报告1
-
.
精品文档
软件测试质量分析报告
———加减乘除基本运算
班级:软件工程
< br>1
班
姓名:冯宇
学号
:2
精品文档
1
编写目的
为了发现程序的错误和缺陷,通过测试,检查该程序是否达到
了
预期的结果,发现其中的缺陷,确保程序可以正确执行。质量控制
是为了保证每一件工作
产品都满足对它的需求而应用于整个开发周
期中的一系列审查、
评审和测试,
质量控制在创建工作产品的过程中
包含一个反馈循
环,
通过对质量的反馈,
使得我们能够在得到的工作
产品不能满足其规约时调整开发过程。
所有工作产品都应该具有定义
好的和可度量的规约,
这样就可以将每个过程的产品与这一规约进行<
/p>
比较。
质量保证由管理层的审计和报告构成,
目标是为管理层提供获
知产品质量信息所需的数据,
从而获
得产品质量是否符合预定目标的
认识和信心。
2
测试项目及说明
p>
测试对象为一段计算基本运算加减乘除的代码,
通过单元测试、
p>
集成测试、
系统测试等方法来检测该程序的缺陷。
< br>软件质量保证是为
了保证软件系统或软件产品满足用户要求的质量而进行的有计划
、
有
组织的活动,
其目的是生产高质量
的软件。
在软件质量方面必须强调
三个要点:
< br>
软件必须满足用户规定的要求,与用户需求不一致的软
件,就无质量可言。软件应遵循软件标准所定义的一系列开发标准,
不遵循这些标准的软
件,
其质量难以得到保证。
软件还应满足某些隐
.
精品文档
含的要求,例
如希望有良好的可理解性、可维护性等,而这些隐含的
要求可能未被写在用户规定的需求
中,
满足它的显性需求而不满足其
隐含需求,那么该软件的质量
是令人怀疑的。
4
:测试工具及方法
(
1
)单元测试
测试工具:
Eclipse
Eclipse
简介:
Eclipse
是一个开放源代码
的、
基于
Java
的可扩展开发平台。
就
其本身而言,
它只是一个框架和一组
服务,
用于通过插件组件构建开
发环境。幸运的是,
Eclipse
附带了一个标准的插件集,包括
Java
开
发工具(
Java
Development Kit
,
JDK
)。
虽然大多数用户很乐于将
Eclipse
当作
Java
集成开发环境
(
IDE
)来使用,但
Eclipse
的目标却不仅限于此。
Eclipse
还包括插
件开发环境(
Plug-in
Development Environment
,
PDE<
/p>
),这个组件主
要针对希望扩展
Eclipse
的软件开发人员,因为它允许他们构建与
Eclipse
环境无缝集成的工具。由于
Eclipse
中的每样东西都是插件,
对于给
Eclipse
提供插件,以及给用户提供一致和统一的集成
开发环
境而言,
所有工具开发人员都具有同等的发挥场所。
p>
这种平等和一致
性并不仅限于
Java
开发工具。尽管
Eclipse
是使用
Java
语言开发
的,但它的用途并不限于
Java
语言;例如,支持诸如
C/C++
和
COBOL
等编程语言的插件已经可用,或预计将会推出。
Eclipse
框架
还可用来作为与软件开发无关的其他应用程序类型的基础,
比如内容
.
精品文档
管理系统。
测试方法:白盒测试
白盒测试简介:
白盒测试
(
white-box te
sting
)
又称透明盒测试
(
glass box testing
)
、<
/p>
结构测试(
structural testing
)等,软件测试的主要方法之一,也称结
构测试、逻辑驱动测试或基于程序本
身的测试。
白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基
本路径测试。
其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定
< br>/
条件覆盖、
条件组合覆盖和路径覆盖。
优点和缺点
1.
优点
·昂贵
·迫使测试人员去仔细思考软件的实现
·可以检测代码中的每条分支和路径
·揭示隐藏在代码中的错误
·对代码的测试比较彻底
·最优化
2.
缺点
·无法检测代码中遗漏的路径和数据敏感性错误
·不验证规格的正确性
(
2
):系统测试
测试工具:
Eclipse
.
精品文档
测试方法:黑盒测试
黑盒测试简介:
等价类
划分(
EquivalencePartitioning
)<
/p>
1.
p>
严格控制测试用例的增加,减少为达到“合理测试”的
某些既定目标
而必须设计的其他测试用例的数量
2.
它覆盖了大部分其他可能的测试用例。
划分了等价类后,
就可以说,
如果对该集合中某个元素所
进行的测
试没有发现错误的话,
那么对该集合中其他元素所进行的测
试也
不大可能会发现错误。
使用等价类划分方法设计测试用例主要有两个步骤:
(
< br>1
)
确定等价类;(
2
)生成测试用例
黑盒测试的优缺点
优点
:
1.
对于较大的代码单元来说,黑盒测试比白盒测试效率较高。
2
.
测试人员不需要了解细节,包括特定的编程语言。
3.
测试人员和开发人员是彼此独立的。
p>
4.
从用户的角度测试,很容易被理解和接受。
5.
有助于暴露与任务规格不一致或者有歧义的地方。<
/p>
6.
测试用例可以在需求规格完成之后
马上执行。
缺点
:
1.
测试的只有一小部分,不可能测试全部输入。
<
/p>
2.
没有清洁和简明的需求规格说明书,测试用例很难设计。
p>
.
精品文档
3.
如果测试人员,不被告知开发人员已经执行过的用例,在测
试数据上会存在不必要的重复。
4.
很多测试路径没有测试到。
p>
5.
不能直接对特定程序段进行测试,改程序段可能隐藏更多错
p>
误。
5
:测试策略及流程
(
1
)
单元测试
测试用例
:
测试前说明:
(
2
)
p>
条
件“
a>=0
”
取真
(TURE)
时为
T1
,取假
(FALSE)
时
F1
(
3
)
条
件“
b>=0
”取真
(TURE)
时为
T2
,取假
(FALSE)
时
F2
(
4
)
p>
条
件“
c>=0
”
取真
(TURE)
时为
T3
,取假
(FALSE)
时
F3
(
5
)
条
件“
d>0
”取真
(TURE)
时为
T4
,取假
(FALSE)
时
F4
1.
判定覆盖法的基本思想是设计若干用例,
运行程
序被测,
使得程序中每个判断的取真分支
和取假分支至少
经历一次,即判定真假值均曾被满足。
测试用例
具
体
取
值
条件
In:a=1,b=1,c=1,d
=1
Out:r=2
.
判
定
条件
N=T,F
=T,
通过路径
a>=0,b
>=0,
c>=0,d
>
P(1,2,4,
6,8)
O=T,P
精品文档
0
In:a=-1,b=-1,c=-1
,d=0
Out:r=F
0
0,
c<0,d<=
a<0,b<
=T
N=F,F
=F,
O=F,P
=F
7,9)
P(1,3,5,
2.
条件组合覆盖的基本思想
是设计足够的测试用例,
使得判断中每个条件的所有可能至少出现一次,
并且每个
判定本身的判定结果也至少出现一次。
测试用例
覆
盖
条件
In:a=1,b=1,c=1,d
=1
Out:r=2
In:a=1,b=-1,c=1,
d=1
Out:r=1
/F
In:a=1,b=1,c=-1,
d=1
Out:r=1
/F
In:a=1,b=1,c=-1,
.
覆
盖
路径
P(1,2,
4,6,8)
5,7)
覆盖
组合
(1,3,
T1,T2,
T3,T4
T1,F2,
T3,T4
P(1,2,
5,7,9)
5,7)
(1,4,
T1,T2,
F3,T4
P(1,2,
4,7,8)
6,7)
(1,3,
T1,T2,
P(1,2,
(1,3,
精品文档
d=-1
Out:r=1
/F
In:a=1,b=-1,c=-1,
d=-1
Out:r=1
/F
In:a=1,b=-1,c=-1,
d=1
Out:r=1
/F
In:a=1,b=1,c=1,d
=-1
Out:r=1
/F
In:a=1,b=-1,c=1,
d=-1
Out:r=1
/F
In:a=-1,b=1,c=1,
d=1
Out:r=1
/F
In:a=-1,b=-1,c=1,
d=1
Out:r=1
/F
In:a=-1,b=1,c=-1,
d=1
.
F3,F4
4,7,9)
6,8)
T1,F2,
F3,F4
P(1,2,
5,7,9)
6,8)
(1,4,
T1,F2,
F3,T4
P(1,2,
5,7,8)
6,7)
(1,4,
T1,T2,
T3,F4
P(1,2,
4,7,9)
5,8)
(1,3,
T1,F2,
T3,F4
P(1,2,
5,6,9)
5,8)
(1,4,
F1,T2,
T3,T4
P(1,3,
4,6,8)
5,7)
(2,3,
F1,F2,
T3,T4
P(1,3,
5,7,9)
5,7)
(2,4,
F1,T2,
F3,T4
P(1,3,
4,7,8)
6,7)
(2,3,
精品文档
Out:r=1
/F
In:a=-1,b=1,c=-1,
d=-1
Out:r=1
/F
In:a=-1,b=-1,c=-1
,d=-1
Out:r=1
/F
In:a=-1,b=-1,c=-1
,d=1
Out:r=1
/F
In:a=-1,b=1,c=1,
d=-1
Out:r=1
/F
In:a=-1,b=-1,c=1,
d=-1
Out:r=1
/F
In:a=-1,b=-1,c=1,
d=1
Out:r=1
/F
In:a=-1,b=1,c=-1,
d=1
.
F1,T2,
F3,F4
P(1,3,
4,7,9)
6,8)
(2,3,
F1,F2,
F3,F4
P(1,3,
5,7,9)
6,8)
(2,4,
F1,F2,
F3,T4
P(1,3,
5,7,8)
6,7)
(2,4,
F1,T2,
T3,F4
P(1,3,
4,7,9)
5,8)
(2,3,
F1,F2,
T3,F4
P(1,3,
5,6,9)
5,8)
(2,4,
F1,F2,
T3,T4
P(1,3,
5,7,9)
(2,
4,5,7)
F1,T2,
F3,T4
P(1,3,
4,7,8)
(2,
3,6,7)