文章目录
- 第1题
- 第2题
- 第3题
- 第4题
- 第5题
- 第6题
- 第7题
- 第8题
- 第9题
- 第10题
第1题
1.下面给出的伪码中有一个错误。仔细阅读这段伪码,说明该伪码的语法特点,找出并改正伪码中的错误。字频统计程序的伪码如下:
INITIALIZE the Program
READ the first text record
DO WHILE there are more words in the text record
DO WHILE there are more words in the text record
EXTRACT the next text word
SEARCH the word-table for the extracted word
IF the extracted word is found
INCREMENT the word’s occurrence count
ELSE
INSERT the extracted word into the table
END IF
INCREMENT the words-processed count
END DO at the end of the text record
READ the next text record
END DO when all text records have heen read
PRINT the table and summary information
TERMINATE the program
答:INSERT the extracted word into the table在这个后面,有没有给这个word的occurrence/count 赋值为1
第2题
2、研究下面给出的伪码程序,要求:
(1) 画出它的程序流程图。
(2) 它是结构化的还是非结构化的明理由。
(3) 若是非结构化的,则
(a) 把它改造成仅用3种控制结构的结构化程序;
(b) 写出这个结构化设计的伪码;
? 用盒图表示这个结构化程序。
(4) 找出并改正程序逻辑中的错误。
COMMENT:PROGRAM SEARCHES FOR FIRST N REFERENCES
TO A TOPIC IN AN INFORMATION RETRIEVAL
SYSTEM WITH T TOTAL ENTRIES
INPUT N
INPUT KEYWORD(S)FOR TOPIC
I=O
MATCH=0
DO WHILE I≤T
I=I+1
IF WORD=KEYWORD
THEN MATCH=MATCH+1
STORE IN BUFFER
END
IF MATCH=N
THEN GOTO OUTPUT
END
END
IF N=0
THEN PRINT ″NO MATCH″
OUTPUT:ELSE CALL SUBROUTINE TO PRINT BUFFER INFORMATION
END
答:
(1) 设计测试数据以全面测试系统的正常操作;
第6题
6.航空公司A向软件公司B订购了一个规划飞行路线的程序。假设你是软件公司C的软件工程师,A公司已雇用自己所在的公司对上述程序进行验收测试。任务是,根据下述事实设计验收测试的输入数据,解释选取这些数据的理由。
领航员向程序输入出发点和目的地,以及根据天气和飞机型 而初步确定的飞行高度。程序读入途中的风向风力等数据,并且制定出3套飞行计划(高度,速度,方向及途中的5个位置校核点)。所制定的飞行计划应做到燃料消耗和飞行时间都最少。
答:
用正常的输入数据作为测试数据
①向程序输入常规的出发点,目的地,飞机型 ,5个位置校核点,高度和速度。
②输入3~5组出发点和目的地,重复执行步骤1
③输入固定的出发点、目的地、飞机型 、5个位置校核点和高度,分别输入3~5个不同的速度,重复执行步骤1
④输入固定的出发点、目的地、飞机型 、5个位置校核点和速度,分别输入3~5个不同的高度,重复执行步骤1
⑤输入固定的出发点、目的地、飞机型 、速度和高度,分别输入3~5组不同的位置校核点,重复执行步骤1
⑥输入固定的出发点、目的地、5个位置校核点和高度,分别输入3~5个不同的飞机型 ,重复执行步骤1
⑦输入固定的目的地、5个位置校核点和高度,分别输入3~5个不同的飞机型 ,重复执行步骤1
⑧输入固定的出发点、5个位置校核点和高度,分别输入3~5个不同的目的地,重复执行步骤1
(2)用特殊的数据值作为测试数据
①分别输入非常高和非常低的数据组合测试
②用负数测试
③输入数字0进行测试
④分别输入相距非常远和非常近的出发点和目的地测试
ay和size,size小于数组的大小,并给出需要查找的值,该值在somearray中;
预期的输出:返回-1;
⑤首先给出某个数组somearray和size,size大于数组的大小,并给出需要查找的值,该值不在somearray 中;
预期的输出:返回-1;
⑥首先给出某个数组somearray和size,size大于数组的大小,并给出需要查找的值,该值在somearray 中;
预期的输出:返回-1;
第7题
7.严格说来,有两种不同的路径覆盖测试,分别为程序路径覆盖和程序图路径覆盖。这两种测试可分别称为程序的自然执行和强迫执行。所谓自然执行是指测试者(人或计算机)读入程序中的条件表达式,根据程序变量的当前值计算该条件表达式的值(真或假),并相应地分支。强迫执行是在用程序图作为程序的抽象模型时产生的一个人为的概念,它可以简化测试问题。强迫执行的含义是,一旦遇到条件表达式,测试者就强迫程序分两种情况(条件表达式的值为真和为假)执行。显然,强迫执行将遍历程序图的所有路径,然而由于各个条件表达式之间存在相互依赖的关系,这些路径中的某一些在自然执行时可能永远也不会进入。
为了使强迫执行的概念在实际工作中有用,它简化测试工具的好处应该超过它使用额外的不可能达到的测试用例所带来的坏处。在绝大多数情况下,强迫执行的测试数并不比自然执行的测试数大很多,此外,对强迫执行的定义实际上包含了一种技术,能够缩短在测试含有循环的程序时所需要的运行时间。
程序的大部分执行时间通常用于重复执行程序中的DO循环,特别是嵌套的循环。因此必须发明一种技术,使得每个DO循环只执行一遍。这样做并不会降低测试的功效,因为经验表明第一次或最后一次执行循环时最容易出错。
Laemmel教授提出的自动测试每条路径的技术如下。
当编写程序时每个DO循环应该写成一种包含测试变量T和模式变量M的特殊形式,因此
DO I= 1 TO 38
应变成
DO I=1 TO M×38+(1-M)×T
可见,当M=0时处于测试模式,而M=1时处于正常运行模式。当处于测试模式时,令T=0则该循环一次也不执行,令T=1则该循环只执行一次。
类似地应该使用模式变量和测试变量改写IF语句,例如
IF X+Y>0 THEN Z=X
ELSE Z=Y
应变成
IF M×(X+Y)+T>0 THEN Z=X
ELSE Z=Y
正常运行时令M=1和T=0,测试期间令M=0,为测试THEN部分需令T=+1,测试ELSE部分则令
T=-1。
要求:
(1) 选取一个包含循环和IF 语句的程序,用Laemmel 技术修改这个程序,上机实际测试这个程序并解释所得到的结果。
(2) 设计一个程序按照Laemmel 技术自动修改待测试的程序。利用这个测试工具修改上一问中人工修改的程序,两次修改得到的结果一致吗br> (3) 怎样把Laemmel 技术推广到包含WHILE DO 和REPEAT UNTIL 语句的程序br> (4) 试分析Laemmel 技术的优缺点并提出改进意见。
答:(1)if (x+y)>2
A=x
Else
A=y
改为:if M×(x+y)+T>2
A=x
Else
A=y
结果一致。
(2)两次结果是一致的
(3)WHILE DO 和IF ELSE 修改技术类似。
(4)优点是可以使得结果更为精确。缺点是并不适用所有的程序,有时会有程序运行变得复杂。
第8题
8.对一个包含10000条机器指令的程序进行一个月集成测试后,总共改正了15个错误,此时MTTF=10h ;经过两个月测试后,总共改正了25个错误(第二个月改正了10个错误),MTTF=15h 。
要求:
(1)根据上述数据确定MTTF 与测试时间之间的函数关系,画出MTTF 与测试时间τ的关系曲线。在化这条曲线是做了什么假设br> (2)为做到MTTF=100h ,必须进行多长时间的集成测试集成测试结束时总共改正了多少个错误,还有多少个错误潜伏在程序中br> 答:(1)MTTF 与测试时间τ的关系曲线如下:
第10题
10.在测试一个长度为24000条指令的程序时,第一个月由甲、乙两名测试员各自独立测试这个程序。经一个月测试后,甲发现并改正20个错误,使MTTF 达到10h 。与此同时,乙发现24个错误,其中6个甲也发现了。以后由甲一个人继续测试这个程序。问:
(1)刚开始测试时程序中总共有多少个潜藏的错误br> (2)为使MTTF 达到60h ,必须再改正多少个错误需用多长测试时间br> (3)画出MTTF 与集成测试时间τ之间的函数关系曲线。
答:(1)根据公式:B0=B2B1/bc ,可得:
B0=20×24/6=80,即刚开始测试时程序中总共有80个错误。
(2)根据估算平均无故障时间的公式可得:
1/K(80/24000-20/24000)=10
1/K(80/24000- Ec/24000)=60
计算可得:K=40,Ec=70
即还需要改正50个错误。根据甲的改正进度,估计还需要3个月。
(3)MTTF 与集成测试时间τ之间的函数关系曲线如下:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!