注意:要求将以下各题答案写在答题纸上
一、填空题〔每题3分,共15分〕
1、软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个〔自底向上或相反顺序〕集成的过程.
2、静态测试指被测程序不在机器上运行,而是采用〔计算机辅助静态分析〕和〔人工检测 〕的手段对程序进行测试.
3、在代码编写完成后的单元测试工作主要分为两个步骤〔人工静态检查 〕和〔 动态执行跟踪 〕.
4、 因果图能有效地检测输入条件的〔各种组合 〕可能会引起的错误.因果图的基本原理是通过画〔 因果图 〕,把用自然语言描述的功能说明转换为〔 判定表 〕,最后为〔 判定表的每一列 〕设计一个测试用例.
5、单元测试针对每个程序的模块,主要解决〔 模块接口 〕〔 局部数据结构 〕〔 边界条件 〕〔 独立的路径 〕〔 错误处理 〕5个方面的测试问题.
二、简述以下各题〔每题10分,共30分〕
1、简述静态测试和动态测试的区别?
软件测试可分为静态测试〔Static Testing〕和动态测试 动态测试是通常意义上的测试,即使用和运行被测软件.动态测试的对象必须是能够由计算机真正运行的被测试的程序,它包含黑盒测试和白盒测试, 2、传统方法学中软件生命周期各阶段是如何划分的?〔用图形表示〕并简述各阶段主要任务. 软件生命周期〔各阶段〕软件生命周期由软件定义、软件开发和运行维护 三个时期组成. . 软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析 2. 开发时期:总体设计、详细设计、编码和单元测试、综合测试. 3维护时期:主要任务是使软件持久地满足用户的需要生命周期模型规定了把生命周期划分成哪些阶段与各个阶段的执行顺序,因此,也成为过程模型 3、软件测试的目标是什么? 1 / 5 . 从用户的角度出发,普遍希望通过软件测试暴露出软件中陷藏的错误和缺陷,以考虑是否可以接受该产品.而从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立用户对软件质量的信心. 三、综合应用题〔共55分〕 1、针对以下问题:某一种8位计算机,其十六进制常数的定义是以0x或0X开头的十六进制整数,其取值X围为-7f~7f〔不区分大小写字母〕,如0x13、0x6A、-0x3c.请采用等价类划分的方法设计测试用例.〔13分〕 8位 = 1111 1111 最大 1*2^7+1*1*2^6 1*2^5 ...+1*2^0 = FF 111 111 = 7F 因为去掉符号位 没有最高位1 输入条件 开头字符 数字字符 数字字符个数 数值 有效等价类 无效等价类 有0x或0X开头 〔 1〕 以字母开头〔2〕 以非0数字开头〔3〕 数字或A-F〔4〕 》1 〔6〕 》-7f且《7 〔8〕 A-F以外的〔5〕 0个 〔7〕 <-7f <9> >-7f <10> 用例1:0x7F, 覆盖等价类〔1〕〔4〕〔6〕〔8〕 用例2:-0Xb, 覆盖等价类〔1〕〔4〕〔6〕〔8〕 用例3:0X0, 覆盖等价类〔1〕〔4〕〔6〕〔8〕 用例4:0x, 覆盖等价类〔1〕〔7〕 用例5:A7, 覆盖等价类〔2〕 用例6:-1A, 覆盖等价类〔3〕 用例7:0X8h, 覆盖等价类〔1〕〔5〕 用例8:0x80, 覆盖等价类〔1〕〔4〕〔10〕 用例9:-0XaB, 覆盖等价类〔1〕〔4〕〔9〕 2、已知有如下程序段:〔共15分〕 begin p1; if c1 then while c2 do p2 else p3; while c3 do begin p4; if c4 then p5 else p6; 2 / 5 . end; p7; if c5 then repeat p8 until c6 else p9; end (1) 请用程序流程图描述;〔7分〕 (2) 请用N—S图图描述;〔8分〕 输入p1C1 Y N C2 Y 执行p2 返回c2 N C3 执行p3 Y N 执行p4 执行p7 Y C5 执行p5 返回c3 C4 N 执行p1返回c3 N 执行p9 Y 执行p8 C6 N 返回 P8 返回 P9 3 / 5 . 3、使用基本路径测试方法,设计测试下面列出的伪码程序的测试用例〔12分〕 Start 1 input 2 if0> 3 and 0> 4 then x=a+b 5 else x=a-b 6 end 7 if 9 then y=c-d 10 else y=c+d 11 end 12 print 解: 确定线性独立路径的基本集合 由于它的环形复杂度为5,因为共有5条独立路径.分别取为: 路径1:1-2-3-4-6-7-9-11-12 路径2:1-2-5-6-7-9-11-12 路径3:1-2-3-5-6-7-9-11-12 路径4:1-2-3-4-6-7-8-9-11-12 路径5:1-2-3-4-6-7-8-10-11-12 ① 执行路径1:1-2-3-4-6-7-9-11-12〔两个判定表达式全为真〕 输入:A=1,B=1,C=2,D=2〔任意〕 预期的输出:X=2,Y=0 ② 执行路径2:1-2-5-6-7-9-11-12〔第一判定表达式为假,第二个判定式为真〕 输入:A=0,B=1〔任意〕,C=2,D=0〔任意〕 预期的输出:X=-1,Y=2 ③ 执行路径3:1-2-3-5-6-7-9-11-12〔第一判定表达式为假,第二个判定式为 真〕 输入:A=1,B=0,C=2,D=0〔任意〕 预期的输出:X=1,Y=2 ④ 执行路径4:1-2-3-4-6-7-8-9-11-12〔两个判定表达式全为真〕 输入:A=1,B=1,C=0,D=-1 预期的输出:X=2,Y=1 ⑤ 执行路径5:1-2-3-4-6-7-8-10-11-12〔第一判定表达式为真,第二个判定式 为假〕 4 / 5 . 输入:A=1,B=1,C=0,D=2 预期的输出:X=2,Y=2 4、用判定树的组织方法画出下面折扣的算法〔15分〕 描述某公司计算折扣的处理,如果每年交易额小于50000元时,无折扣,大于50000元时,最近三个月无欠款,则折扣率为15%.如果最近三个月 有欠款,与本公司交易时间大于20年的客户,折扣率为10%,否则折扣率为5%. 条件 行动 交易额在五万元以上 最近三个月无欠款 与本公司交易20年以上 折扣率15% 折扣率10% 折扣率5% 无折扣 1 2 3 4 Y Y Y N Y N N √ Y N √ √ √ 5 / 5 因篇幅问题不能全部显示,请点此查看更多更全内容