软件工程复习资料(DOC)

软件工程复习资料(DOC)
软件工程复习资料(DOC)

软件工程复习题

一、选择题,请从四个可选项中选择正确答案。

1、下面哪个选项不是软件工程研究的内容()。

A. 生产无故障的软件

B. 精通一门编程语言

C. 生产满足用户需求的软件

D.生产及时交付的软件

2、软件工程的出现是由于()

A.软件危机

B.计算机硬件技术的发展

C.软件社会化的需要

D.计算机软件技术的发展

3、软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是(),最上层是工具层。

A.过程层

B.方法层

C.过程层和方法层

D.系统层

4、美国著名软件工程专家B.W.Boehm于1983年提出了软件工程的()条基本原理。

A.7

B.5

C.3

D.12

5、结构化分析方法(SA 法)使用的主要描述工具有()。

A.数据库

B.模块结构图

C.PAD 图

D.分层的DFD 图

6、源程序的效率与()阶段确定的算法的效率直接有关。

A.概要设计 B. 总体设计 C. 单元设计 D. 详细设计

7、可行性研究的主要任务是()。

A.确定系统做什么

B. 确定性能

C.确定功能

D. 进行一次简要的需求分析

8、内容耦合是模块间最紧密的耦合,()是模块间最松散的耦合。

A.数据耦合 B.非直接耦合 C.控制耦合 D.外部耦合

9、面向对象是“先”确定()“后”()。

A.属性/方法

B.数据结构/方法

C. 动作的主体/执行动作

D.动作

10、UML是一种()语言。

A.高级编程

B.可视化建模

C.分析方法

D.过程

11、软件工程强调将()的方法应用于软件的开发和维护过程之中。

A.规范化

B.系统化

C.可度量

D.以上全部

12、软件开发活动的顺序应该是()。

A.问题定义、可行性研究、需求分析、设计、编码和测试。

B.问题定义、设计、可行性研究、编码和测试。

C.需求分析、设计、编码和测试。

D.需求分析、编码和测试、试运行。

13、假定银行的存款年利率是2%,请问现在存5000元,两年后价值应为()元。

A.5202

B.4500

C.5100

D.4712

14、系统物理模型用()表示。

A.系统流程图

B.数据流程图

C.程序流程图

D.E-R图

15、关于软件需求特性不正确的描述是“软件需求具有()”。

A.多变性

B.模糊性

C. 准确性

D.主观性

16、DFD中的每个加工至少需要()

A.一个输入流

B.一个输出流

C.一个输入或输出流

D.一个输入流和一个输出流

17、PDL是描述处理过程()。

A.做什么

B.为什么做

C.怎么做

D.对谁做

18、当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为()

A.数据耦合 B.公共耦合 C.标记耦合 D.内容耦合

19、按照模块独立性,耦合程度由强至弱正确的顺序是()。

A.数据耦合、控制耦合、外部耦合、内容耦合

B.控制耦合、数据耦合、内容耦合、外部耦合

C.内容耦合、外部耦合、控制耦合、数据耦合

D.外部耦合、内容耦合、数据耦合、控制耦合

20、UML 中,包图是一种()。

A.集合

B.数据结构

C.分组机制

D.对系统的动态描述

21、反映收发消息的对象的组织结构,用于描述系统的行为是如何有系统的成分协作实现的是()。

A.顺序图

B.类图

C.合作图

D.组件图

22、面向对象分析和设计的界限是(),从分析到设计是一个逐渐扩充模型的过程。

A.清晰的

B.模糊的

C.非线性的

D.确定的

23、动态模型描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统“控制”特性。面向对象方法中,常用()实现。

A.状态图

B.交互图

C.活动图

D.以上全部

24、不适合作为数据处理与数据库应用的语言是()

A. SQL

B. Cobol

C. 4GL

D. Lisp

25.软件工程中,只根据程序的功能说明而不关心程序内部逻辑的测试方法,称为()测试。

A.白盒法

B.灰盒法

C.黑盒法

D.综合法

26、程序设计语言的技术特性不应包括()。

A.数据结构的描述性

B.抽象类型的描述性

C.数据库的易操作性

D.软件的可移植性

27、以下哪种测试方法不属于白盒测试技术()。

A.语句覆盖测试

B.边界值分析测试

C.条件覆盖测试

D.判断覆盖测试

28、软件测试的主要特点是()。

A.软件测试的开销不大 B.软件测试要依靠工具

C.软件不能进行“穷举”测试 D.软件测试要依靠人工

29、在软件生存期的维护阶段,继续诊断和修正错误的过程称为()。

A.完善性维护

B.适应性维护

C.预防性维护

D.改正性维护

30、不属于软件项目管理的是()。

A.开发机构能力评估

B.项目风险评估

C.质量监控

D.软件销售利润

31、用()模型描述和分析业务流程。

A.静态

B.业务

C.数据

D.动态

32、用()描述系统与角色之间的接口。

A. 表单

B.界面类

C.窗体

D.对话框

33、对类进行详细设计,主要是设计类的(),优化类之间的关系。

A. 数据结构

B.处理流程

C. 属性和方法

D.算法

34、面向对象设计强调定义(),并且使它们相互协作来满足用户需求。

A.软件对象

B.物理模型

C.E-R模型

D.接口

35、软件测试的目标是设计优秀的测试用例()。

A.最快速地找出程序中的问题

B.以最小的代价、在最短的时间内尽可能多地发现软件中的错误

C.保障程序的正确性

D.区分出程序员的编程水平

36、()不符合软件测试原则。

A.对每个测试结果进行检查,不漏掉已经出现的错误迹象

B.程序员应该仔细测试自己编写的程序代码

C.程序员要避免测试自己编写的程序代码

D.测试工作越早开始越好

37、引起软件改变的原因主要有()。

A.运行环境变化

B. 需求变化

C.系统有错

D.以上全部

38、()针对开发过程中的程序、数据、文档提出使用和管理策略。

A.组织管理 B.过程管理 C.软件配置管理 D.风险管理

39、现在人们更强调程序代码的()。

A.可维护性

B.可移植性

C.可扩充性

D.高效性

40、程序的三种基本控制结构,包括顺序结构、()和循环结构。

A.判断结构

B.说明结构

C.输入结构

D.输出结构

41、软件、程序和代码是()。

A.相同的软件概念

B.程序语言写的代码

C.计算机代码和数据

D. 三个不同的概念

42、下面哪个选项不是软件工程研究的内容()。

A. 生产无故障的软件

B. 精通一门编程语言

C.生产满足用户需求的软件

D.生产及时交付的软件

43、SW-CMM是一种()规范。

A.编程规范

B.软件工作通用模型

C.软件设计模型

D.软件成熟度模型

44、可行性研究实质上是在较高层次上、以较抽象的方式进行()的过程。

A.详细软件设计

B.需求分析过程

C.深入的需求分析

D.测试设计

45、与传统行业的生产相比较,软件的需求具有()。

A.主观性

B.稳定性

C.明确性

D.客观性

46、源程序的效率与()阶段确定的算法的效率直接有关。

A.概要设计 B. 总体设计 C. 单元设计 D. 详细设计

47、画DFD 图的主要目的是()。

A.作为需求分析阶段用户与开发者之间交流信息的工具

B.对系统的数据结构进行描述

C.对目标系统的层次结构进行描述

D.作为编码和测试的工具

48、耦合度最高的是()。

A.外部耦合

B.内容耦合

C.控制耦合

D.数据耦合

49、为了提高模块的独立性,模块之间最好是()。

A. 控制耦合

B. 公共耦合

C. 内容耦合

D. 数据耦合

50、UML是一种()。

A.建模工具

B.可视化的程序设计语言

C.可视化的建模语言

D.过程

51、美国卡内基﹒梅隆大学制定的SW-CMM是()。

A.软件工作规范

B.软件工作流描述

C.软件成熟度模型

D.软件描述的一般方法

52、螺旋模型是一种考虑了()的软件开发模型。

A.效率

B.风险判断

C.可移植性

D.安全性

53、可行性研究的四大要素是()。

A.经济、技术、法律和社会环境

B.经济、技术、开发组织能力和领导者水平

C.经济、技术、计算机硬件环境和网络带宽

D.经济、技术、软件开发工具和人员的稳定性

54、软件调研报告是在()提交的。

A. 可行性分析之前

B. 需求分析之前

C.签合同之前

D.设计的时候

55、描述软件需求通常不用哪个工具()。

A.数据流程图

B.数据字典

C.模块结构图

D.E-R图

56、软件结构图中没有()元素。

A.模块B.调用参数C.返回结果D.判断

57、程序流程图与数据流程图的关系()。

A.不确定B.数据流程图可以转换成程序流程图

C.数据调用关系D.程序流程图可以转换成数据流程图

