软件测试书重点.docx

上传人:b****5 文档编号:8234440 上传时间:2023-01-30 格式:DOCX 页数:14 大小:632.70KB
下载 相关 举报
软件测试书重点.docx_第1页
第1页 / 共14页
软件测试书重点.docx_第2页
第2页 / 共14页
软件测试书重点.docx_第3页
第3页 / 共14页
软件测试书重点.docx_第4页
第4页 / 共14页
软件测试书重点.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

软件测试书重点.docx

《软件测试书重点.docx》由会员分享,可在线阅读,更多相关《软件测试书重点.docx(14页珍藏版)》请在冰豆网上搜索。

软件测试书重点.docx

软件测试书重点

1》软件测试的定义

软件测试是由“验证”和“有效性确认”活动构成的整体。

2》软件缺陷的构成

软件缺陷的构成有:

规格说明书(54%),设计(25%),代码(15%),其他!

软件规格说明书为什么是软件缺陷存在的最多的地方的原因有:

(1)用户一般为非计算机的专业人员,软件开发人员和用户的沟通存在较大困难,对开发的产品功能理解不一致

(2)由于软件产品还没有设计、开发,完全靠想象去描述系统的实现的结果,所以有些特性还不够清晰。

(3)需求变化的不一致。

用户的需求总是在不断变化的,这些变化如果没有在产品规格说明书中得到正确的描述,容易引起前后文、上下文的矛盾

(4)对规格说明书的不够重视,在规格说明书的设计和写作上投入的人力、时间的不足

(5)没有在整个开发队伍中进行充分沟通,有时只有设计师或项目经理得到了比较多的信息

3》验证和确认

验证是指检验软件是否已正确的实现了产品规格说明书所定义的系统功能和特性。

验证过程提供证据表明软件产品与所有生命周期活动的要求(正确性、完整性、一致性、准确性)相一致。

相当于以软件产品设计规格说明书为标准进行软件测试的活动。

有效性确认是确认所开发的软件是否满足用户真正需求的活动。

一切从客户出发,理解客户的需求,对软件需求定义、设计的怀疑,发现需求定义和产品设计中的问题。

这主要通过各种软件评审活动来实现,包括让客户参加评审和测试活动。

两者的区别:

验证是检验开发出的软件产品和设计规格说明书的一致性,即是否满足软件厂商的生产要求。

确认是检验产品功能的有效性,即是否满足用户的真正的需求。

验证是否正确的构造了软件?

即是否正确的做事,验证开发过程是否遵守已定义好的内容。

确认是否构造了正确的软件?

即是否做正确的事或正在构建用户所需要的功能。

4》软件测试的分类

1)对象或阶段:

需求审查,设计审查,单元测试,集成测试,系统测试,验收测试

2)方法:

白盒测试,灰盒测试,黑盒测试

3)目标:

可靠性测试,可用性测试,兼容性测试,安装测试,恢复测试,安全性测试,性能测试

4)测试的对象或范围:

单元测试,程序测试,系统测试,文档测试,Web应用测试,客户端测试,数据库测试,服务器测试

5)测试目的:

集成测试,功能测试,压力测试,性能测试,可靠性测试,灾难恢复性测试,安全性测试,兼容性测试,回归性测试,验收测试,安装测试

5》走查与审查的对比

项目

走查

审查

准备

通读设计和编码

应准备好需求描述文档,程序设计文档,程序的源代码,清单,代码编码标准和代码缺陷检查表

形式

非正式会议

正式会议

参加人员

开发人员为主

项目组成员包括测试人员

技术方法

缺陷检查表

注意事项

限时、不需要现场修改代码

限时、不需要现场修改代码

生成文档

会议记录

静态分析错误报告

目标

代码标准规范,无逻辑错误

代码标准规范,无逻辑错误

6》集成测试的模式

自顶向下和自底向上集成方法优缺点

自顶向下发的优点是:

不需要写测试驱动程序,能够在测试阶段的早期实现并验证系统的主要的功能,而且能在早期发现上层模块的接口错误。

其缺点是:

需要桩程序,可能遇到与此相联系的测试困难,低层关键模块中的错误发现较晚,而且用这种方法在早期不能充分展开人力。

自底向上发的优缺点与自顶向下法刚好相反。

7》回归测试遵循的基本过程

1)识别出软件中被修改的部分2)从原基线测试用例T中,排除所有不再适用的测试用例,确定那些对新的软件版本依然有效的测试用例,其结果是建立一个新的极限测试用例库T0。

3)依据一定的策略从T0中选择测试用例测试被修改的软件。

