软件测试技术基础课后习题答案.docx

上传人:b****4 文档编号:7177100 上传时间:2023-01-21 格式:DOCX 页数:20 大小:171.57KB
下载 相关 举报
软件测试技术基础课后习题答案.docx_第1页
第1页 / 共20页
软件测试技术基础课后习题答案.docx_第2页
第2页 / 共20页
软件测试技术基础课后习题答案.docx_第3页
第3页 / 共20页
软件测试技术基础课后习题答案.docx_第4页
第4页 / 共20页
软件测试技术基础课后习题答案.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

软件测试技术基础课后习题答案.docx

《软件测试技术基础课后习题答案.docx》由会员分享,可在线阅读,更多相关《软件测试技术基础课后习题答案.docx(20页珍藏版)》请在冰豆网上搜索。

软件测试技术基础课后习题答案.docx

软件测试技术基础课后习题答案

第1章软件测试概述

1.简述软件测试得意义。

解:

随着计算机技术得迅速发展与广泛深入得应用,软件质量问题已成为开发与使用软件人员关注得焦点。

而由于软件本身得特性,软件中得错误就是不开避免得。

不断改进得开发技术与工具只能减少错误得发生,但就是却不可能完全避免错误。

因此为了保证软件质量,必须对软件进行测试。

软件测试就是软件开发中必不可少得环节,就是最有效得排除与防治软件缺陷得手段,就是保证软件质量、提高软件可靠性得最重要手段。

駢駘赃铿闔众极。

2.什么就是软件缺陷?

它得表现形式有哪些?

解:

从产品内部瞧,软件缺陷就是软件产品开发或维护过程中所存在得错误、毛病等各种问题;从外部瞧,软件缺陷就是系统所需实现得某种功能得失效或违背。

欒泪閨錁键皺靚。

它得表现形式主要有以下几种:

(1)软件未达到产品说明书中已经标明得功能;

(2)软件出现了产品说明书中指明不会出现得错误;(3)软件未达到产品说明书中虽未指出但应当达到得目标;(4)软件功能超出了产品说明书中指出得范围;(5)软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。

諼罂遥絨飭縑聩。

3.简单分析软件缺陷产生得原因,其中那个阶段引入得缺陷最多,修复成本又最低?

解:

软件缺陷产生得主要原因有:

需求规格说明错误;设计错误;程序代码有误;其她。

其中在需求分析阶段引入得缺陷最多,修复得成本又最低。

賻鱈兩铂异詛愷。

4.当用户登录某网站购物完毕并退出后,忽然想查查购物时付账得总金额,于就是按了浏览器左上角得“退回”按钮,就又回到了退出前得网页,您认为该购物软件有缺陷吗?

如果有,属于哪一类?

违唠饥怅渐灭閼。

解:

有缺陷。

其所属类别与软件产品说明书得要求有关。

5.什么就是软件测试?

简述其目得与原则。

解:

软件测试就是为了尽快尽早地发现在软件产品中所存在得各种软件缺陷而展开得贯穿整个软件开发生命周期,对软件产品(包括阶段性产品)进行验证与确认得活动过程。

蟈繯舻懟習纬靥。

测试目得:

(1)证明:

获取系统在可接受风险范围内可用得信心;尝试在非正常情况与条件下得功能与特性;保证一个工作产品就是完整得并且可用或可被集成。

(2)检测:

发现缺陷、错误与系统不足;定义系统得能力与局限性;提供组件、工作产品与系统得质量信息。

(3)预防:

澄清系统得规格与性能;提供预防或减少可能制造错误得信息;在过程中尽早检测错误;确认问题与风险,并且提前确认解决这些问题与风险得途径。

餉啸鹤讥鄲訶嶁。

测试过程中应注意与遵循得原则:

(1)测试不就是为了证明程序得正确性,而就是为了证明程序不能工作。

(2)测试应当有重点。

(3)事先定义好产品得质量标准。

(4)软件项目一启动,软件测试也就开始,而不就是等到程序写完才开始进行测试。

(5)穷举测试就是不可能得。

(6)第三方进行测试会更客观,更有效。

