选择题

填空题


编码风格需要考虑的5个方面

  • 程序内部的文档
  • 数据说明
  • 语句构造
  • 输入输出
  • 效率

单元测试的测试重点

  • 模块结构
  • 局部数据结构
  • 重要执行通路
  • 出错处理通路
  • 边界条件

集成测试中,由模块组装程序时的方法

  • 非渐增式测试方法
  • 渐增式测试方法

控制结构测试有

  • 基本路径测试
  • 条件测试
  • 循环测试

黑盒测试技术方法有

  • 等价类划分
  • 边界值分析
  • 错误推测

调试的途径

  • 蛮干法
  • 回溯法
  • 原因排除法

名词解释

  • 编码:编码是把软件设计结果翻译成用程序设计语言书写的程序,是对设计的进一步具体化,因此程序的质量主要取决于软件设计的质量

  • 黑盒测试:把软件看成一个黑盒子,不考虑其内部结构和处理过程,只按照规格说明书的规定,测试软件是否能够正确接收输入数据,并产生正确的输出数据。也即测试程序是否正确实现了其功能

  • 白盒测试:把软件看作一个透明的盒子,完全知道程序内部结构和处理算法,根据程序内部的逻辑结构,测试程序内部的主要执行通路是否能够按照预定的要求正确工作

  • 非渐增式测试:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序

  • 渐增式测试:把下一个要测试的模块同已经测试好的那些模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试,每次增加一个模块。渐增式测试同时完成单元测试和集成测试

  • 自顶向下集成:从主控制模块开始,沿着程序的控制层次向下移动,逐渐把各个模块结合起来。在把附属于主控制模块的模块组装到程序结构中时,使用深度优先的策略或宽度优先的策略

  • 自底向上集成:自底向上测试从软件结构最低层的模块开始组装和测试。因为是从底部向上结合模块,总能得到所需的下层模块处理功能,所以不需要存根程序

  • 回归测试:回归测试是指重新执行已经做过的测试的某个子集,以保证测试过程中的变化没有带来非预期的副作用

  • Alpha测试:Alpha测试由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试,且开发者负责记录发现的错误和遇到的问题。即Alpha测试是在受控的环境中进行的

  • Beta测试:Beta测试由软件的最终用户们在一个或多个客户场所进行。开发者通常不在Beta测试的现场,即Beta测试是软件在开发者不能控制的环境中的“真实”应用

  • 逻辑覆盖:逻辑覆盖是对一系列测试过程的总称, 这组测试过程逐渐进行越来越完整的通路测试

  • 调试:调试是在测试发现错误之后排除错误的过程

简答题

1、程序设计语言如何选择

【答案】

在这里插入图片描述


2、简述编码风格

【答案】

在这里插入图片描述


3、软件测试的目标

【答案】

在这里插入图片描述


4、软件测试的准则

【答案】

在这里插入图片描述


5、简述软件测试步骤

【答案】

在这里插入图片描述


6、简述单元测试的测试重点

【答案】

在这里插入图片描述


7、简述自顶向下集成

【答案】

在这里插入图片描述


8、简述自底向上集成

【答案】

在这里插入图片描述

9.简述确认测试的范围

【答案】

在这里插入图片描述

10.简述白盒测试中的语句覆盖、判定覆盖等逻辑覆盖过程

【答案】

在这里插入图片描述

11.简述黑盒测试中测试用例的设计标准

【答案】

能够减少为达到合理测试所需要设计的测试用例的总数
能够告诉人们,是否存在某些类型的错误,而不是仅仅指出与特定测试相关的错误是否存在

12.简述等价类划分法(了解,特别注意规则)

【答案】

在这里插入图片描述

画图/应用题

在这里插入图片描述
在这里插入图片描述

【答案】

(1)
INSERT the extracted word into the table在这个后面,没有给这个word的occurrence count赋值为1

(2) 语法特点:该伪代码在循环结构中嵌套循环结构,并且在嵌套的循环结构中又嵌套了IF ELSE结构

在这里插入图片描述
在这里插入图片描述

(1)

请添加图片描述

(2)
此程序是非结构化的,它有一个GOTO语句,并且是从一个循环体内转到循环体外的一条件语句内部

(3)

在这里插入图片描述

在这里插入图片描述
(4)
①语句“IF WORD=KEYWORD”里的变量“WORD”没有预先赋值。
②程序中没有预先输入T的值。
③“N=0”应该是“MATCH=0”。

在这里插入图片描述

【答案】

(1) N=1,KEYWORD=#
(2)不合理的值输入程序后无法打印出任何信息。
(3)可以通过加入循环来防止出现这些错误的问题

在这里插入图片描述
在这里插入图片描述

(1)

  • 模块测试又叫做单元测试,是把每个模块作为一个单独的实体来测试,检验其正确性。目的在于保证每个模块作为一个单元能够正确运行。所发现的是编译和详细设计的错误,测试方法为白盒测试
  • 子系统测试和系统测试统称为继承测试,是把各模块或子系统装配成一个完整的系统测试,主要测试的是接口问题

(2)

通常发现错误的比值在0.005-0.02之间,即在测试前每1000 条指令中大约有5-20个错误。所以在对1000行FORTRAN语句构成的程序进行测试期间将发现的错误个数大约有25~100个

(3)

程序流程图如下

在这里插入图片描述
①语句覆盖

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

  • 输入:A=1,B=1,C=1
  • 预期的输出:X=1,Y=2,Z=3

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

  • 输入:A=20,B=40,C=60
  • 预期的输出:X=10,Y=20,Z=30

②:路径覆盖:本程序共有2×2×2=8条可能的路径,需要8组测试数据

真、真、真

  • 输入:A=20,B=40,C=60
  • 预期的输出:X=10,Y=20,Z=30

真、真、假

  • 输入:A=20,B=40,C=1
  • 预期的输出:X=10,Y=20,Z=3

真、假、真

  • 输入:A=20,B=1,C=60
  • 预期的输出:X=10,Y=2,Z=30

真、假、假

  • 输入:A=20,B=1,C=1
  • 预期的输出:X=10,Y=2,Z=3

假、真、真

  • 输入:A=1,B=40,C=60
  • 预期的输出:X=1,Y=20,Z=30

假、真、假

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

  • 预期的输出:X=1,Y=20,Z=3
    假、假、真

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

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

假、假、假

  • 输入:A=1,B=1,C=1
  • 预期的输出:X=1,Y=2,Z=3

5.某图书馆有一个使用CRT终端的信息检索系统,该系统有下列4个基本检索命令:
在这里插入图片描述

【答案】

(1)
在这里插入图片描述

(2)
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