4)如果回归测试包不能达到所需的覆盖要求,必须补充新的测试用例是覆盖率达到规定的要求,生成新的测试用例集T1,用于测试T0无法充分测试的软件部分。

5)用T1执行修改后的软件。

第2)和3)步测试验证修改是否破坏了现有的功能,第4)和5)步测试验证修改工作的本身。

8》回归测试策略

选择回归测试的策略应该兼顾效率和有效性两个方面。

以下几种方法是回归测试的策略:

1)再测试全部的用例2)基于风险选择测试3)基于操作剖面选择测试4)在测试修改的部分

9》非功能性测试

1)性能测试

2)压力测试

3)容量测试

4)安全性测试

5)可靠性测试

6)容错性测试

10》兼容性测试

兼容性测试包括了软件兼容性、数据共享兼容性、硬件兼容性三个方面。

软件兼容性测试是指验证软件之间是否能够正确的交互和共享信息,包括同步共享、异步共享、还包括本地交互、远程通信交互。

软件的兼容性的内容主要是:

向前和向后兼容,多版本的测试。

数据共享的兼容性表现在以下几个方面:

1)剪切、复制、粘贴2)文件存取3)文件的导入和导出

硬件兼容性测试就是硬件配置测试。

配置测试的主要任务就是发现硬件配置缺陷。

判断一个缺陷是否为配置缺陷,常用的方法是在另一台完全不同配置的计算机上执行相同的操作。

11》测试用例的作用

1)有效性2)可复用性3)易组织性4)可评估性5)可管理性

12》测试用例设计的考虑因素

1)测试用例必须具有代表性、典型性2)测试用例设计师,是寻求系统设计、功能设计的弱点3)测试用例需要考虑到正确的输入,也需要考虑错误的或者异常的输入,以及需要分析怎样使用这样的错误或者异常能够发生4)用户测试用例设计,要多考虑用户实际使用场景

13》测试用例设计的基本原则

1)避免含糊的测试用例2)尽量将具有类似功能的测试用例抽象并归类3)尽量避免冗长和复杂的测试用例

14》软件缺陷的生命周期

(1)发现->打开:

测试人员发现软件缺陷后,提交该缺陷给开发人员。

缺陷处在开始状态“新打开的”

(2)打开->修复:

开发人员再现、修改并进行必要的单元测试,完成缺陷的修正。

这是缺陷处于“已修正”状态(3)修复->关闭:

测试人员验证已修正的缺陷,如果该缺陷在新构建的软件包的确不存在,测试人员就关闭这个缺陷。

这时软件缺陷处于“已关闭”状态。

发现->打开->修复->关闭

15》有效描述软件缺陷的规则:

1)单一准确2)可以再现3)完整统一4)短小简练5)特定条件6)补充完善7)不做评价

1>为什么要进行软件测试

为了保证软件质量。

没有软件测试,产品的质量就不敢想象。

测试是软件工程中必不可少的一部分,软件测试是软件质量保证的关键步骤。

软件测试是由“验证”和“有效性确认”活动构成的整体。

验证是检验软件是否已正确的实现了产品规格书所定义的系统功能和特性。

正确性,完整性,一致性,准确性。

有效性确认是确认所开发的软件是否满足用户真正需求的活动。

2>测试人员应该具有的素质

(1)具有探索精神

(2)故障排除能手(3)不懈努力(4)创造性(5)追求完美(6)判断准确(7)老练成熟(8)说服力(9)在编程方面受过教育

3>测试的目的和原则

软件测试的目的:

第一是确认软件的质量,其一方面是确认软件做了你所期望的事情=,另一方面是确认软件以正确的方式来做了这个事件。

第二是提供信息,比如提供给开发人员或程序经理的回馈信息,为风险评估所准备的信息。

第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。

如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。

因此软件测试的三个目的都是保证整个软件开发过程是高质量的

软件测试的原则:

0、所有的测试都应当追溯到用户需求

1、应当尽早地和不断地进行软件测试,但完全测试是不可能的,测试需要适可而已。

2、程序员应避免检查自己的程序。

3、在设计测试时不要假设程序中不会查出错误。

4、应充分注意测试中的群集现象。

5、对测试错误结果一定要有一个确认的过程。

6、制定严格的测试计划,并把测试时间安排的尽量宽松。

7、进行回归测试。

8、妥善保存一切测试过程文档。

4>正向观点和逆向观点

正向观点:

(1)软件测试是为了发现错误而执行程序的过程

