适用专业: 考试日期: 闭卷
所需时间:120分钟 总分:100分 一、填空题(每空1分, 共15空,总共15分):
1、 方法是借助往被测程序中的插入操作来实现测试目的的方法,即向源程序中添加一些语句,实现对程序语句的执行、变量的变化等情况进行检查。 2、 描述所有要完成的测试工作,包括被测试项目的背景、目标、范围、方式、资源、进度安排、测试组织,以及与测试有关的风险等方面。 3、条件判定组合覆盖的含义是:设计足够的 ,使得判定中每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。
4、程序变异方法是一种 驱动测试,该方法是针对某类特定程序错误的。 5、 强度测试是验证软件的性能在各种 的周边环境和系统条件下是否能正常工作,这里所谓“强度”包括了两项:一项是 测试,另一项是 测试。
6、 是检验软件产品的最后一道工序,与前面各种测试过程的不同之处主要在于它突出了 的作用,同时软件开发人员也要参与。
7、在进行单元测试时,需设置若干辅助测试模块。辅助模块有两种,一种是 模块,用以模拟被测试模块的上级模块。 另一种是 模块(Sub),用以代替拟被测模块工作过程中所调用的模块。
8、集成测试的实施方案有很多种,如:非增式集成测试和增量式集成测试、三明治集成测试、核心集成测试、分层集成测试、基于使用的集成测试等。其中,常用的是 集成测试和 集成测试两种模式。
9、测试项目管理就是以测试项目为管理对象,通过一个 性的专门的测试组织,运用专门的软件测试知识、技能、工具和方法,对测试项目进行计划、组织、
执行和控制,并在时间成本、软件测试质量等方面进行分析和管理活动。
10、整个测试过程分 、集成测试、系统测试以及验收测试四个阶段进行。
二、判断题(每题1分,共15分,正确的√,错误的╳) (1) 测试是为了验证软件已正确地实现了用户的要求。 ( )
(2) 白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。 ( ) (3) 黑盒测试的测试用例是根据程序内部逻辑设计的。 ( ) (4) 为了快速完成集成测试, 采用一次性集成方式是适宜的。 ( ) (5) 在软件开发过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。 ( )
(6)测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。 ( )
(7)大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。 ( )
(8) 测试是有计划的,需要进行测试设计;调试是受时间约束的。 ( ) (9)软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作。 ( ) (10)发现错误多的模块,残留在模块中的错误也多。 ( )
(11)测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。 ( )
(12)单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。 ( )
(13)功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。 ( )
(14)软件就是程序。 ( )
(15)软件测试只能发现错误,但不能保证测试后的软件没有错误。 ( ) 三、简答与分析题(共10小题,总共70分):
1. 黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺
点。(5分)
2. 请叙述软件测试人员应具备基本素质。(5分) 3. 请叙述软件测试计划的作用和制定原则。(5分)
4. 请叙述什么是α、β测试,它们有什么区别和联系。(7分) 5. 请叙述什么是回归测试及其测试范围。(5分)
6. 请阐述软件测试风险的概念及当风险发生的时候应该采取的措施。(7分) 7. 用等价类划分法设计下面测试用例:有一报表系统,要求用户输入要处理报表
的日期,假设日期的范围为2000年1月到2020年12月。如果用户输入的日期不在这个范围内,则显示错误码信息,并且此系统规定日期由年月的6位数字组成,前4位代表年,后2位代表月。
请列出等价类表(包括有效和无效等价类)(11分) 8. 请说明软件测试自动化引入的条件。(5分)
9. 请说明作为一个测试管理人员,如何控制成本。(5分)
10.有一个求平均值的程序,最多允许输入100个值(以-999为输入结束标志),它可以计算落在给定范围内的那些值(称为有效输入值)的个数、总和及平均值。根据下面代码,用基本路径法进行测试,请写出其控制流图和路径集合以及测试用例。(15分)
float sum=0;total=0;
float average(value,minimum,maximum){ float value[100]; int minimum,maximum; int inputnum,i; float aver;
i=1;inputnum=0;
while(value[i]!=-999&&inputnum<100) { inputnum++;
if(value[i]>=minimum&&value[i]<=maximum) { total++;
sum=sum+value[i];} i++; }
if(total>0) aver=sum/total; else aver=-999; return(aver); }
—————:学号 ———————:名姓 ———————:级班业专 ——————:系 院—2020-2021《软件测试》期末课程考试试卷A答案
适用专业: 考试日期: 闭卷
所需时间:120分钟 总分:100分 一、填空题(每空1分, 共15空,总共15分):
程序插桩 测试计划 测试用例 错误
极端 超载运行 容量 验收测试 客户 驱动 被调用模拟子 非增式 增量式 临时 单元测试
二、判断题(每题1分,共15分,正确的√,错误的╳)
( × )( √ ) ( × ) ( × ) ( × ) ( √ ) ( √ ) ( × )( × )( √ )( × )( √ )( √ )(×) (√)
三、简答与分析题(共10小题,总共70分):
简答题(一)(5分) 答:黑盒测试的优点有:
1)比较简单,不需要了解程序内部的代码及实现; 2)与软件的内部实现无关; 黑盒测试的缺点有:
1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%; 2)自动化测试的复用性较低。 白盒测试的优点有:
帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。 白盒测试的缺点有:
1)程序运行会有很多不同的路径,不可能测试所有的运行路径;
简答题(二)(5分)
1.具有良好的计算机编程基础 2.具有创新精神和超前意识 3.不懈努力,追求完美
4.具有很强的沟通和交流能力 5.具有整体观念,对细节敏感 6.团队合作精神
简答题(三)(5分)
制定软件测试计划可以在以下几方面帮助我们: 1.使软件测试工作进行更顺利
2.促进项目参加人员彼此的沟通
3.及早发现和修正软件规格说明书的问题 4 .使软件测试工作更易于管理 制定测试计划的原则
制定测试计划是软件测试中最有挑战性的一个工作。以下原则将有助于制定测试计划工作。
1.制定测试计划应尽早开始 2.保持测试计划的灵活性 3.保持测试计划简洁和易读 4.尽量争取多渠道评审测试计划 5.计算测试计划的投入
简答题(四)(7分)
α测试是在软件开发公司内模拟软件系统的运行环境下的一种验收测试,即软件开发公司组织内部人员,模拟各类用户行为对即将面市的软件产品(称为α版本)进行测试,试图发现并修改错误。 经过α测试调整的软件产品称为β版本。紧随其后的β测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况,提出批评意见。然后软件开发公司再对β版本进行改错和完善。
简答题(五)(5分)
回归测试是指软件系统被修改或扩充(如系统功能增强或升级)后重新进行的测试,是为了保证对软件所做的修改没有引入新的错误而重复进行的测试。 常用的用例选择方法可以分为以下3种。 (1)局限在修改范围内的测试 (2)在受影响功能范围内回归
(3)根据一定的覆盖率指标选择回归测试
简答题(六)(7分)
软件测试的风险是指软件测试过程出现的或潜在的问题,造成的原因主要是测试计划的不充分、测试方法有误或测试过程的偏离,造成测试的补充以及结果不准确。测试的不成功导致软件交付潜藏着问题,一旦在运行时爆发,会带来很大的商业风险。
计划风险发生时,可能采用的应急措施有:缩小范围、增加资源、减少过程等措施。 10.
分析题(七)(11分)
有效等价类
M1={月份:1≤month≤12}
D1={日期:1≤day≤31} Y1={年:1920≤year≤2050}
无效M2={月份: month<1} M3={月份: month>12} D2={日期:day<1} D3={日期:day>31} Y2={年: year<1920} Y3={年: year>2050}
简答题(八)(5分)
2. 软件自动化测试的引入条件
⑴管理层要充分意识到软件测试自动化的重要性 ⑵ 对软件测试自动化有正确认识
⑶ 有一个很好的计划和稳定的应用行为 ⑷ 实施测试自动化必须进行多方面的培训
(5)一个专注的、有着丰富技能的测试团队,并且被分配了足够的时间和资源 简答题(九)(5分)
1. 软件测试项目成本的控制原则
(1) 坚持成本最低化原则 (2) 坚持全面成本控制原则 (3) 坚持动态控制原则 (4) 坚持项目目标管理原则
(5) 坚持责、权、利相结合的原则 分析题(十)(15分) 画出控制流图,如图所示
② 确定Cyclomatic复杂性度量V(G); V(G)=6(个区域)
V(G)=17(条边)-13(个节点)+2=6 V(G)=5(个谓词节点)+1=6
③ 确定独立路径集合(6条)
路径1:1-2-10-11-13 (aloq) 路径2:1-2-10-12-13 (alnp) 路径3:1-2-3-10-11-13 (abmoq)
路径4:1-2-3-4-5-8-9-2…… (abcdfjk……) 路径5:1-2-3-4-5-6-7-8-9-2……(abcdehijk……) 路径6:1-2-3-4-5-6-8-9-2……(abcdegjk……)
在本例中,判定节点(谓词节点)是节点2、3、5、6和节点10。另外要注意路径4、5、6中节点2后面的省略号表示随后的部分已无关紧要。
④ 设计测试用例,强制执行独立路径集中的每一条路径。测试人员可选择数据以在测试每条路径时适当设置判定节点的条件。
路径1的测试用例:
Value(k)=有效输入,其中,k<I ; Value(i)=-999,其中2≤i≤100 期望结果:基于k的正确平均值的总数
注意:路径1必须作为路径4、5、6测试的一部分,它无法独立测试。 路径2的测试用例:
Value(1)=-999 ; 期望结果:average=-999,其它保持初值 路径3的测试用例:
试图处理101个或更多的值,前100个值应该有效。期望结果与测试用例1相同
路径4的测试用例:
Value(i)=有效输入,其中,i<100 ; Value(k)<最小值,其中k<i 期望结果:根据有效输入值的个数和总数正确算出平均值 路径5的测试用例:
Value(i)=有效输入,其中,i<100
期望结果:根据有效输入值的个数和总数正确算出平均值 路径6的测试用例:
Value(i)=有效输入,其中,i<100 ; Value(k)>最大值,其中k<i 期望结果:根据有效输入值的个数和总数正确算出平均值
因篇幅问题不能全部显示,请点此查看更多更全内容