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