(2)测试是为了证明程序有错误,而不是证明程序无错误(3)一个好的测试用例在于它能发现至今未发现的错误(4)一个成功的测试是发现了至今未发现的错误的测试

5>Verification验证&Validation确认

验证是指检验软件是否已正确的实现了产品规格说明书所定义的系统功能和特性。

验证过程提供证据表明软件产品与所有生命周期活动的要求(正确性、完整性、一致性、准确性)相一致。

相当于以软件产品设计规格说明书为标准进行软件测试的活动。

有效性确认是确认所开发的软件是否满足用户真正需求的活动。

一切从客户出发,理解客户的需求,对软件需求定义、设计的怀疑,发现需求定义和产品设计中的问题。

这主要通过各种软件评审活动来实现,包括让客户参加评审和测试活动。

两者的区别:

验证是检验开发出的软件产品和设计规格说明书的一致性,即是否满足软件厂商的生产要求。

确认是检验产品功能的有效性,即是否满足用户的真正的需求。

验证是否正确的构造了软件?

即是否正确的做事,验证开发过程是否遵守已定义好的内容。

确认是否构造了正确的软件?

即是否做正确的事或正在构建用户所需要的功能。

6>CMM五级的主要特点

级别

特点

初始级

不可预测且缺乏控制

可重复级

可重复以前的主要经验

已定义级

过程被描述,并得到良好理解

已管理级

过程被测量并受控

优化级

关注持续改进

7>几种主要开发方法的特点(大棒、瀑布、快速原型、螺旋)

8>什么是软件缺陷、软件缺陷的级别

软件缺陷就是未能满足产品规范的操作和功能,是指软件产品或流程中所有不合规格的地方。

软件缺陷的级别:

根据安全性分为高严重性、中等安全性和低严重性。

按照优先级可分为高优先级、中优先级、低优先级。

9>为什么需求中的缺陷最多

(6)用户一般为非计算机的专业人员,软件开发人员和用户的沟通存在较大困难,对开发的超功能理解不一致

(7)由于软件产品还没有设计、开发,完全靠想象去描述系统的实现的结果,所以有些特性还不够清晰。

(8)需求变化的不一致。

用户的需求总是在不断变化的,这些变化如果没有在产品规格说明书中得到正确的描述,容易引起前后文、上下文的矛盾

(9)对规格说明书的不够重视,在规格说明书的设计和写作上投入的人力、时间的不足

(10)没有在整个开发队伍中进行充分沟通,有时只有设计师或项目经理得到了比较多的信息

10>软件缺陷的生命周期

测试人员提出缺陷->测试人员报告缺陷->开发人员确认缺陷->开发人员修正缺陷->开发团队在内部验证缺陷->测试人员验证修正->测试人员根据缺陷状态关闭或再次打开缺陷

11>软件测试原则

0、所有的测试都应当追溯到用户需求

1、应当尽早地和不断地进行软件测试,但完全测试是不可能的,测试需要适可而已。

2、程序员应避免检查自己的程序。

3、在设计测试时不要假设程序中不会查出错误。

4、应充分注意测试中的群集现象。

5、对测试错误结果一定要有一个确认的过程。

6、制定严格的测试计划,并把测试时间安排的尽量宽松。

7、进行回归测试。

8、妥善保存一切测试过程文档。

12>软件测试规律(木桶原理、二八定理)

(1)木桶原理:

软件质量的关键因素是分析、设计和实现,测试应该是融于其中的补充检查手段,其他管理、支持甚至文化因素也会影响最终软件质量。

(2)二八定理:

在分析设计实现阶段的复审和测试工作中能够发现和避免80%的缺陷,而系统测试又能找出其余缺陷的80%,最后的4%的缺陷以后才会暴露出来。

(3)严格进行测试计划

(4)全面检查测试结果

13>常见软件测试名词的解释:

黑盒测试、白盒测试、回归测试、验收测试、功能测试、压力测试、静态测试、动态测试

黑盒测试:

也称功能测试或数据驱动测试。

它不管程序内部结构是什么样的,他只是从用户出发,根据产品应该实现的实际功能和已经定义好的产品规格来验证产品所应该具有的功能是否实现,每一个功能是否都能正常使用,它是否满足用户的要求。

白盒测试:

也称结构测试或逻辑驱动测试。

他是一致产品的内部工作构成,清楚最终生成软件产品的计算机程序的结构和语句,按照程序内部的结构测试程序。

回归测试:

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误

验收测试:

是软件产品完成了功能测试和系统测试完成之后,在产品发布之前所进行的软件测试活动,他是技术测试的最后一个阶段,通过了验收测试,产品就会进入发布阶段。