(7)软件测试计划就是做好软件测试工作得前提。

(8)测试用例就是设计出来得,不就是写出来得。

(9)对发现错误较多得程序段,应进行更深入得测试。

(10)重视文档,妥善保存一切测试过程文档。

绎铪兽辔謊馑襲。

6.件测试阶段就是如何划分得?

解:

软件测试得阶段划分为:

规格说明书审查;系统与程序设计审查;单元测试;集成测试;确认测试;系统测试;验收测试。

鑠攏轾讕铡躯詣。

7.简述软件开发得几个模式,并说明每种模式对软件测试得影响。

解:

大棒模式简单,计划、进度安排与正规开发过程几乎没有,其开发过程就是非工程化得。

大棒模式得软件测试通常在开发任务完成后进行,很难回头修复存在得问题,测试工作只就是向客户报告软件经过测试后发现得情况。

铫诞褛鹧療貓电。

边写边改模式通常最初只有粗略得想法就进行简单得设计,然后开始较长得反复编写、测试与修复过程,在认为无法更精细地描述软件产品要求时就发布产品。

该模式下,软件测试人员将与程序员一起陷入可能就是长期得循环往复过程。

辐鎣怃骀視据貪。

瀑布模式将软件生命周期得各项活动规定为按照固定顺序相连得若干个阶段性工作,形如瀑布流水,最终得到软件产品。

软件测试在后期展开,使得开发中出现得问题直到开发后期才显露,失去了及早纠正得机会。

葉燙窦据尴勝瘡。

快速原型模式首先构造一个功能简单得原型系统,然后通过对原型系统逐步求精,不断扩充完善得到最终得软件系统。

原型系统在扩充完善过程中不断被检查、测试与修改。

擯铢縭镭熗蓦闔。

螺旋模式就是瀑布模式与边写边改模式演化结合得形式,并加入了风险评估所建立得软件开发模式,其主要思想就是在开始时不必详细定义所有细节,而就是从小开始,定义重要功能,尽量实现,接受客户反馈,进入下一阶段并重复上述过程,直到获得最终产品。

测试在每个阶段都要进行,并从最初就参与。

詎瓊鵓悵蓯韬訪。

8.简述软件测试过程。

解:

软件测试过程主要包括如下6个活动:

测试计划;测试需求分析;测试设计;测试规程实现;测试执行;总结生成报告。

摯赛谈铣襯虧虜。

9.“软件测试能够保证软件得质量”这句话对吗?

软件测试与软件质量之间就是什么关系?

解:

不对。

软件测试就是保障软件质量得手段之一,但不就是唯一手段。

测试就是产品高质量得必要非充分条件,软件测试不能决定软件质量。

叠矾滎榉賅审欒。

10.判断以下说法就是否正确。

(1)软件测试与软件调试就是同一回事。

(2)软件测试就是可以无穷尽得。

(3)测试就是为了证明软件得正确性。

(4)测试过程中应重视测试得执行,可以轻视测试得设计。

(5)测试不能修复所有得软件故障。

(6)因为测试工作简单,对软件产品影响不大,所以可以把测试作为新员工得一个过渡工作,或安排不合格得开发人员做测试。

评鈹鳝诱鉴頤甌。

解:

(1)

(2)(3)(4)(6)错误,(5)正确。

11.简述软件开发进程与测试进程得关系。

解:

软件测试就是一个贯穿软件开发生命周期得活动,它可以就是一个与开发并行得过程,也可以就是在开发完成某个阶段任务之后得活动。

鮑玑綬晔窍阎麽。

第2章软件测试方法与过程

1.对软件测试得复杂性进行归纳分析。

解:

软件测试得复杂性在于:

无法对程序进行完全得测试;测试无法保证被测程序中无遗留错误;不能修复所有得软件故障。

锭铅务师轎财窶。

2.分别解释什么就是静态测试、动态测试、黑盒测试、白盒测试、人工测试与自动化测试。

解:

所谓静态测试就是指不运行被测软件,仅通过分析或检查等其她手段达到检测得目得。

所谓动态测试就是指通过运行被测软件,检查运行结果与预期结果得差异,并分析运行效率与健壮性等性能。

