序号 《软件测试技术》课程(计.软.专研)复习题
2014年秋季学期
开课学院:信息工程学院
考试方式:闭卷
考试时间:120 分钟
班级 姓名 学号 题 号 得 分 阅卷人 装
一 二 三 四 五 六 七 八 九 十 总 分 订
线
一、简要回答下列各题(共10个小题,每小题5分,共50分) (1)举例说明软件缺陷与软件错误的关系。 (2)举例说明软件错误与软件失败的关系。 (3)举例说明软件测试的不完备性。
(4)举例说明软件测试是有风险的一项工作。
(5)列举3种常见的软件测试方法或技术,并对方法或技术的基本特征加以解释。 (6)列举3种比较有影响的软件失败事件,并解释失败可以避免的软件测试技术预案。 (7)软件测试工作在软件工程中地位和作用?
(8)软件测试成本很高,如何提高测试效率和降低测试成本? (9)软件测试“黑箱法”与“白箱法”的区别? (10)综合软件测试白箱法和黑箱法的一种新方法称为“灰”箱法,请给出一个运用灰箱法的例子。 (11)性能测试中主要关注那些方面,常用哪种测试方法? (12)网络协议软件测试与功能测试在技术方法上有何区别? (13)已知一个C语言的语法规则:“标识符必须先说明,后使用;标识符最大有效长度8个字符”,请就该语法规则对C语言的编译程序给出测试用例。 (14)已知一个TTCN语言的语法规则:“先说明后引用”,试给出三种该语法规则测试的测试用例。 (15)解释TTCN-3中PORT的通信模型。 (16)解释TTCN-3中结果变量的裁决规则。
(17)在ISO颁布的9646-3标准中,强调协议一致性测试框架中的“下测试LT”必须在网络的远端,为什么?
(18)简单叙述TTCN-3与TTCN-2在测试系统框架上有何联系和区别?并分别给出它们的示意图?
(19)阐述运行时接口Tri中如何实现系统适配功能。 (20)阐述运行时接口Tri中如何实现平台适配功能。
北方工业大学试卷 第1页 共7页
二、已知程序框图如图2-1所示,试分别给出(a)语句覆盖,(b)条件覆盖,(c)判断覆盖,(d)条件组合覆盖,(e)判断/条件的最小测试用例和路径。(每小题5分,共25分) 解:(a)语句覆盖
路径: 测试用例 (b)条件覆盖 路径: 测试用例:
路径:
测试用例: (c)判断覆盖
路径: 测试用例: 路径: 测试用例:
(d)条件组合覆盖
路径:
测试用例:
路径: 测试用例: 路径: 测试用例: 路径: 测试用例:
(e)判断/条件覆盖 路径: 测试用例: 路径: 测试用例:
a T c (N>2)∧(M>0) F X=X-N b T e (M=3)∨(X>2) F X=X+1 d 2-1 一个被测程序结构图
北方工业大学试卷 第2页 共7页
三、绘制流图时经常需要对伪代码语句进行适当的归并,从而构造流图中的节点。试求: (1)给出语句归并和生成流图的算法; (2)结合该算法绘制下面伪代码的流图。 解:
1. 求出各个基本块的入口语句
2. 对求出的每个入口语句,构造其所属的基本块
a) 由该入口语句到下一个入口语句(不包括该入口语句)、 b) 或到一转移语句(包括该转移语句)、
c) 或到一停语句(包括该停语句)之间的语句序列组成的 3. 凡未被纳入某一基本块中的语句
4. 是否程序中控制无法达到的语句,删除这个语句。
PDL Procedure sort Do while records remain Read record; If record field1=0 Then process record; Store in buffer; Increment counter elseif record field2=0 then reset counter; else process record; store in file; endif endif enddo end 北方工业大学试卷 第3页 共7页
四、已知伪代码如图4-1所示: 试求:
(1)画出对应的流图
(2)计算流图的环形复杂度 (3)指出基本路径集合
(4)给出基本路径的测试用例
PDL Procedure sort Do while records remain Read record; If record field1=0 Then process record; Store in buffer; Increment counter elseif record field2=0 then reset counter; else process record; store in file; endif endif enddo end 北方工业大学试卷 第4页 共7页
五、已知程序伪代码如图3-1所示,试完成下列工作: (1)给出对应的流图;
(2)计算环形复杂性V(G);
(3)求独立路径构成的基本集合(num1,num2,num3各取一次最小值); (4)给出每一条路径的测试用例。(每小题2分,共10分)
main() // a c code about finding out the small one in tree input number {int num1,num2,num3,min;
printf(\"Please input three numbers:\");
scanf(\"%d,%d,%d\ if (num1 图3-1 一个计算三个数中最小值的程序 北方工业大学试卷第5页 共7页 六、已知Transport Protocol Class 0的MSC图如图5-1所示,其中Lower Tester与IUT,Upper Tester与IUT两组动作之间有严格的时间顺序要求,对应测试套的动态描述如图5-2所示。如果对Transport Protocol Class 0进行改进,改进后的协议中Lower Tester与IUT,Upper Tester与IUT之间没有时间顺序要求,如图5-3所示,试给出对应的测试套的动态描述部分(10分) Lower IUT Upper N_CONind L!N_CONind L?N_CONrep N-CONresp L!N_DATAind U?T_CONind N_DATAinU!T_CONrep T_CONind L?N_DATAreq N_DATAre T_CONresp 图 5-1 MSC图 图5-2 图5-1对应的测试套 Lower Tester IUT IUT Upper Tester N_CONind N-CONresp T_CONind N_DATAi N_DATArT_CONresp 图 5-3 MSC图 北方工业大学试卷 第6页 共7页 七、已知咖啡机模拟程序如下如图4-1所示,试按照以下要求写出真实的TTCN测试系统。 (1)调整测试接口连接的配置; (2)采用模板 Templete 作为测试例参数改写源程序; (3)当裁决变量为fail时,增加日志语句Log作为提示。(共15分,每问5分) Module Coffee Drinker type port IntegerOutputPortType message { out integer } type port CharstringInputPortType message { in charstring } type component CoffeeDrinkerComponentType { port CharstringInputPortType InputPort; port IntegerOutputPortType OutputPort;} function CoffeeDrinkerFunction() runs on CoffeeDrinkerComponentType { var integer Count; OutputPort.send(100); Count := 0; timer t; t.start(5.0); alt {[] InputPort.receive(charstring:\"coffee\") { Count := Count+1; repeat;} [] t.timeout {}} log(\"Received \" & int2str(Count) & \" cup of coffee.\"); if (Count == 2) {setverdict(pass);} else {setverdict(fail);}} type component EmptyComponentType {} testcase TwoCoffeesPlease () runs on EmptyComponentType { var CoffeeMachineComponentType CoffeeMachine; var CoffeeDrinkerComponentType CoffeeDrinker; CoffeeMachine := CoffeeMachineComponentType.create; CoffeeDrinker := CoffeeDrinkerComponentType.create; connect(CoffeeDrinker:OutputPort, CoffeeMachine:InputPort); connect(CoffeeDrinker:InputPort, CoffeeMachine:OutputPort); CoffeeMachine.start( CoffeeMachineFunction() ); CoffeeDrinker.start( CoffeeDrinkerFunction() ); timer t; t.start(6.0); t.timeout; CoffeeMachine.stop;} control {execute( TwoCoffeesPlease() );}} 北方工业大学试卷 第7页 共7页 因篇幅问题不能全部显示,请点此查看更多更全内容