软件测试质量分析报告
班级:软件工程1班 XX:宇 学号:
.
———加减乘除根本运算
可修编
. .
1编写目的
为了发现程序的错误和缺陷,通过测试,检查该程序是否到达了预期的结果,发现其中的缺陷,确保程序可以正确执行。质量控制是为了保证每一件工作产品都满足对它的需求而应用于整个开发期中的一系列审查、评审和测试,质量控制在创立工作产品的过程中包含一个反应循环,通过对质量的反应,使得我们能够在得到的工作产品不能满足其规约时调整开发过程。所有工作产品都应该具有定义好的和可度量的规约,这样就可以将每个过程的产品与这一规约进展比拟。质量保证由管理层的审计和报告构成,目标是为管理层提供获知产品质量信息所需的数据,从而获得产品质量是否符合预定目标的认识和信心。
2 测试工程及说明
测试对象为一段计算根本运算加减乘除的代码,通过单元测试、集成测试、系统测试等法来检测该程序的缺陷。软件质量保证是为了保证软件系统或软件产品满足用户要求的质量而进展的有方案、有组织的活动,其目的是生产高质量的软件。在软件质量面必须强调三个要点: 软件必须满足用户规定的要求,与用户需求不一致的软件,就无质量可言。软件应遵循软件标准所定义的一系列开发标准,不遵循
. 可修编
. .
这些标准的软件,其质量难以得到保证。软件还应满足某些隐含的要求,例如希望有良好的可理解性、可维护性等,而这些隐含的要求可能未被写在用户规定的需求中,满足它的显性需求而不满足其隐含需求,那么该软件的质量是令人疑心的。
4:测试工具及法
〔1〕单元测试 测试工具:Eclipse Eclipse简介:
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组效劳,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具〔Java Development Kit,JDK〕。
虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境〔IDE〕来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境〔Plug-in Development Environment,PDE〕,这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C++ 和 COBOL 等编程语言的插件已经可用,或预计将会推出。Eclipse 框架
. 可修编
. .
还可用来作为与软件开发无关的其他应用程序类型的根底,比方容管理系统。
测试法:白盒测试 白盒测试简介:
白盒测试〔white-box testing〕又称透明盒测试〔glass box testing〕、构造测试〔structural testing〕等,软件测试的主要法之一,也称构造测试、逻辑驱动测试或基于程序本身的测试。
白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和根本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。 优点和缺点 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 0 In:a=-1,b=-1,c=-1,d=0 Out:r=F 0
, c<0,d<=a<0,b<0=0, c>=0,d>a>=0,b>条件 N=T,F=T, O=T,P=T N=F,F=F, O=F,P=F 7,9) P(1,3,5,6,8) P(1,2,4,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 . 可修编
覆盖路径 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,. .
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 Out:r=1/F In:a=-1,b=-1,c=1T1,T2,F3,T4 P(1,2,4,7,8) 6,7) (1,3,T1,T2,F3,F4 P(1,2,4,7,9) 6,8) (1,3,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,P(1,3,(2,4,. 可修编
. .
,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=1T3,T4 5,7,9) 5,7) F1,T2,F3,T4 P(1,3,4,7,8) 6,7) (2,3,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,P(1,3,(2,. 可修编
. .
,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
组合编号:
T3,T4 5,7,9) 4,5,7) F1,T2,F3,T4 P(1,3,4,7,8) (2,3,6,7) F1,T2,F3,F4 P(1,3,4,7,9) (2,3,6,8) F1,F2,F3,F4 P(1,3,5,7,9) (2,4,6,8) F1,F2,F3,T4 P(1,3,5,7,8) (2,4,6,7) F1,T2,T3,F4 P(1,3,4,7,9) (2,3,5,8) F1,F2,T3,F4 P(1,3,5,6,9) (2,4,5,8) . 可修编
. .
组合编号 1 2 3 4 5 6 7 8
3.路径覆盖就是设计所有的测试用例,来覆盖程序中的所有可能的执行路径。
测试用例 覆盖条件 覆盖路径 覆盖组合 . 可修编
覆盖条件取值 T1,T2 T1,F2 F1,T2 F1,F2 T3,T4 T3,F4 F3,T4 F3,F4 判定条件取值 M=T M=F N=T N=F O=T O=F P=T P=F . .
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 T1,T2,T3,T4 P(1,2,4,6,8) ) (1,5T1,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) P(1,3,4,6,8) ) (3,5In:a=-1,b=1,c=1,d=1 Out:r=1/F In:a=-1,b=-1,c=1,d=1 Out:r=F
F1,T2,T3,T4 F1,F2,T3,T4 P(1,3,5,6,8) ) (4,5In:a=-1,b=-1,c=-1,d=1 Out:r=F In:a=-1,b=-1,c=-1,,T4 F1,F2,F36,8) P(1,2,4,(4,7) F1,F2,F3P(1,3,5,(4,8) . 可修编
. .
d=-1 Out:r=F
,F4 7,9) 流程图 1
M T 2 a>=0
F3
N b>=0 T 4
F 5
O T6 c>=0
F7
T 8 d>0 P
F 9 a=a b=a+b c=a+b+c d=a+b*c/d
d=r 〔2〕系统测试可使用性测试:(针对软件质量中)“功能性〞
目的:根据产品的需求规格说明书和测试列表,验证产品的功能实现是否符合需求规格;
. 可修编
. .
测试工具:java 关注点:
功能是否遗漏
功能实现是否满足用户需求和系统设计的隐性需求
输入能否正确承受,输出结果是否正确 根本功能测试:
测试序号 容 正常2 输入 3 4 5 6 操作 输入 期望测试是否 结果 结果 7.0 通过 是 加法 5+2 7 减法 乘法 除法 去除 5-2 5*2 5/2 3 10 2.5 3.0 10.0 2.50 是 是 是 否 backspupdate result ace 非法7 输入 8 除0 5/0 fault infinity 否 连乘/4**2 除 update fault 否 9 连加/4++2 update fault 否 . 可修编
. .
减 10 输入4y+3 字母 11 溢出 12.......update fault 3+4......3 12 精度1/3 测试 1/3 0.3333是 333.. 否 update fault 否 负载测试: 软件测试是保证软件质量的重要手段,对软件系统进展有效的负载压力测试,有助于准确的评估出软件性能的瓶颈,从而对其进展调优.利用自动化性能测试工具LoadRunner,对计算器进展实例负载压力测试,初步评估出该Web网页的性能瓶颈,针对此性能瓶颈,提出改善并发用户数及用户访问速度的法. 测试工具:HP—LoadRunner
关注点:增加用户的数量对系统响应时间的影响
. 可修编
. .
结论:通过对数据的分析我们可以得出以下两点:
1..随用户的数量的增加,软件对数据的响应时间不断增大。 2.通过对用户数量的增大,我们可以得出软件的最大用户数量在3700左右。
6:缺陷统计及分析
〔1〕单元测试
测试分析:
1 分析测试结果于预期结果是否一致,测试覆盖率到达多少。
测试类型 测试结果与预期果 判定覆盖 条件组合覆盖 一致 一致 100% 100% 测试覆盖率 . 可修编
. .
路径覆盖
软件缺陷:
一致 100% 1 输入负值,输出结果显示出错。 2 只能计算一组数据,不能循环计算。 3 减法测试模糊不清。
7:测试质量分析
代码导入及运行过程:
首先安装java开发工具箱jdk,它是java程序能够运行的条件,也是用来调试java程序的工具,之后安装可视化的java编译环境eclipse直接进展java程序的编码工作,并提供可视化的运行环境,我们说jdk同样可以做出java工程,毕竟eclipse本身就是用jdk编写的,所以用eclipse运行的java程序也可以用jdk运行。 (1)代码导入:安装好jdk与eclipse后,翻开eclipse,左击文件新建一个java工程
(2)命名为MyProject后点击完成,右击工程名称新建一个class文件
命名为size后点击完成,将代码复制在size.java中运行结果如下
. 可修编
. .
代码运行后开场软件测试。
8.评价软件的角度
(1)正确性
正确性是指软件按照需求正确执行任务的能力。 正确性也涵盖了“准确性面。无庸质疑,这是对一款软件最根本的要求,比方我们通过ATM自动取款机取款时,在输入1,000时,结果只输出了800或者输出了1,200,可想而知这会对银行和客户会产生多大的影响。一款软件满足不了正确性的要求,再谈其他任面都没意义。
(2)强健性
强健性是指在异常或者不利情况下,软件能够正常运行的能力。我们可以用生活中的一个例来说明,当流感出现的时候,在同样环境下,有些人很容易就生病,而有些人却任你东南西北风,就是安然无恙。
(3)性能
性能也就是一个软件效率问题。
(4)易用性
顾名思义,易用性是软件能否满足客户容易操作使用程度。易用性也是衡量一款软件质量好坏的一个重要面。 (5)人员素质
软件是人做出来的,软件质量的好坏和开发、测试以及有关管理人员都息息相关。在软件开发面,我们在此不谈,只从测试的
. 可修编
. .
角度来谈软件质量保证。说质量保证,先问下自己,从事质量保证的人员真的有能力去做好质量保证吗?质量保证的人员能力问题是个重要面,如果连软件中潜在问题都发现不了,想解决问题,做高质量的软件,谈容易? 测试人员能力是一面,其他如从事软件测试人员的职业素养也是个重要面。如果一款软件未有充分去测,甚至对有些概率性的问题一笑而过,耐不住性子深入去测,或者在发行版本时只简单测试一下,这些都无法真正保证软件的质量。而这种情况下的出现,测试人员根据简单的测试,下了个软件没问题的结论,这样对顾客而言影响是很大的,最终对公司而言无论形象还是未来产品销售等面的都是不利的。
. 可修编
因篇幅问题不能全部显示,请点此查看更多更全内容