58、包含关系用于构造多个用例()。

A. 关系

B.共性的部分

C.角色

D.特殊活动

59、如果说用例F被用例T扩展,意思是()。

A.F是一个一般用例,T是一个特殊用例

B.F是一个特殊用户,T是一个一般用例

C.都是一般用例

D.都是特殊用例

60、用()对需要长久保存的信息进行建模。

A.实体类

B.数据库表

C.E-R图

D.对象类

61、面向对象程序设计的基本机制()。

A.继承

B.消息

C.方法

D.结构

62.表示对象相互行为的模型是()模型。

A. 动态模型

B. 功能模型

C. 对象模型

D. 状态模型

63、对象模型描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结

构。在面向对象方法中,由()实现。

A.顺序图

B.类图

C.状态图

D.组件图

64、对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。

A.结合 B.隐藏 C.封装 D.抽象

65、面向对象设计的步骤中,正确的顺序是()。

A.系统构架设计、用例设计、类设计

B.系统构架设计、数据库设计和用户界面设计

C.类设计、用例设计、构架设计

D.用例设计、构架设计、类设计

66、软件维护过程中产生的副作用,一般是由()引起的。

A.算法说明

B.修改程序

C.优先级

D.环境要求

67、项目计划活动的主要任务是()。

A.估算项目的进度

B.分配工作量

C.计划资源使用

D.以上全部

68、如果程序代码的()好,则调试的成本就可以大幅度降低。

A.性能比

B. 可扩充性

C. 可读性

D.可移植性

69、两个浮点数X0和X1比较相等时,应该用()比较。

A.X0==X1

B.X1-X0<ε

C. |X0-X1|<ε

D.X0=X1

70、瀑布模型存在的问题是()。

A.用户容易参与开发B.适用可变需求 C.用户与开发者易沟通 D.缺乏灵活性

71、面向对象设计首先要确定系统的总体结构和风格,构造系统的()。

A.逻辑模型

B.物理模型

C.数据模型

D.用例模型

72、面向对象设计的步骤中,正确的顺序是()。

A.系统构架设计、用例设计、类设计

B.系统构架设计、数据库设计和用户界面设计

C.类设计、用例设计、构架设计

D.用例设计、构架设计、类设计

73、类有3种类型,即()。

A.边界类、实体类、控制类

B.实体类、控制类、界面类

C.控制类、实体类、虚类

D.界面类、控制类、公共类

74、()是一般化类与特殊化类之间的一种关联形式,设计时应该适当使用这种耦合。

A.消息连接

B.参数传递

C.方法重写

D.继承

75、结构化程序设计主要强调的是()。

A.程序的规模

B.程序效率

C.程序语言的先进性

D.程序易读性

76、程序的三种基本控制结构,包括顺序结构、()和循环结构。

A.条件/判断结构

B.说明结构

C.输入结构

D.输出结构

77、一般性的软件其测试工作量大约占整个开发工作量的()。

A.小于10%

B.40%

C.90%

D.大于100

78、下面哪些测试方法属于黑盒测试()。

A.路径测试 B.等价类划分 C.条件判断 D.循环测试

79、软件特性中,相互矛盾的是()。

A.可理解性与可测试性

B.效率与可修改性

C.可修改性和可理解性

D.可理解性与可读性

80、()针对开发过程中的程序、数据、文档提出使用和管理策略。

A.组织管理 B.过程管理 C.风险管理 D.软件配置管理

二、简答题

1、请说明快速原型化模型的基本思想。

2.软件工程为什么要强调规范化和文档化?

3、请举例说明用例之间的包含关系和扩展关系的区别?

4.简述在项目开发时选择程序设计语言的主要考虑的因素。

5.设计下列伪程序的条件组合覆盖测试用例。

BEGIN

INPUT(x,y,z)

IF(y>1) AND (z=0) THEN

x=x/y

END IF

IF(y=2) OR(x=l) THEN

x=x+l

END IF

PRINT(x)

END

6、请给出软件工程七条基本原理中的任意6条基本原理。

7、结构化程序设计的特征是什么?

8、软件需求可以分为业务需求、用户需求、功能需求和非功能需求,请分析业务需求与功能需求的区别?

9、简述模块独立性,内聚与耦合。

10、请为下面的程序设计符合判定覆盖的测试用例。

int main()

{

int a,b,c,x,y,z,t;

scanf(“d%,d%,d%),&a,&b,&c,&t);

if a>5 && t<1 x=10 else x=1;

if b>10 y=20 else y=2;

if c>15 z=30 else z=3;

pri ntf(“d%,d%,d%\n”,x,y,z)

}

11、什么是软件危机?试简述至少3种软件危机的典型表现。

12、试分析结构化方法存在的主要问题是什么?

13、面向对象的分析通常要建立三个模型,请问三个模型的作用?

14、为了提高软件的可维护性,在软件开发过程的各个阶段要充分考虑软件的可维护性因素。

15、设计下列伪程序的语句覆盖测试用例。

BEGIN

INPUT(A,B,C)

IF A>5 THEN

X=10

ELSE

X=1

END IF

IF B>10 THEN

Y=20

ELSE

Y=2

END IF

IF C>15

THEN Z=30

ELSE Z=3

END IF

PRINT(X,Y,Z)

END

16、简述软件过程模型

17. 简述结构化分析的主要步骤

18.衡量模块独立性的两个标准是什么?它们各表示什么含义?

19. 活动图与状态图的区别?

20、一个程序片段如下,请设计符合判定覆盖的测试用例。

