软件测试质量分析报告1

巡山小妖精
853次浏览
2021年02月13日 08:13
最佳经验
本文由作者推荐

-

2021年2月13日发(作者:绿毯的拼音)


















.


精品文档



软件测试质量分析报告





———加减乘除基本运算

























班级:软件工程

< br>1




























姓名:冯宇



























学号


:2














精品文档






1


编写目的




为了发现程序的错误和缺陷,通过测试,检查该程序是否达到


了 预期的结果,发现其中的缺陷,确保程序可以正确执行。质量控制


是为了保证每一件工作 产品都满足对它的需求而应用于整个开发周


期中的一系列审查、


评审和测试,


质量控制在创建工作产品的过程中


包含一个反馈循 环,


通过对质量的反馈,


使得我们能够在得到的工作

< p>
产品不能满足其规约时调整开发过程。


所有工作产品都应该具有定义


好的和可度量的规约,


这样就可以将每个过程的产品与这一规约进行< /p>


比较。


质量保证由管理层的审计和报告构成,

目标是为管理层提供获


知产品质量信息所需的数据,


从而获 得产品质量是否符合预定目标的


认识和信心。



2



测试项目及说明








测试对象为一段计算基本运算加减乘除的代码,


通过单元测试、


集成测试、


系统测试等方法来检测该程序的缺陷。

< br>软件质量保证是为


了保证软件系统或软件产品满足用户要求的质量而进行的有计划 、



组织的活动,


其目的是生产高质量 的软件。


在软件质量方面必须强调


三个要点:

< br>


软件必须满足用户规定的要求,与用户需求不一致的软


件,就无质量可言。软件应遵循软件标准所定义的一系列开发标准,


不遵循这些标准的软 件,


其质量难以得到保证。


软件还应满足某些隐


.


精品文档



含的要求,例 如希望有良好的可理解性、可维护性等,而这些隐含的


要求可能未被写在用户规定的需求 中,


满足它的显性需求而不满足其


隐含需求,那么该软件的质量 是令人怀疑的。



4


:测试工具及方法




1


)单元测试




测试工具:


Eclipse



Eclipse


简介:








Eclipse


是一个开放源代码 的、


基于


Java


的可扩展开发平台。



其本身而言,


它只是一个框架和一组 服务,


用于通过插件组件构建开


发环境。幸运的是,

< p>
Eclipse


附带了一个标准的插件集,包括


Java



发工具(


Java Development Kit



JDK

)。





虽然大多数用户很乐于将



Eclipse


当作



Java


集成开发环境


< p>
IDE


)来使用,但



Eclipse


的目标却不仅限于此。


Eclipse


还包括插


件开发环境(


Plug-in Development Environment



PDE< /p>


),这个组件主


要针对希望扩展



Eclipse


的软件开发人员,因为它允许他们构建与



Eclipse


环境无缝集成的工具。由于



Eclipse


中的每样东西都是插件,


对于给



Eclipse


提供插件,以及给用户提供一致和统一的集成 开发环


境而言,


所有工具开发人员都具有同等的发挥场所。


这种平等和一致


性并不仅限于



Java


开发工具。尽管



Eclipse


是使用



Java


语言开发


的,但它的用途并不限于



Java


语言;例如,支持诸如



C/C++




COBOL


等编程语言的插件已经可用,或预计将会推出。


Eclipse


框架


还可用来作为与软件开发无关的其他应用程序类型的基础,


比如内容


.


精品文档



管理系统。



测试方法:白盒测试



白盒测试简介:



白盒测试



white-box te sting



又称透明盒测试



glass box testing



、< /p>


结构测试(


structural testing


)等,软件测试的主要方法之一,也称结


构测试、逻辑驱动测试或基于程序本 身的测试。



白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基 本路径测试。


其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定

< br>/


条件覆盖、


条件组合覆盖和路径覆盖。



优点和缺点



1.


优点



·昂贵



·迫使测试人员去仔细思考软件的实现



·可以检测代码中的每条分支和路径



·揭示隐藏在代码中的错误



·对代码的测试比较彻底



·最优化



2.


缺点



·无法检测代码中遗漏的路径和数据敏感性错误



·不验证规格的正确性



< p>
2


):系统测试



测试工具:


Eclipse


.


精品文档



测试方法:黑盒测试



黑盒测试简介:







等价类 划分(


EquivalencePartitioning


)< /p>





1.


严格控制测试用例的增加,减少为达到“合理测试”的


某些既定目标 而必须设计的其他测试用例的数量





2.


它覆盖了大部分其他可能的测试用例。




划分了等价类后,


就可以说,


如果对该集合中某个元素所


进行的测 试没有发现错误的话,


那么对该集合中其他元素所进行的测


试也 不大可能会发现错误。





使用等价类划分方法设计测试用例主要有两个步骤:


< br>1



确定等价类;(


2


)生成测试用例



黑盒测试的优缺点



优点


:


1.


对于较大的代码单元来说,黑盒测试比白盒测试效率较高。



2 .


测试人员不需要了解细节,包括特定的编程语言。



3.


测试人员和开发人员是彼此独立的。



4.


从用户的角度测试,很容易被理解和接受。


5.


有助于暴露与任务规格不一致或者有歧义的地方。< /p>



6.


测试用例可以在需求规格完成之后 马上执行。



缺点


:


1.


测试的只有一小部分,不可能测试全部输入。


< /p>


2.


没有清洁和简明的需求规格说明书,测试用例很难设计。



.


精品文档



3.


如果测试人员,不被告知开发人员已经执行过的用例,在测


试数据上会存在不必要的重复。



4.


很多测试路径没有测试到。



5.


不能直接对特定程序段进行测试,改程序段可能隐藏更多错


误。



5


:测试策略及流程




1




单元测试





测试用例


:


测试前说明:




2





件“


a>=0


” 取真


(TURE)


时为


T1

< p>
,取假


(FALSE)



F1



3





件“


b>=0


”取真


(TURE)


时为


T2


,取假


(FALSE)


F2



4





件“


c>=0


” 取真


(TURE)


时为


T3

< p>
,取假


(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)

-


-


-


-


-


-


-


-