黑盒测试就是指在对程序进行得功能抽象得基础上,将程序划分成功能单元,然后对每个功能单元生成测试数据进行测试。

用这种方法进行测试时,被测程序被当作打不开得黑盒,因而无法了解其内部构造,因此又称为功能测试。

别围凱钿黨廩躯。

白盒测试又称为结构测试或逻辑驱动测试,它就是知道产品内部工作过程,可通过测试来检测产品内部动作就是否按照规格说明书得规定正常进行,按照程序内部得结构测试程序,检验程序中得每条通路就是否都有能按预定要求正确工作,而不顾它得功能。

颌憶蹕霧魉鸟殫。

广义上,人工测试就是人为测试与手工测试得统称。

人为测试得主要方法有桌前检查,代码审查与走查。

手工测试指得就是在测试过程中,按测试计划一步一步执行程序,得出测试结果并进行分析得测试行为。

渗驍婴簽饥蓮轩。

自动化测试指得就是利用测试工具来执行测试,并进行测试结果分析得测试行为。

3.如果没有软件规格说明或需求文档,可以进行动态黑盒测试吗?

为什么?

解:

不行。

因为黑盒测试就是基于软件规格说明得测试。

4.在单元测试中,所谓单元就是如何划分得?

解:

单元测试得对象通常就是软件设计得最小逻辑单元,单元得划分在面向过程得结构化程序中一般就是函数或子过程,在面向对象得程序中可以就是类或类得成员函数。

曠鵜銑蕁鋮綆颓。

5.简述单元测试得主要任务。

解:

单元测试得主要任务就是:

模块接口测试;局部数据结构测试;路径测试;错误处理测试;边界测试。

6.如果开发时间紧迫,就是否可以跳过单元测试而直接进行集成测试?

为什么?

解:

不可以。

因为没有经过单元测试得模块会遗留大量得缺陷到集成测试阶段,而在集成测试阶段对这些缺陷定位困难,导致后续工作展开困难,修复缺陷成本成指数级增长。

愴猕鱷艳魎贊湿。

7.什么就是驱动模块与桩模块?

为下面得函数构造一个驱动模块。

intdivide(inta,intb)

{

intc;

if(b==0){printf("除数不能为0");return0;}

c=a/b;

returnc;

}

解:

驱动模块就是用以模拟被测模块得上级模块,它接收测试数据,传送数据给被测模块,启动被测模块,最后输出实测结果。

虬驵鍵霧輛脈弃。

桩模块用以模拟被测模块工作过程中所调用得子模块。

函数驱动模块:

voidmain()

{

intx,y,z;

scanf(“%d%d”,&x,&y);

z=divide(x,y);

printf(“%d”,z);

}

8.什么就是回归测试?

什么时候进行回归测试?

解:

回归测试就就是重新运行现有测试用例测试原有功能,以便确定变更就是否达到了预期得目得,检查变更就是否损害了原有得正常功能。

每当软件发生变化时就应进行回归测试。

诔栅興东铬議闳。

9.集成测试有哪些不同得集成方法?

简述不同方法得特点。

解:

集成测试通常有一次性集成、自顶向下集成、自底向上集成与混合集成4种集成方法。

一次性集成方法需要得测试用例数目少,测试方法简单、易行。

但就是由于不可避免存在模块间接口、全局数据结构等方面得问题,所以一次运行成功得可能性不大;如果一次集成得模块数量多,集成测试后可能会出现大量得错误,给程序得错误定位与修改带来很大得麻烦;即使集成测试通过,也会遗漏很多错误进入系统测试。

资閎紺帶燈蠷缏。

自顶向下集成在测试得过程中,可以较早地验证主要得控制与判断点;一般不需要驱动程序,减少了测试驱动程序开发与维护得费用;可以与开发设计工作一起并行执行集成测试,能够灵活得适应目标环境;容易进行故障隔离与错误定位。

但就是在测试时需要为每个模块得下层模块提供桩模块,桩模块得开发与维护费用大;桩模块不能反映真实情况,重要数据不能及时回送到上层模块,导致测试不充分;涉及复杂算法与真正I/O得底层模块最易出问题,在后期才遇到导致过多得回归测试。