功能测试:

就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。

压力测试:

也称强度测试、负载测试。

压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负载。

长时间或超大负荷运行测试软件来测试诶测系统的性能、可靠性、稳定性等。

静态测试:

就是静态分析,对模块的源代码进行研读,查找错误或手机一些度量数据,并不需要对代码进行编译和仿真运行。

动态测试:

是通过观察代码运行时的动作,来提供执行跟踪、时间分析以及测试覆盖服方面的信息。

动态测试通过真正的运行程序发现错误。

14>穷举测试不可能

15>黑盒白盒测试用例的设计

白盒测试:

语句覆盖,判定覆盖,条件覆盖,判定条件覆盖等

黑盒测试:

等价类划分,边界值分析,错误推测,因果法

16>逻辑覆盖、控制流图、等价类划分、边界值分析、因果图

大题例题

一.按要求给出下列程序的测试用例(要求写出必要的说明):

(1)语句覆盖

(2)判定覆盖(3)条件覆盖

答:

图中共有4条路径:

P1(ace)、P2(abd)、P3(abe)、P4(acd)。

1.P1正好满足语句覆盖的条件。

可以设计如下的输入数据:

A=2,B=0,x=4

2.测试用例如果能够测试路径P1(ace)和P2(abd),就可以满足判定覆盖要求。

可以设计如下两组输入数据:

A=2,B=0,x=4

A=1,B=1,x=1

3.条件:

A>1,B=0,A=2,x>1。

需要有足够的测试用例使得上述四个条件都能有满足和不满足的情况。

以下这几组输入数据能满足这些要求:

A=2,B=0,x=4(TTTT和TTTF)

A=1,B=1,x=1(FFFF和FTFF)

A=3,B=1,x=3(TFFT)

图如下

 

 

2.使用基本路径测试方法,为以下程序段设计测试用例。

(1)画出程序的控制流图。

(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。

(3)导出基本路径集,确定程序的独立路径。

(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。

voidDo(intX,intA,intB)

{

if((A>1)&&(B=0))

X=X/A;

if((A=2)||(X>1))

X=X+1;

}

答案如下:

(注:

1:

A>1;2:

B=0;3:

X=X/A;4:

A=2;5:

X>1;6:

X=X+1;7:

结束)

1.画出控制流图:

如右图所示

计算环形复杂度:

公式有:

圈数+1;

边数-点数+2;

判断分叉点数+1;

  10(条边)-7(个节点)+2=5

导出独立路径(用语句编号表示)

路径1:

1→2→3→4→5→6→7

路径2:

1→4→5→6→7

路径3:

1→2→4→6→7

路径4:

1→2→4→5→7

路径5:

1→2→3→4→5→7

测试用例

用例号

路径

输入数据

ABX

预期输出

X

TC1

1→2→3→4→5→6→7

306

3

TC2

1→4→5→6→7

013

4

TC3

1→2→4→6→7

211

2

TC4

1→2→4→5→7

310

0

TC5

1→2→3→4→5→7

303

1

三、某城市电话号码由三部分组成,分别是:

地区码——空白或三位数字;

前缀——非‘0’或‘1’开头的三位数字;

后缀——4位数字。

假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。

要求采用弱健壮等价类方法,即同时考虑有效值和无效值,基于单缺陷假设

(1)首先进行输入条件等价类划分,并编号,写出等价类表

(2)设计测试用例,以便覆盖所有的有效等价类。

为每一个无效等价类设计一个测试用例,列出完整的测试用例表。

答案如下:

列出等价类表

测试用例

4.集成测试例子

1.大棒测试

三明治集成测试

大棒测试集成

因果法

例如,有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。

其规格说明如下:

若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

若售货机没有零钱

找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

(1)分析这一段说明,列出原因和结果

原因:

1.售货机有零钱找2.投入1元硬币3.投入5角硬币4.押下橙汁按钮5.押下啤酒按钮

建立中间结点,表示处理中间状态

11.投入1元硬币且押下饮料按钮12.押下〖橙汁〗或〖啤酒〗的按钮

13.应当找5角零钱并且售货机有零钱找14.钱已付清

结果:

21.售货机〖零钱找完〗灯亮22.退还1元硬币23.退还5角硬币

24.送出橙汁饮料25.送出啤酒饮料

(2)画出因果图。

所有原因结点列在左边,所有结果结点列在右边。

(3)由于2与3,4与5不能同时发生,分别加上约束条件E。

(4)因果图

(5)转换成判定表

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1