if (a>=5) && (b<0) {

c=a+b;

else

c=a-b;

if (c>5) || (c<1)

printf(“c不在计算区域\n”)

else

printf(“%d\n”, c);

三、应用题

1、学校教师工资管理系统的需求描述如下:教师每月末将本月的工作量输入到系统中,学院负责人对教师输入的工作量进行审核,财务部门对审核后的工作量计算本月工资,本月工资=基本工资+各种补贴+工作量奖金-税收-保险一公积金金。基本工资、各种补贴、

保险、公积金信息由人事处负责输入和维护,教师可以查询月工资明细。银行系统每月从本系统读入每位教师的实发工资,并向每位教师的银行卡帐户打入月工资。教师可以查询自己银行卡的金额。

请针对上面描述的需求画出数据流程图。

2、用用例图描述图书管理。该系统主要包括三类用户:读者、图书管理员、系统管理员。其中,读者是多个,图书管理员是一个,系统管理员是一个。对于系统,读者可以查询自己的借阅情况、分门别类的查询图书和在规定期限内续借不能超过一次操作的情况下进行自行登录续借书等。图书管理员主要是日常操作以下几个工作环节:图书订购、新书验证、书目录入、图书登记、读者信息管理、借阅书登记、图书信息注销和读者信息注销等,而系统管理员统筹管理图书的系统相关事宜,比如权限维护、日志维护、增删用户和管理系统后台数据等。

3、某企业的设备维修委托给专业的技术公司完成,现在要开发软件对设备维修信息进行管理,具体描述如下:

车间主任填写维修申请单,内容有设备名称、型号、故障描述、维护时间要求、预计费用;填好后交给审计人员,审计人员根据企业的审计规定对维修申请单进行审计,填写审计意见和审计结果,审计意见可以修改费用,审计结果是同意或不同意;车间主任可以随时查询审计意见和结果;审计通过的维修申请单送给总经理进行审核,并填写审核意见和结果,审核也是以修改费用,审核结果是同意或不同意。审核通过后,车间把设备送去维修。维修后由车间主任组织对设备维修结果进行验收,企业对每台有设备验收标准。验收通过后,由财务人员进行结算,填写支付单并支付维修费。最后收取发票后,财务人员填写发票记录。

请画出设备维修信息管理软件的数据流程图。

4、现在有一个医院病房监护系统,请根据用户需求建立系统的Use Case模型。用户提出的系统功能要求如下:在医院病房监护系统中,病症监视器安置在每个病房,将病人的病症信号实时传送到中央监视系统进行分析处理。在中心值班室里,值班护士使用中央监视系统对病员的情况进行监控,根

据医生的要求随时打印病人的病情报告,系统会定期自动更新病历。当病症出现异常时,系

统会立即自动报警,通知值班医生及时处理,同时立即打印病人的病情报告,立即更新病历。请按上述描述,画出系统的用例图。

软件工程考试题一答案

一、选择题,请从四个可选项中选择正确答案。

答案

1. B

2.A

3. C

4. A

5.D

6. D

7.A

8. B

9. C 10. B

11.D 12.A 13.A 14.A 15.C

16.D 17.C 18.D 19.A 20.C

21.C 22.C 23.D 24.D 25.C

26.D 27.B 28.C 29.D 30.D

31. D 32. B 33.C 34. A 35.B

36. B 37.D 38.C 39. A 40. A

41.D 42.B 43.D 44.B 45.A

46.D 47.A 48.B 49.D 50.A

51.C 52.D 53.A 54.B 55.C

56. D 57.A 58.B 59.A 60.C

61.A 62.A 63.B 64.C 65.A

66.B 67.D 68.C 69.C 70.D

71.B 72.A 73.B 74.D 75.D

76. A 77.B 78.B 79.B 80.D

二、简答题

1、答案

在需求分析的同时,以比较小的代价快速建立一个能够反映用户主要需求的原型系统。用户在原型系统上可以进行基本操作,并且提出改进意见,分析人员根据用户的意见完善原型,然后再由用户评价,提出建议,如此往复,直到开发的原型系统满足了用户的需求为止。基于快速原型化模型的开发过程基本上是线性的,从创建系统原型到系统运行,期间没有反馈环。这是由于开发人员是在原型的基础上进行系统分析和设计,而原型已经通过了用户和开发组的审查,在设计阶段由于有原型作设计参考,所以设计的结果正确率比较高。

评分标准:原型描述基本正确6分。

2、答案

(1)软件工程强调规范化和文档化。规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。

(2)文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。

评分标准:每条3分

3、答案

包含关系用于构造多个用例共同的活动。例如,在ATM系统中,取钱、查询、更改密码等功能都需要验证用户密码。这种情况下应该将密码验证功能独立出来,便于复用、减少冗余。一个用例扩展另一个用例的功能,例如,在图书馆信息管理系统中,读者还书时,系统检查所还图书是否有预订记录,如果有则执行“通知”用例。

评分标准:包含关系3分;扩展关系3分。

4.答案

●编程人员的水平和编程经历;

●待开发的软件类型;

●算法和计算复杂性;

●数据结构的复杂性;

●软件的开发成本和时间要求;

●软件可移植性要求;

●可用的软件工具。

评分标准:答对其中任意六项,每项1分。

5、答案

条件组合覆盖标准为,使得每个判定表达式中条件的各种可能组合都至少出现一次。

本程序中共有两个判定表达式,每个判定表达式中有两个简单条件,因此,总共有8种可能的条件组合,它们是:

y>1, z=0

y>1, z<>0

y<=1, z=0

y<=1, z<>0

y=2, x=1

y=2, x<>1

y<>2, x=1

y<>2, x<>1

条件组合覆盖设计测试用例:

实现1,6两种条件组合

输入:x=4,y=2, z=0;

实现 2,5两种条件组合

输入:x=1,y=2, z=1;

实现 3,8两种条件组合

输入:x=2 ,y=1, z=0;

实现 4,7两种条件组合

输入:x=1,y=1, z=1.

评分标准:分析2分,每测试用例各1分。

6. 答案

原理1.用分阶段的生命周期计划严格管理

原理2.坚持进行阶段评审

原理3.实行严格的产品控制

原理4.采用现代程序设计技术

原理5.结果应能清楚地审查

原理6.开发小组的人员应该少而精

原理7.承认不断改进软件工程实践的必要性

评分标准:每个原理1分

7、答案

结构化程序设计的特征如下:程序模块只有一个入口和一个出口、程序中只包含顺序、条件和循环三种控制结构。

评分标准:6分。

8、答案

业务需求是用户高层领导机构决定的,它确定软件的目标、规模和范围。业务需求一般在进行需求分析之前就应该确定,需求分析阶段要以此为参照制定需求调研计划、确定用户核心需求和软件功能需求。业务需求通常比较简洁,大约三~五页纸就可以描述清楚,也可以将它直接作为需求规格说明书中的一部分。

功能需求定义了软件开发人员必须实现的软件功能。用户从他们完成任务的角度对软件提出了用户需求,这些需求通常是凌乱的、非系统化的、有冗余的,开发人员不能据此编写程序。软件分析人员要充分理解用户需求,将用户需求整理成软件功能需求。开发人员根据功能需求进行软件设计和编码。

评分标准:业务需求和功能需求各占3分。

9、答案

模块独立性, 是指软件系统中每个模块只涉及软件要求的具体的子功能, 而和软件系统中其它的模块的接口是简单的。一般采用两个准则度量模块独立性。即模块间耦合和模块内聚。耦合是模块之间的互相连接的紧密程度的度量。内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。模块独立性比较强的模块应是高内聚低耦合的模块。评分标准:正确模块独立性(2分);正确说明内聚概念(2分);正确说明耦合概念(2分)

10、答案

a>5,t=0

a<=5,t=0

b>10

b<=10

c>15

c<=15

测试用例(不唯一):a=6 t=0 b=11 c=16; a=5 t=0 b=10 c=15

评分标准:只要写出条件,不管测试用例是否给出都给3分;两组测试用例各占3分。

11、答案

(1)软件危机是指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。

(2)典型表现:

●开发费用和进度难以估算和控制,大大超过预期的资金和规定日期;

●软件需求分析不够充分,用户不满意“已经完成”的软件系统。

●软件质量难于保证;

●软件维护困难;

●通常没有保留适当的文档资料

●开发成本逐年上升;

●软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势

评分标准:概念3分,表现3分(每条1分)。

12、答案

1)结构化方法分析和设计阶段所应用的模型之间存在鸿沟。分析阶段的主要模型是数

据流程图,设计阶段的主要模型是软件模块结构图,数据流程图和软件模块结构图

之间需要进行转换。不同的人转换出的模块图可能不同,有很大的随意性。

2)需求分析的细化程度没有标准,只能凭借分析人员的经验自己把握;需求分析的过

程是在一种瀑布形式,当需求变更时,功能变化就会导致软件模块结构发生变化,造成了软件结构不稳定。

3)结构化程序设计将数据定义与处理数据的过程相分离,不利于软件复用。

4)结构化方法设计的软件结构不稳定,缺乏灵活性,可维护性差。

评分标准:只要回答出以上三点即给6分。

13、答案

a)功能模型:表达系统的详细需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由用例图和场景描述组成。

b)对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。在面向对象方法中,类图是构建对象模型的核心工具。

c)动态模型:描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制”特性。面向对象方法中,常用状态图、顺序图、合作图、活动图构建系统的动态模型。

14、答案

(1)在需求分析阶段应该明确维护的范围和责任,检查每条需求,分析维护时这条需求可能需要的支持,对于那些可能发生变化的需求要考虑系统的应变能力。

(2)在设计阶段应该做一些表更实验,检查系统的可维护性、灵活性和可移植性,设计时应该将今后可能变更的内容与其他部分分离出来,并且遵循高内聚、低耦合的原

则。

(3)编码阶段要保持源程序与文档的一致性、源程序的可理解性和规范性。

(4)在测试阶段测试人员应该按照需求文档和设计文档测试软件的有效性和可用性,收集出错信息并进行分类统计,为今后的维护打下基础。

评分标准:每条1.5分。

15、答案

因为每个判定表达式为真或假时均有赋值语句,为了使每个语句都至少执行一次,总共需要两组测试数据,以便使得每个判定表达式取值为真或假各一次。下面是实现语句覆盖的典型测试用例:

(1)使3个判定表达式之值全为假

输入:A=1,B=1,C=1

预期的输出:X=1,Y=2,Z=3

(2)使3个判定表达式之值全为真

输入:A=20,B=40,C=60

预期的输出:X=10,Y=20,Z=30

评分标准:分析2分,每个用例各2分。

16、答案

(1)软件过程是人们开发和维护软件及相关产品的活动、方法、实践和改进的集合。

它明确定义软件过程中所执行的活动及其顺序,确定没一个活动内容和步骤,定

义每个角色和职责。

(2)软件工程将软件开发和维护的过程概况为8个大的活动:问题定义、可行性研究、需求分析、总体设计、详细设计、编码、系统测试和运行维护。

评分标准:每条3分。

17. 答案

(1)根据用户的需求画出初始的数据流程图,写出数据字典和初始的加工处理说明(IPO 图),实体关系图。

(2)以初始数据流程图为基础,从数据流程图的输出端开始回溯。在对数据流程图进行回溯的过程中可能会发现丢失的处理和数据,应将数据流程图补充完善。

(3)对软件性能指标、接口定义、设计和实现的约束条件等逐一进行分析。

(4)系统分析人员与用户一起对需求分析的结果进行复查。

(5)根据细化的需求修订开发计划。

(6)编写需求规格说明书和初始的用户手册,测试人员开始编写功能测试用的测试数据。评分标准:每条1分。

18.答案

(1)两个定性的度量标准:耦合与内聚性。

(2)耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。

(3)内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。模块内元素联系越紧密,内聚性越高。

评分标准:每条2分。

19. 答案

(1)描述的重点不同:活动图描述的是从活动到活动的控制流;状态图描述的是对象的状态及状态之间的转移。