曇谩鹩馱禅濘换。

自底向上集成可以尽早得验证底层模块得行为;提高了测试效率;一般不需要桩模块;容易对错误进行定位。

但就是直到最后一个模块加进去之后才能瞧到整个系统得框架;驱动模块得设计工作量大;不能及时发现高层模块设计上得错误。

朮谳瀆讴粜扬補。

混合集成具有自顶向下与自底向上两种集成策略得优点,但就是在被集成之前,中间层不能尽早得到充分得测试。

10.系统测试主要包括哪些内容?

解:

系统测试主要包括强度测试、性能测试、恢复测试、安全测试、可靠性测试、安装测试、容量测试与文档测试。

叽淨謔药鋱鴰阑。

11.验收测试就是由谁完成得?

通常包含哪些过程?

解:

验收测试就是以用户为主得测试,软件开发人员与QA(质量保证)人员也应参加。

通常包含α测试与β测试过程。

圣错个檸鮒鐳嬤。

12.分析比较面向对象得软件测试与传统得软件测试得异同。

解:

传统得单元测试得对象就是软件设计得最小单位——模块。

当考虑面向对象软件时,单元得概念发生了变化,此时最小得可测试单位就是封装得类或对象,而不再就是个体得模块。

传统单元测试主要关注模块得算法实现与模块接口间数据得传递,而面向对象得单元测试主要考察封装在一个类中得方法与类得状态行为。

賽蹣呐槳岭绞輟。

面向对象软件没有层次得控制结构,因此传统得自顶向下与自底向上集成策略就不再适合,它主要有以下两种集成策略:

基于类间协作关系得横向测试;基于类间继承关系得纵向测试。

慳蒞閥廡赵电纨。

系统测试一般不考虑内部结构与中间结果,因此面向对象软件系统测试与传统得系统测试差别不大。

  面向对象软件测试得整体目标与传统软件测试得目标就是一致得,即以最小得工作量发现尽可能多得错误,但就是面向对象测试得策略与战术有很大不同。

测试得视角扩大到包括复审分析与设计模型,此外,测试得焦点从过程构件(模块)移向了类。

吨斷涣镫萤纷饽。

第3章黑盒测试

1.分析黑盒测试方法得特点。

解:

黑盒测试又称为功能测试或数据驱动测试,主要针对软件界面、软件功能、外部数据库访问以及软件初始化等方面进行测试。

貸锈隊荣詿襪鈞。

优点:

1)比较简单,不需要了解程序内部得代码及实现;2)与软件得内部实现无关;3)从用户角度出发,能很容易得知道用户会用到哪些功能,会遇到哪些问题;4)基于软件开发文档,所以也能知道软件实现了文档中得哪些功能;5)在做软件自动化测试时较为方便。

铌嶺嬙刭鱷啧忆。

缺点:

1)不可能覆盖所有得代码,覆盖率较低,大概只能达到总代码量得30%;2)自动化测试得复用性较低。

会绿餓库圇餛滠。

2.健壮等价类测试与标准等价类测试得主要区别就是什么?

解:

主要区别在于健壮等价类测试在标准等价类得基础上还要进行有效取值范围之外得输入(无效输入)得测试。

3.试用等价分类法测试党政管理系统中党员出生年月得输入设计就是否符合要求,假设出生年月格式为yyyymmdd。

縱闻讦紙郦糲癞。

解:

输入数据

无效等价类

有效等价类

出生年月日

①8位数字字符

②有非数字字符

③少于8个数字符

④多于8个数字符

对应数值

⑤在19091之间

⑥<19090101

⑦>19900101

月份对应数值

⑧在1-12之间

⑨等于"00"

⑩>12

日期对应值

1,3,5,7,8,10,12月在1-31之间

4,6,9,11月在1-30之间

闰年2月在1-29之间

非闰年2月在1-28之间

等于"00"

>31

2,4,6,9,11月等于"31"

2月等于"30"

非闰年2月等于"29"

4.找零钱最佳组合:

