实现和测试习题

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现和测试习题相关的知识,希望对你有一定的参考价值。

文章目录

选择题

填空题


编码风格需要考虑的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)

以上是关于实现和测试习题的主要内容,如果未能解决你的问题,请参考以下文章

Java面向对象练习题多态测试

黑客攻防技术宝典web实战篇:测试后端组件习题

软件测试笔试练习题与参考答案

alpha测试和beta测试的区别是什么?

软件测试小白!测试笔试100练习题内含答案建议收藏...持续更新中~

第五章 习题五