(2)使用的场合不同:在分析用例、理解涉及多个用例的工作流、处理多线程应用等情况下,一般使用活动图;在显示一个对象在其生命周期内的行为时,一般使用状态

图。

评分标准:每条3分。

20、答案

判断覆盖标准为,不仅使条语句都至少执行一次,还要使程序中每个分支都至少执行一次。也就是说,设计的测试用例使每个判定都有一次取“真”和“假”的机会。

测试用例(不唯一):a=16 t=0 b=11 c=16;a=5 t=0 b=10 c=15

评分标准:分析2分,每个测试用例各占2分。

三、应用题

1.答案

评分标准:只要画出工作量输入、审核、计算工资、工资入卡、基本信息管理和查询明细的基本流程就给满分,缺一个减1分;所用符号错误减2分,流程不通减2分。

2答:参考答案

3.答

IPO1

维修申请

DS2审计条款

车间主任

DS1申请记录

IPO2

审计

IPO3

总经理审核

DS3审计结果DS4审核结果

IPO4

查询结果

IPO6

结算

IPO7

验收

IPO5

发票管理

DS5付费标准

DS8验收结果DS9验收标准

总经理

车间主任

财务人员

DS6发票管理

DS7付费记录

申请

申请

记录

查询指令

申请

记录

审计条款

审计

结果

审计结果

审计

通过

审核

审核结果

审核

通过

验收

付费

标准

验收

结果

验收

标准

验收

通过

付费

记录

发票信息

结算

发票

信息

评分标准:只要画出申请、审计、审核、验收、结算和发票的基本流程就给满分,缺一个减1分;所用符号错误减2分,流程不通减2分。

4.答:参考答案

软件测试知识点总结

软件测试知识点总结 第一次课10.7软件测试概述 一软件测试定义:使用人工或者自动的手段来运行或测定它是否满足规定的需求,或弄预期结果与实际结果之间的差别。 二软件测试的分类 1.按照开发阶段划分 a)单元测试:模块测试,检查每个程序单元嫩否正确实现详细设计 说明中的模块功能等。 b)集成测试:组装测试,将所有的程序模块进行有序、递增的测试, 检验程序单元或部件的接口关系 c)系统测试:检查完整的程序系统能否和系统(包括硬件、外设和 网络、系统软件、支持平台等)正确配置、连接,并满足用户需 求。 d)确认测试:证实软件是否满足特定于其用途的需求,是否满足软 件需求说明书的规定。 e)验收测试:按项目任务或合同,供需双方签订的验收依据文档进 行的对整个系统的测试与评审,决定是否接受或拒收系统。 2.按照测试技术划分 白盒测试:通过对程序内部结构的分析、检测来寻找问题。检查是否所有的结构及逻辑都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。--结构测试 黑盒测试:通过软件的外部表现来发现错误,是在程序界面处进行

测试,只是检查是否按照需求规格说明书的规定正常实现。 灰盒测试:介于白盒测试与黑盒测试之间的测试。 3 按照测试实施组织划分:开发方测用户测试第三方测试 4 是否使备测软件运行:静态测试动态测试。 课后作业:1.软件测试与调试的区别? (1)测试是为了发现软件中存在的错误;调试是为证明软件开发的正确性。 (2)测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。 (3)测试是有计划的,需要进行测试设计;调试是不受时间约束的。(4)测试经历发现错误、改正错误、重新测试的过程;调试是一个推理过程。 (5)测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的"飞跃"。 (6)测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。 (7)大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。 2.对软件测试的理解? 软件测试就是说要去根据客户的要求完善它.即要把这个软件还

《软件测试基础》期末B卷及参考答案

成都东软信息技术学院 期末试题——软件测试基础(B卷) 题号一二三四五六总分 分数 说明:本试卷共六大题,试卷满分100分,考试时间120分钟,考试为开卷考试。 bd 题号 1 2 3 4 5 6 7 8 9 10 答案 B D A D C A A D B D 题号11 12 13 14 15 16 17 18 19 20 答案 C B D A D C B A D A 一、单项选择题;共20小题,每小题1 分,满分20分;请将答案填入题后括号中。 (说明:每题有且仅有一个正确答案) 1.软件测试的目的是( b ) (A)发现程序中的所有错误 (B)尽可能多地发现程序中的错误 (C)证明程序是正确的 (D)调试程序 2.下列___不属于测试原则的内容( d ) (A)软件测试是有风险的行为 (B)完全测试程序是不可能的 (C)测试无法显示潜伏的软件缺陷 (D)找到的缺陷越多软件的缺陷就越少 3.导致软件缺陷的最大原因是( a ) (A)编制说明书 (B)设计 (C)编码 (D)测试 4.修复软件缺陷费用最高的是____阶段:( d ) (A)编制说明书(B)设计 (C) 编写代码(D)发布 5.白盒测试是根据程序的____来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例。 ( c ) (A)功能 (B)性能 (C)内部逻辑 (D)内部数据 6.条件覆盖的目的是(a ) (A)使每个判定的所有可能的条件取值组合至少执行一次 (B)使程序中的每个判定至少都获得一次“真”值和“假”值。 (C)使程序中的每个判定中每个条件的可能值至少满足一次。

(D)使程序中的每个可执行语句至少执行一次。 7.一个程序中所含有的路径数与____有着直接的关系。( a ) (A) 程序的复杂程度 (B) 程序语句行数 (C)程序模块数 (D)程序指令执行时间 8.动态黑盒子测试:( d ) (A)直接测试底层功能、过程、子程序和库(B)可估算执行测试时代码量和具体代码 (C)从软件获得读取变量和状态信息的访问权(D)测试的是软件在使用过程中的实际行为 9.在自低向上测试中,要编写称为____的模块来测验正在测试的模块。 ( b ) (A) 测试存根 (B) 测试驱动模块 (C)桩模块 (D) 底层模块 10.下列___不是软件自动化测试的优点( d ) (A)速度快、效率高 (B)准确度和精确度高 (C)能提高测试的质量 (D)能充分测试软件 11.配置测试( c ) (A) 是指检查软件之间是否正确交互和共享信息 (B) 是交互适应性、实用性和有效性的集中体现 (C) 是指使用各种硬件来测试软件操作的过程 (D) 检查缺陷是否有效改正 12.下列各项中___不是一个测试计划所应包含的内容( b ) (A)测试资源、进度安排 (B)测试预期输出 (C)测试范围 (D)测试策略 13.下列不属于正式审查的方式是( d ) (A)同事审查 (B) 公开陈述 (C) 检验 (D) 编码标准和规范 14.在没有产品说明书时使用____:( a ) (A)探索测试 (B) 功能测试 (C) 动态测试 (D) 静态测试 15.调试是( d ) (A)发现与预先定义的规格和标准不符合的问题 (B)发现软件错误征兆的过程 (C)有计划的、可重复的过程 (D)消除软件错误的过程

软件测试技术知识点整理

一、软件测试的定义 软件测试是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。 1.软件测试与调试的区别 (1)测试是为了发现软件中存在的错误;调试是为证明软件开发的正确性。 (2)测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。(3)测试是有计划的,需要进行测试设计;调试是不受时间约束的。 (4)测试经历发现错误、改正错误、重新测试的过程;调试是一个推理过程。 (5)测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的"飞跃"。 (6)测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。 (7)大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。 2.对软件测试的理解 软件测试就是说要去根据客户的要求完善它.即要把这个软件还没有符合的或者是和客户要求不一样的,或者是客户要求还没有完全达到要求的部分找出来。 (1)首先要锻炼自己软件测试能力,包括需求的分析能力,提取能力,逻辑化思想能力,即就是给你一个系统的时候,能够把整个业务流程很清晰的理出。 (2)学习测试理论知识并与你锻炼的能力相结合。 (3)想和做。想就是说你看到任何的系统都要有习惯性的思考;做就是把实际去做练习,然后提取经验。 总结测试用例,测试计划固然重要,但能力和思想一旦到位了,才能成为一名合格的软件测试工程师。 二、软件测试的分类 1.按照测试技术划分 (1)白盒测试:通过对程序内部结构的分析、检测来寻找问题。检查是否所有的结构及逻辑都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。--结构测试 (2)黑盒测试:通过软件的外部表现来发现错误,是在程序界面处进行测试,只是检查是否按照需求规格说明书的规定正常实现。--性能测试 (3)灰盒测试:介于白盒测试与黑盒测试之间的测试。

2015--软件测试--期末重点复习资料