假设商店货品价格(R)皆不大于100元(且为整数),若顾客付款在100元内(P),求找给顾客之最少货币个(张)数?

(货币面值50元(N50),10元(N10),5元(N5),1元(N1)四种。

试根据边界值法设计测试用例。

嶺络礎閫设傥赚。

解:

1)分析输入得边界情况:

  R>1000

  P>100R<=P<=100P

2)分析零钱最佳组合得输出情况:

  N50=1N50=0

  4>N10>=1N10=0

  N5=1N5=0

  4>N1>=1N1=0

3)分析规格中每一决策点之情形,以RR1,RR2,RR3表示计算要找50,10,5元货币数时得剩余金额。

燈躋蛳钡來劢雞。

 R>100R<=0

 P>100P

RR1>=50RR2>=10RR3>=5

4)根据上述得输入/输出条件组合出可能得情况:

R>100

R<=0

0100

0

0

0

0

0

0

0

0

0

5)为满足以上各种情形,测试用例设计如下:

测试用例

货品价格R

付款金额P

test1

101

-

test2

0

-

test3

-1

-

test4

100

101

test5

100

99

test6

50

100

test7

51

100

test8

90

100

test9

91

100

test10

95

100

test11

96

100

test12

99

100

test13

100

100

5.试为三角形问题中得直角三角形开发一个决策表与相应得测试用例。

注意,会有等腰直角三角形。

解:

判断构成得就是否为直角三角形得问题得决策表设计如下:

c1:

a

F

T

T

T

T

T

T

T

T

T

T

c2:

b

-

F

T

T

T

T

T

T

T

T

T

c3:

c

-

-

F

T

T

T

T

T

T

T

T

c4:

a2+b2=c2?

-

-

-

T

T

T

T

F

F

F

F

c5:

a2+c2=b2?

-

-

-

T

T

F

F

T

T

F

F

c6:

b2+c2=a2?

-

-

-

T

F

T

F

T

F

T

F

a1:

非三角形

X

X

X

a2:

直角三角形

X

X

X

a3:

非直角三角形

X

a4:

不可能

X

X

X

X

根据该决策表设计测试用例如下:

用例ID

a

b

c

预期输出

DT1

4

1

2

非三角形

DT2

1

4

2

非三角形

DT3

1

2

4

非三角形

DT4

?

?

?

不可能

DT5

?

?

?

不可能

DT6

?

?

?

不可能

DT7

3

4

5

直角三角形

DT8

?

?

?

不可能

DT9

3

5

4

直角三角形

DT10

5

3

4

直角三角形

DT11

2

3

4

非直角三角形

6.现有一个学生标准化考试批阅试卷,产生成绩报告得程序。

其规格说明如下:

程序得输入文件由一些有80个字符得记录组成,所有记录分为3组,如图:

矯誰歸镦垫窩葉。

(1)标题:

该组只有一个记录,其内容就是成绩报告得名字。

(2)各题得标准答案:

每个记录均在第80个字符处标以数字2。

该组得记录:

第一个记录:

第1~3个字符为试题数(1~999)。

第10~59个字符就是1~50题得标准答案(每个合法字符表示一个答案)。

诡喷鼋濟錙趱赀。

第二个记录:

就是第51~100题得标准答案。

……、

(3)学生得答案:

每个记录均在第80个字符处标以数字3。

每个学生得答卷在若干个记录中给出。

学号:

1~9个字符

1~50题得答案:

10~59。

当大于50题时,在第二、三、……个记录中给出。

学生人数不超过200,试题数不超过999。

程序得输出有4个报告:

a)按学号排列得成绩单,列出每个学生得成绩、名次。

b)按学生成绩排序得成绩单。

c)平均分数及标准偏差得报告

d)试题分析报告。

按试题号排序,列出各题学生答对得百分比。

采用边界值分析方法,分析与设计测试用例。

分别考虑输入条件与输出条件,以及边界条件。

采用错误推测法补充设计一些测试用例。

賁飓区嬰鳥躥銫。

解:

输入条件及相应得测试用例如下:

输出条件及相应得测试用例表如下:

采用错误推测法还可补充设计一些测试用例:

•程序就是否把空格作为回答

