实现和测试习题
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)
以上是关于实现和测试习题的主要内容,如果未能解决你的问题,请参考以下文章