第一章 1.软件测试正反两方面的观点 正面观点:Bill Hetzel博士(软件测试领域的先驱,正向思维代表)主要观点是:软件测试是为了验证软件是否符合用户需求,即验证软件产品是否能正常工作。 反面观点:Glenford J. Myers(反向思维的代表): 观点:测试是为了证明程序有错,而不是证明程序无错误。 2.软件测试的定义 IEEE 的定义: ?在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价。 ?分析某个软件项以发现现存的与要求的条件之差别(即错误)并评价此软件项的特性。 正确的定义:软件测是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体。 3.软件测试在软件开发中的地位 软件开发是生产制造软件;软件测试是验证开发出来软件的质量。类比传统加工制造企业,软件开发人员就是生产加工的工人,软件测试人员就是质检人员。 关系应该是: 1、没有软件开发就没有测试,软件开发提供软件测试的对象。 2、软件开发和软件测试都是软件生命周期中的重要组成部分

3、软件开发和软件测试都是软件过程中的重要活动。 4、软件测试是保证软件开发产物质量的重要手段。(网上) 4.P11 V模型 第二章 1.软件缺陷 定义:IEEE STD 729(1983)对软件缺陷给出了一个标准的定义: 从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题。 从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。主要类型:软件缺陷的主要类型/现象有: ?功能、特性没有实现或部分实现; ?设计不合理,存在缺陷; ?实际结果和预期结果不一致; ?运行出错,包括运行中断、系统崩溃、界面混乱;

(完整word版)期末题库-软件测试答案

选择题 10×2分 1、软件是程序和(A)的集合。 A、文档 B、代码 C、测试用例 D、测试 2、软件工程中描述生存周期的瀑布模型一般包括计划、( A)、设计、编码、测试、维护等几个阶段。 A、需求分析 B、需求调查 C、可行性分析 D、问题定义 3、严重的软件缺陷的产生主要源自(A)。 A、需求 B、设计 C、编码 D、测试 4、以下不属于应用系统中的缺陷类型的是:(B) A、不恰当的需求解释 B、用户指定的错误需求 C、设计人员的习惯不好 D、不正确的程序规格说明 5、降低缺陷费用最有效的方法是(B)。 A、测试尽可能全面 B、尽可能早的开始测试 C、测试尽可能深入 D、让用户进行测试 6、测试环境中不包括的内容是(A) A、测试所需文档资料 B、测试所需硬件环境 C、测试所需软件环境 D、测试所需网络环境 7、软件调试的目的是(B) A、发现软件中隐藏的错误 B、解决测试中发现的错误 C、尽量不发现错误以便早日提交软件 D、证明软件的正确性 8、软件测试的目的是(A)难易度:2 A、发现软件中隐藏的错误 B、解决软件中隐藏的错误 C、尽量不发现错误以便早日提交软件 D、证明软件的正确性 9、下列关于测试和调试的说法中正确的是(B) A、测试和调试没有本质区别。目的都是为了发现软件系统中的错误。 B、测试是测试人员的职责,在整个测试活动中可以不需要开发人员的参与。

C、调试主要在软件的开发阶段进行。 D、调试一般不能确定程序中潜在错误发生的原因 10、从测试的要求来讲,如果想让测试完成的效果更好,测试部门与开发部门的关系最好是下面四种中的(D)。难易度:3 A、测试组织与开发组织为同一公司同一部门同一小组,并且测试人员与开发人员为同一组人员,即开发人员测试自己的程序。 B、测试组织与开发组织为同一公司同一部门同一小组,但测试人员与开发人员为不同人员。 C、测试组织与开发组织为同一公司,但不在同一部门。 D、测试组织与开发组织为不同公司。 11、某软件公司在招聘软件测试工程师时,应聘者甲向公司做如下保证: (1)经过自己测试的软件今后不会再出现问题 (2)在工作中对所有程序员一视同仁,不会因为某个程序编写的程序发现的问题多,就重点审查该程序,以免不利于团结 (3)承诺不需要其他人员,自己就可以独立进行测试工作 (4)发扬咬定青山不放松的精神,不把所有问题都找出来,绝不罢休根据自己所学的软件测试知识,应聘者甲的保证(D)难易度:3 A、(1)(4)是正确的 B、(2)是正确的 C、都是正确的 D、都是错误的 12、用不同的方法可将软件测试分为白盒法和黑盒法,或者(C)和静态测试。 A、白盒法 B、黑盒法 C、动态测试 D、灰盒法 13、黑盒测试法是根据程序的(C)来设计测试用例的。 A、应用范围 B、内部逻辑 C、功能 D、输入数据 14、验收测试的测试用例主要根据(A)的结果来设计。 A、需求分析 B、源程序 C、概要设计 D、详细设计 15、软件测试中白盒测试法是通过分析程序的(B)来设计测试用例的。 A、应用范围 B、内部逻辑 C、功能 D、输入数据 16、下列关于白盒测试与黑盒测试的说法中错误的是(C)。 A、用白盒测试来验证单元的基本功能时,经常要用黑盒测试的思考方法来设计测试用例

软件测试复习题

软件测试复习题 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

软件测试课程期末复习题 一、判断分析题(判断正误并分析说明)。 1、测试是为了验证该软件已正确地实现了用户的要求。(×) 2、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(×) 3、好的测试员不懈追求完美,力求做到穷举测试。(√) 4、软件测试的目的是尽可能多的找出软件的缺陷。(√) 5、单元测试能发现约80%的软件缺陷。(√) 6、自底向上集成需要测试员编写驱动模块程序。( √ ) 7、代码评审员一般由测试员担任。(× ) 8、发现错误多的程序模块,残留在模块中的错误也多。(√) 9、单元测试多采用白盒测试(结构性测试)技术。(√) 10、系统测试多采用白盒测试(结构性测试)技术。(×)(黑盒测试) 11、进行自底向上集成测试,需要为所测模块或子系统编制相应的驱动模块。(√) 12、软件测试的目的是证明软件没有错误。(×) 13、测试组负责软件质量。( ×) 14、软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。 (√ ) 15、测试程序仅仅按预期方式运行就行了。( ×) 16、不存在质量很高但可靠性很差的产品。( ×) 17、总是首先设计白盒测试用例。(×) 18、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(×) 19、黑盒测试方法中最有效的是因果图法。( √) 20、软件测试按照测试过程分为黑盒、白盒测试。(×) 21、白盒测试又称结构测试、逻辑驱动测试或基于程序的测试。(√) 22、黑盒测试是从用户观点出发的测试。(√)

23、白盒测试根据程序外部特征进行测试,黑盒测试根据程序内部逻辑结构进行测试。(×) 24、程序通过了全面的白盒测试,就不需要再进行黑盒测试了。(×) 25、对于同一个测试对象,等价类的测试用例数多于边界值的测试用例数。() 26、如果输入条件规定了取值范围,则可定义一个有效等价类和两个无效等价类。(√) 27、有n个变量的函数的健壮最坏情况测试用例的个数为:5的n次方。(√) 28、有n个变量的函数的健壮性测试用例的个数为:5n+1。(×) 29、有n个变量的函数的最坏情况测试会产生5的n次方个测试用例。(√) 30、有n个变量的函数的边界值分析会产生4n+1个测试用例(√) 31、语句覆盖是最弱的逻辑覆盖。(√) 32、判定覆盖不一定包含条件覆盖。(√) 33、判定/条件覆盖能同时满足判定、条件两种覆盖标准。(√) 34、详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。( √) 35、对于连锁型分支结构,若有n个判定语句,则有2n条路径。(√) 36、尽量采用复合的条件测试,以避免嵌套的分支结构。(√) 37、G OTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁。(√) 38、单元测试属于动态测试。 (× ) 39、单元测试需要从程序的内部结构出发设计测试用例。(√) 40、单元测试需要为每个基本单元开发驱动模块或桩模块。(√) 41、在面向对象语言语言中,单元测试是函数或子过程。() 42、单元测试又称为模块测试,是针对软件测试的最小单位-程序模块进行正确性检验的测试工作。(√) 43、验收测试是由最终用户来实施的。(×) 44、负载测试是验证要检验的系统的能力最高能达到什么程度。(×) 45、我们可以人为的使得软件不存在配置问题。(×) 46、可以发布具有配置缺陷的软件产品。( √)

软件测试的重要性讲解

软件测试的重要性讲解集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

软件测试的重要性 前言:软件迅猛发展凸现软件测试问题 随着软件业蓬勃发展,各种软件需求纷繁而来,在潮起潮落的IT洪流中,软件项目越来越凸现大型化、复杂化的发展趋势。几十人上百人的开发团队、成千上万的模块与接口、跨地域、跨系统的使用用户等情况早已屡见不鲜,所有这些,对项目质量管理提出了更高要求,如何满足各方需求,做出更好的软件系统测试管理逐渐成了大家目光的焦点。 软件的质量靠什么,靠管理、靠各个软件过程的严密配合。但勿庸置疑,质量的守护是靠测试。它就象一只看门狗,认真守护着软件质量这个“家”。 软件测试的重要性 测试是什么测试就是对项目开发过程的产品(编码、文档等)进行差错审查,保证其质量的一种过程。 软件业的迅猛发展也就是近几十年的过程,时间虽短,但许多误解似乎已根深蒂固,对测试的偏见也是如此。“软件的重点在于需求、在于分析、在于设计、在于开发,而测试,容易,没什么技术含量,找一些用户,对照需求尽力去测就行了;有时间多测点,没时间就少测点。”这种看法在许多项目经理、软件负责人的心中固守着,难以改变。