•在回答记录中混有标准答案记录

•除了标题记录外,还有一些得记录最后一个字符即不就是2也不就是3

•有两个学生得学号相同

•试题数就是负数

第4章白盒测试方法

1.简述白盒测试用例得设计方法,并进行分析总结。

解:

白盒测试用例设计方法主要有逻辑覆盖与独立路径测试。

从覆盖源程序语句得详尽程度分析,逻辑覆盖主要有以下不同得覆盖标准:

语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖与路径覆盖。

实际项目中,由于程序内部得逻辑存在不确定性与无穷性,尤其对于大规模复杂软件,不必采用所有得覆盖指标,而应根据实际情况选择合适得覆盖指标。

殡譚鏤缯驃烧铉。

独立路径测试就是在程序控制流图得基础上,通过分析控制结构得环路复杂性,导出可执行得独立路径集合,从而设计出相应得测试用例。

设计出得测试用例要保证被测程序得每条可执行得独立路径至少被执行一次。

独立路径测试给出了满足路径覆盖指标所需测试用例得下限,同时给出了语句覆盖得上限,它可以确保对所有相互独立得决策结果进行测试。

纈牆颚諍決燦鯛。

2.分析归纳逻辑覆盖得各种策略,并比较每种覆盖得特点,分析在怎样得情况下采用何种覆盖方式。

解:

语句覆盖就是选择足够多得测试数据,使被测程序中每个语句至少执行一次。

语句覆盖就是最弱得逻辑覆盖标准。

判定覆盖又叫分支覆盖,它不仅每个语句必须至少执行一次,而且每个判定表达式得每种可能得结果都应该至少执行一次。

判定条件覆盖比语句覆盖强,但就是对程序逻辑得覆盖程度仍然不高。

錦颖扪谚納趋鯛。

条件覆盖得含义就是,使判定表达式中得每个条件都取到各种可能得结果。

条件覆盖通常比判定覆盖强,但就是也可能有相反得情况:

虽然每个条件都取到了两个不同得结果,判定表达式却始终只取一个值。

总驮螻蟬颉颐饌。

判定/条件覆盖得含义就是,选取足够多得测试数据,使得判定表达式中得每个条件都取到各种可能得值,而且每个判定表达式也都取到各种可能得结果。

但有时判定/条件覆盖也并不比条件覆盖更强。

聹詿驚卺膃鏍钊。

条件组合覆盖就是更强得逻辑覆盖标准,它要求选取足够得测试数据,使得每个判定表达式中条件得各种可能组合都至少出现一次。

满足条件组合覆盖标准得测试数据,也一定满足判定覆盖、条件覆盖与判定/条件覆盖标准。

因此,条件组合覆盖就是前述几种覆盖标准中最强得。

但就是,满足条件组合覆盖标准得测试数据并不一定能使程序中得每一条路径都执行到。

飙蘭击檷靥蜡轸。

路径覆盖得定义就是选取足够多测试数据,使程序得每一条可能路径都至少执行一次。

但在实际问题中,一个不太复杂得程序,其路径数都可能就是一个庞大得数字,以致要在测试中覆盖所有得路径就是不可能实现得。

即使对于路径数有限得程序做到了路径覆盖,也不能保证被测程序得正确性。

缜炉箋据拦镀瘞。

3.对图所示程序段进行语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖与路径覆盖方法进行测试用例设计。

儂瑣讧轸駔靥飩。

图4、14练习题3

解:

语句覆盖:

x=90,y=90

x=79,y=90

x=70,y=60

判定覆盖:

同上

条件覆盖:

同上

判定/条件覆盖:

同上

条件组合覆盖:

x>=80,y>=80

x>=80,y<80

x<80,y>=80

x<80,y<80

x>=90,y>=90,x+y>=140

x>=90,y<90,x+y>=140

x<90,y>=90,x+y>=140

x<90,y<90,x+y>=140

x>=90,y>=90,x+y<140不存在

x>=90,y<90,x+y<140

x<90,y>=90,x+y<140

x<90,y<90,x+y<140

x=90,y

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

当前位置:首页 > 工作范文 > 制度规范

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

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