这种观念的结果有目共睹,是什么很简单,是大量软件BUG、缺陷的“流失”,从测试人员手中悄然而过,流失到用户手中,流失进项目维护阶段。随之而来的,便是用户无休止的抱怨、维护人员无休止的“救火”、维护成本无休止的增加。这是软件人员的梦魇! 恶梦总有醒来时,经过无数教训的重击,在不堪回首而不得回首的经历中,软件业的管理者发现:是他们错了,软件测试是不可忽视的。 “所有这些问题,假如在项目中测试到的话,便不会有造成不可收拾的结果了。”――人们终于意识到测试简单而纯真的真谛。 软件测试 软件测试从直观上来讲是对测试对象进行检查、验证,似乎很简单,但实际不然,它是由许多处理环节构成的。根据测试目标、质量控制的要求,它被划分为以下各类环节(如下图),并被设置了不同的准入、准出标准。 测试的主要过程及活动如上图所示,内容一目了然,在此就不一一详述了,只希望通过对测试重点问题、关注热点的介绍,帮助大家对测试管理有一个总体的把握。 测试方式中普遍存在的问题与点评 谈到测试,我们无法回避的是当前软件过程普遍存在的测试问题:

软件测试方法和技术重点和试题与答案

太原理工大学软件测试技术 适用专业:软件工程2011级考试日期:2014.1 时间:120 分钟 一、判断题 1. 测试是调试的一个部分(╳) 2. 软件测试的目的是尽可能多的找出软件的缺陷。(√ ) 3. 程序中隐藏错误的概率与其已发现的错误数成正比(√ ) 4. Beta 测试是验收测试的一种。(√ ) 5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ ) 6. 项目立项前测试人员不需要提交任何工件。(╳) 7. 单元测试能发现约80%的软件缺陷。(√ ) 8. 测试的目的是发现软件中的错误。(√ ) 9. 代码评审是检查源代码是否达到模块设计的要求。(√ ) 10. 自底向上集成需要测试员编写驱动程序。(√ ) 11. 测试是证明软件正确的方法。(╳) 12. 负载测试是验证要检验的系统的能力最高能达到什么程度。(√ ) 13. 测试中应该对有效和无效、期望和不期望的输入都要测试。(√ )验收测试是由最终用户来实施的。(√ ) 14. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ )黑盒测试也称为结构测试。(╳)集成测试计划在需求分析阶段末提交。(╳) 15. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 16. 自底向上集成需要测试员编写驱动程序。(√) 17. 负载测试是验证要检验的系统的能力最高能达到什么程度。(╳) 18. 测试程序仅仅按预期方式运行就行了。(╳) 19. 不存在质量很高但可靠性很差的产品。(╳) 20. 软件测试员可以对产品说明书进行白盒测试。(╳) 21. 静态白盒测试可以找出遗漏之处和问题。(√) 22. 总是首先设计白盒测试用例。(╳) 23. 可以发布具有配置缺陷的软件产品。(√) 24. 所有软件必须进行某种程度的兼容性测试。(√) 25. 所有软件都有一个用户界面,因此必须测试易用性。(╳) 26. 测试组负责软件质量。(╳) 27. 按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28. 好的测试员不懈追求完美。(×) 29. 测试程序仅仅按预期方式运行就行了。( ×) 30. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( √) 31. 静态白盒测试可以找出遗漏之处和问题。( √) 32. 测试错误提示信息不属于文档测试范围。( ×)

软件测试复习题(2014-2015-2)

软件测试课程期末复习题 ???????????????????????????????? 一、判断分析题(判断正误并分析说明)。 1、测试是为了验证该软件已正确地实现了用户的要求。(×) 2、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(×) 3、好的测试员不懈追求完美,力求做到穷举测试。(√) 4、软件测试的目的是尽可能多的找出软件的缺陷。(√) 5、单元测试能发现约80%的软件缺陷。(√) 6、自底向上集成需要测试员编写驱动模块程序。( √ ) 7、代码评审员一般由测试员担任。(× ) 8、发现错误多的程序模块,残留在模块中的错误也多。(√) 9、单元测试多采用白盒测试(结构性测试)技术。(√) 10、系统测试多采用白盒测试(结构性测试)技术。(×)(黑盒测试) 11、进行自底向上集成测试,需要为所测模块或子系统编制相应的驱动模块。(√) 12、软件测试的目的是证明软件没有错误。(×) 13、测试组负责软件质量。( ×) 14、软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。 (√ ) 15、测试程序仅仅按预期方式运行就行了。( ×) 16、不存在质量很高但可靠性很差的产品。( ×) 17、总是首先设计白盒测试用例。(×) 18、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(×) 19、黑盒测试方法中最有效的是因果图法。( √) 20、软件测试按照测试过程分为黑盒、白盒测试。(×) 21、白盒测试又称结构测试、逻辑驱动测试或基于程序的测试。(√) 22、黑盒测试是从用户观点出发的测试。(√)

23、白盒测试根据程序外部特征进行测试,黑盒测试根据程序内部逻辑结构进行测试。(×) 24、程序通过了全面的白盒测试,就不需要再进行黑盒测试了。(×) 25、对于同一个测试对象,等价类的测试用例数多于边界值的测试用例数。() 26、如果输入条件规定了取值范围,则可定义一个有效等价类和两个无效等价类。(√) 27、有n个变量的函数的健壮最坏情况测试用例的个数为:5的n次方。(√) 28、有n个变量的函数的健壮性测试用例的个数为:5n+1。(×) 29、有n个变量的函数的最坏情况测试会产生5的n次方个测试用例。(√) 30、有n个变量的函数的边界值分析会产生4n+1个测试用例(√) 31、语句覆盖是最弱的逻辑覆盖。(√) 32、判定覆盖不一定包含条件覆盖。(√) 33、判定/条件覆盖能同时满足判定、条件两种覆盖标准。(√) 34、详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。( √) 35、对于连锁型分支结构,若有n个判定语句,则有2n条路径。(√) 36、尽量采用复合的条件测试,以避免嵌套的分支结构。(√) 37、G OTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁。(√) 38、单元测试属于动态测试。 (× ) 39、单元测试需要从程序的内部结构出发设计测试用例。(√) 40、单元测试需要为每个基本单元开发驱动模块或桩模块。(√) 41、在面向对象语言语言中,单元测试是函数或子过程。()

软件测试重点试题及答案

程序员所做的测试工作并非真正意义上的软件测试,从本质上来说,应该称作“调试“。调试就是,在已知错误的情况下,对软件程序代码作出一系列检查,校正的过程。而软件测试则是在未知错误的情况下,检查程序代码是否有问题的过程。 1.2.2 软件测试的定义 a. 软件是一个集合,包括三部分:程序代码,文档,数据。 b. 软件测试就是为了发现错误而审查软件文档、检查软件数据和执行程序代码的过程,其目的在于在软件交付使用前充分发现缺陷并协助相关部门定位、解决缺陷,最后交付一个高质量的软件给用户。 c. 从广义上讲,软件测试是指软件产品生存周期内的所有检查、评审和确认活动。如设计评审、文档审查、单元测试、集成测试、系统测试、验收测试等。 d. 软件测试中称找缺陷的过程为找Bug。Bug表示电脑系统或程序中隐藏的错误、缺陷和问题。 一切不完美的地方,我们都可以认为其实一个Bug。 1.2.3 软件测试分类 (1)一般的,我们将软件测试活动分为以下几类:黑盒测试、白盒测试、灰盒测试、静态测试、动态测试、手动测试、自动测试等。 1)黑盒测试 黑盒测试又叫做功能测试、数据驱动测试或基于需求规格说明书的功能测试。该测试类型注重于测试软件的功能性需求。 测试工程师无需了解程序代码内部结构,完全模拟软件产品的最终用户使用该软件,检查软件产品是否达到了用户的需求。 2)白盒测试 白盒测试又称为结构测试、逻辑驱动测试或基于程序代码内部构成的测试。 测试工程师将深入考察程序代码的内部结构,逻辑设计等。 3)灰盒测试 灰盒测试是前两种测试的集合,一方面考虑程序代码的功能性表现,另一方面又要考虑程序代码内部结构。 像我们的功能测试,自动化功能测试就采用了灰盒测试的方法。 4)静态测试 静态测试,顾名思义,就是静态的、不执行被测对象程序代码而寻找缺陷的过程。通俗的讲,静态测试就是用眼睛看,阅读程序代码、文档资料等,与需求规格说明书中的客户需求进行比较,找出程序代码中设计不合理以及文档资料有错误的地方。 一般在企业、公司里召开正规的评审会,通过评审的方式,找出文档资料、程序代码中存在缺陷的地方,并加以修改。 在进行代码静态测试时,可以使用代码走查工具,如QA C++、C++Test等。 5)动态测试 动态测试即为实际的执行被测试对象代码,输入事先设计好的测试用例,检查程序代码运行的结果与测试用例中设计的预期结果之间是否有差异,判定实际结果与预期结果是否一致,从而检查程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能状况。 动态测试由四部分组成:设计测试用例、执行测试用例、分析比较输出结果、输出测试报告。 6)手动测试

(答案整理)11《软件测试》复习

《软件测试》复习提纲 1.什么是软件测试?软件测试的意义? 软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程。 答案1:软件测试是为了发现错误而执行程序的过程。 答案2:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例运行程序,以及发现错误的过程。 意义:确保软件的功能符合用户的需求,把尽可能多的问题在发布或交付前发现并改正。 2.什么是软件缺陷?请举例。哪里出现的缺陷最多? 软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,未满足用户的需求。 举例:缺点(defect)异常(anomaly)偏差(variance)失败(failure)缺陷(bug)故障(fault)问题(problt)错误(error) 规格说明书出现的缺陷最多。 3.软件测试是否就是程序测试?哪些可以作为软件测试的对象? 不是。对象:程序、数据(库)、文档、服务 4.软件测试的目的是什么?软件测试的目标是什么?软件测试的原则是什么? 测试的目的就是发现软件中的各种错误和缺陷,但不是唯一目的,软件测试存在多种目的,其中最重要的三条为:(1)证明所做的是客户所需的(2)确保编码人员正确理解设计的意图(3)通过回归测试来保证目前运行的程序在将来仍然可以正常工作。 目标:确保软件完成了它所承诺或公布的功能;为软件的质量评估提供依据;确保软件满足性能的要求;确保软件是健壮的和适应用户环境,为软件质量改进和管理提供帮助原则:1.所有测试的标准都是建立在用户需求之上2.软件测试必须基于“质量第一”的思想去开展各项工作3.事先定义好产品的质量标准4.软件项目一启动,软件测试也就开始,而不是等程序写完才开始进行测试5.穷举测试时不可能的6.第三方进行测试会更客观更有效7.软件测试计划是做好软件测试工作的前提8.测试用例是设计出来的,不是写出来的9.对主观错误较多的程序段,应进行更深入的测试10.重视文档,妥善保管一切测试过程文档。 5.软件测试如何分类? 按照程序是否执行:静态测试(审查、评审和走查)、动态测试 按照测试用例的设计方法:白盒测试、黑盒测试 按照开发阶段划分:单元测试、集成测试、系统测试、验收测试 按照测试实施的组织划分:开发方测试、用户测试(β测试)、第三方测试 按照是否使用工具:手工测试、自动化测试

《软件测试基础》期末C卷及参考答案

安阳工学院 期末试题——软件测试基础(C卷) 说明:本试卷共六大题,试卷满分100分,考试时间120分钟,考试为开卷考试。 一、不定项选择题(每题2 分,共20分)请将答案填入题后括号中。 1.软件验收测试的合格通过准则是:( ) A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。 B. 所有测试项没有残余一级、二级和三级错误。 C. 立项审批表、需求分析文档、设计文档和编码实现一致。 D. 验收测试工件齐全。 2.软件测试计划评审会需要哪些人员参加?( ) A.项目经理 B.SQA 负责人 C.配置负责人 D.测试组 3.下列关于alpha 测试的描述中正确的是:( ) A.alpha 测试需要用户代表参加 B.alpha 测试不需要用户代表参加 C.alpha 测试是系统测试的一种 D.alpha 测试是验收测试的一种 4.测试设计员的职责有:( ) A.制定测试计划 B.设计测试用例 C.设计测试过程、脚本 D.评估测试活动 5.下面哪些属于动态分析( ) A. 代码覆盖率 B. 模块功能检查 C. 系统压力测试 D. 程序数据流分析 6.下面哪些属于静态分析( ) A、代码规则检查

B、程序结构分析 C、程序复杂度分析 D、内存泄漏 7.软件实施活动的进入准则是( ) A、需求工件已经被基线化 B、详细设计工件已经被基线化 C、构架工件已经被基线化 D、项目阶段成果已经被基线化 8.不属于单元测试内容的是() (A)模块接口测试(B)局部数据结构测试 (C) 路径测试(D)用户界面测试 9.软件测试设计活动主要有( ) A、工作量分析 B、确定并说明测试用例 C、确立并结构化测试过程 D、复审并评估测试覆盖 10.不属于集成测试步骤的是( ) A、制定集成计划 B、执行集成测试 C、记录集成测试结果 D、回归测试 二、填空题:共3小题10个空格,每个空格2分,满分20分;请将答案填入指定的空白处。 1.通过画因果图来写测试用例的步骤为___________________、___________________、 ___________________、把因果图转换为状态图和___________________及共五个步骤。 2.软件测试主要分为___________________、___________________、___________________、___________________四类测试。 3.软件缺陷产生的原因包括___________________、设计、___________________以及其他原因。 三、判断题:共10小题,每小题1分,满分10分;请将答案以“√”、“×”形式填入题后括号中。 1.软件测试的目的是尽可能多的找出软件的缺陷。( ) 2.Beta 测试是验收测试的一种。( ) 3.验收测试是由最终用户来实施的。( ) 4.项目立项前测试人员不需要提交任何工件。( ) 5.单元测试能发现约80%的软件缺陷。( ) 6.代码评审是检查源代码是否达到模块设计的要求。( ) 7.自底向上集成需要测试员编写驱动程序。( ) 8.负载测试是验证要检验的系统的能力最高能达到什么程度。( )

软件测试复习知识点

软件测试复习知识点 熟练掌握: 1.面向对象的单元测试中基于服务的测试策略 2.向对象中的基于状态测试的策略 3.软件测试与软件开发的关系 狭义定义测试:比如“程序设计”与“测试”之间的关系,传统上总以为程序设计在先,测试在后。这种专指测试程序代码,定义在编码之后的“测试”是一种狭义定义的测试。 广义定义测试:这种测试活动可以在软件开发生命周期的任何阶段进行。但是,随着开发不断地进行,越到后续阶段,找出错误并改正它的代价会越大 全新的软件开发模式:以测试驱动软件开发。软件测试贯穿了整个软件开发过程,软件开发生命周期的各个阶段中都少不了相应的测试,这种思想与软件质量保证的出发点是一致的。 4.系统测试的概念及其分类; 系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案。 1.用户层:①用户支持测试;②用户界面测试;③可维护测试;④ 安全性测试; 2.应用层:①性能测试;②系统可靠性、稳定性测试;③系统兼容 性测试;④系统组网测试;⑤系统安装升级测试; 3.功能层: 4.子系统层; 5.协议/指标层; 5.常见的黑盒测试用例的设计方法 黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。 ?在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完

最新软件测试期末复习资料

一、等价类划分 例题: 等价类测试用例的设计: ●弱一般等价类 ●强一般等价类 ●弱健壮等价类 ●强健壮等价类 函数f(x,y)有两个输入变量,x的取值范围是[10,30],y的取值范围[40,70] 根据需求: x的有效等价类为[10,20],[21,30],无效等价类<10,>30 y的有效等价类为[40,50],[51,60],[61,70]无效等价类<40,>70 1、弱一般等价类测试用例(x和y的有效等价类的值至少取一次即可) 测试用例编号X y 预期输出 15 45 25 55 15 65 2、强一般等价类测试用例(x和y的有效等价类的值做笛卡尔乘积) 测试用例编号X y 预期输出 15 45 15 55 15 65 25 45 25 55 25 65 3、弱健壮等价类(强一般等价类+其中一个变量取无效值,其他变量取有效值的情况)测试用例编号X y 预期输出 15 45 15 55 15 65 25 45 25 55 25 65 5 45 5 55 5 65 35 45 35 55 35 65 15 35 25 35 15 75 25 75

4、强健壮等价类(在弱健壮等价类的基础上+都取无效值的情况,只是针对两个变量)测试用例编号X y 预期输出 15 45 15 55 15 65 25 45 25 55 25 65 5 45 5 55 5 65 35 45 35 55 35 65 15 35 25 35 15 75 25 75 5 35 5 35 5 75 5 75 35 35 35 35 35 75 35 75 注册界面的需求如下: ●用户名和密码6-20的字母数字组合 ●邮箱满足xxx@xxx.xx格式 ●年龄必须是数字 写出有效等价类和无效等价类,再写出弱健壮等价类测试用例 有效等价类无效等价类 用户名1、6-20的字母数字组合5、全字母 6、全数字 7、<6位的字母数字组合 8、>20位的字母数字组合密码2、6-20的字母数字组合9、全字母 10、全数字 11、<6位的字母数字组合 8、>20位的字母数字组合

软件测试期末考试含答案

西华师范大学计算机学院2013 年度期末测试软件测试 A 卷(11+18+12+19+40=100 分) 一、单项选择(每空 1 分,共11 分) 1、执行函数测试时,当多次调用底层函数,底层模拟器的"模拟值"输入栏可 设定多个模拟值,一次最多可设置( C )个模拟值。 A 、1 B、3 C、6 D、11 2、当函数测试存在失败断言时,在白盒覆盖率信息窗口中VU 会显示一个 ( B )的条块来提示,没有失败断言时,会显示一个( A )的条块来显示;在逻辑结构窗口中,未覆盖的路径用( B )画出,已覆盖的路径用( A )画出,未覆盖的分支是( D )的条块。 A 、深绿色B、深红色C、浅蓝色D、粉红色E、浅绿色 3、VU 导出的测试报告文件格式为:(C ),表格化测试用例数据导出的文 件格式为:( E ) A 、*.pdf B、*.txt C、*.htm D、*.csv E、*.xls F、*.doc 4、在软件生命周期中的任何一个阶段,只要软件发生了改变,就可能给该软件 带来新的问题。软件的改变可能是源于发现错误并做好了修改,可能是因为在集成或维护阶段加入了新的模块,为了验证软件修改后的正确性需要进行( E )。 A 、白盒测试B、黑盒测试C、单元测试D、性能测试 E、回归测试 F、验收测试 5、当用底层模拟器去模拟被测单元调用的底层函数的输出函数,并且此输出 参数为指针数据类型,应该设置此参数的模拟值为( D )。 A 、指针值B、引用的地址C、指针指向的数据类型的值D、NULL 6、当用底层模拟器去模拟被测单元调用的底层函数的返回值,并且此输出参 数为指针数据类型,应该设置此参数的模拟值为( C )。 A 、指针值B、引用的地址C、指针指向的数据类型的值D、NULL 二、多项选择(每空 2 分,共18 分) 1、底层模拟能很好的解决(BCF )。 A 、集成测试问题B、装代码和数据失真C、测试不可控D、性能测试问题 E、内部输出的模拟 F、模拟参数为复杂数据类型,单元测试时难以初始化 2、底层模拟器能够模拟( ABCEH )。 A 、底层函数的参数B、底层函数的返回值C、全局变量 D、函数改写文件中的数据 E、成员变量 F、函数改写数据库中的数据 G、内部输出H、调用次数 3、执行函数测试后,源代码窗口能够标识出未覆盖的(BCD )。逻辑结构图窗口

软件测试的重要性讲解

软件测试的重要性 前言:软件迅猛发展凸现软件测试问题 随着软件业蓬勃发展,各种软件需求纷繁而来,在潮起潮落的IT洪流中,软件项目越来越凸现大型化、复杂化的发展趋势。几十人上百人的开发团队、成千上万的模块与接口、跨地域、跨系统的使用用户等情况早已屡见不鲜,所有这些,对项目质量管理提出了更高要求,如何满足各方需求,做出更好的软件系统?测试管理逐渐成了大家目光的焦点。 软件的质量靠什么,靠管理、靠各个软件过程的严密配合。但勿庸置疑,质量的守护是靠测试。它就象一只看门狗,认真守护着软件质量这个“家”。 软件测试的重要性 测试是什么?测试就是对项目开发过程的产品(编码、文档等)进行差错审查,保证其质量的一种过程。 软件业的迅猛发展也就是近几十年的过程,时间虽短,但许多误解似乎已根深蒂固,对测试的偏见也是如此。“软件的重点在于需求、在于分析、在于设计、在于开发,而测试,容易,没什么技术含量,找一些用户,对照需求尽力去测就行了;有时间多测点,没时间就少测点。”这种看法在许多项目经理、软件负责人的心中固守着,难以改变。

这种观念的结果有目共睹,是什么?很简单,是大量软件BUG、缺陷的“流失”,从测试人员手中悄然而过,流失到用户手中,流失进项目维护阶段。随之而来的,便是用户无休止的抱怨、维护人员无休止的“救火”、维护成本无休止的增加。这是软件人员的梦魇! 恶梦总有醒来时,经过无数教训的重击,在不堪回首而不得回首的经历中,软件业的管理者发现:是他们错了,软件测试是不可忽视的。 “所有这些问题,假如在项目中测试到的话,便不会有造成不可收拾的结果了。”――人们终于意识到测试简单而纯真的真谛。 软件测试 软件测试从直观上来讲是对测试对象进行检查、验证,似乎很简单,但实际不然,它是由许多处理环节构成的。根据测试目标、质量控制的要求,它被划分为以下各类环节(如下图),并被设置了不同的准入、准出标准。 测试的主要过程及活动如上图所示,内容一目了然,在此就不一一详述了,只希望通过对测试重点问题、关注热点的介绍,帮助大家对测试管理有一个总体的把握。?????????????????? ???? 测试方式中普遍存在的问题与点评 ??? 谈到测试,我们无法回避的是当前软件过程普遍存在的测试问题:

软件测试复习资料

1、软件缺陷的表现: (1)功能、特性没有实现或部分实现(2)设计不合理(3)实际结果和预期结果不一致(4)运行出错,包括运行中断、系统崩溃、界面混乱(5)数据结果不正确、精度不够(6)用户不能接受等其他问题,如存取时间过长、界面不美观 2、软件缺陷的产生 (1)技术问题:算法错误、语法错误、计算和精度问题、接口参数传递不匹配 (2)团队工作:误解、沟通不充分 (3)软件本身:文档错误、用户使用场合;时间上不协调/不一致性所带来的问题;系统的自我恢复或数据的异地备份、灾难性恢复等 3、软件测试的发展4阶段 (1)1957~1978年,以功能验证为导向,测试是证明软件是正确的(正向思维)。 (2)1978~1983年,以破坏性为导向,测试是为了找到软件中的错误(逆向思维)。 (3)1983~1987年,以质量评估为导向,测试是提供产品的评估和质量度量。 (4)1988年起,以缺陷预防为导向,测试是为了展示软件符合设计要求,发现缺陷、预防缺陷。 4、软件测试定义的两面性 5、软件测试流程图 需求测试、单元测试、集成测试、系统测试、系统测试、性能测试、验收测试、回归测试 6、软件测试和开发的关系

1、评审(属于静态测试)的概念:检验产品(需求或设计文档)是否正确地满足以往建立的规范、是否符合客户的需求。 技术评审:对产品及各阶段的输出内容进行评估;查找需求、架构、逻辑、功能和算法上的错误。 文档评审:对各文档的格式、内容等进行评审。如市场需求说明书、功能设计说明书、测试计划、测试用例…。 2、缺陷修正成本 VS 时间 3、评审方法

各种方法交替使用,不同阶段和场合选取合适的方法 临时评审:设计、开发和测试人员自行进行。 轮查:邮件分发评审内容,搜集评审意见。 互为审查(同行评审):适用于两个工作内容和技术相近的人员(团队)。 走查:从头到尾进行检查。 会议审查:系统化、严密的集体评审方法,用于最可能产生风险的工作成果(需求分析报告、系统架构设计、核心模块的代码)。 1、测试用例的元素 测试目标,测试环境要求,输入数据,操作步骤,期望输出(重要的)2、如何设计出高质量的测试用例: (1)客户需求导向的设计思路;(2)责任到人; (3)灵活的设计方法 (4)测试用例设计不能局限于输入数据 (5)避免含糊/冗长/复杂的测试用例(6)将具有类似功能的测试用例抽象并归类 1、手工测试:发现缺陷率高;容易实施;创造性、灵活性;覆盖率量化困难;重复测试效率低;不一致性、可靠性低;依赖人力资源 自动测试:高效率(速度);高复用性;覆盖率容易度量;准确、可靠;不知疲劳;激励团队士气;机械、难以发现缺陷;一次性投入大2、两者相互补充: 手工测试适用于:功能逻辑测试、验收测试、适用性测试、交互性测试…不稳定、开发周期短或一次性的软件 自动测试适用于:单元测试、集成测试、系统负载或性能测试、可靠性测试… 工具本身缺乏想象力和创造性 自动测试:发现15%的缺陷;手工测试:发现85%的缺陷 1、单元测试概念:针对软件设计的最小模块——程序模块,进行正确性检验的测试工作。

相关文档
最新文档