1、2019年软件评测师考试软件测试应用技术模拟题及答案解析(总分:75.00,做题时间:150 分钟)一、案例分析题(总题数:5,分数:75.00)阅读下列 C程序,回答下列问题,将解答填入答题纸的对应栏内。【C 程序】int count(int x,int z)int y=0;while(x0) /lif(x=1) /2y=7; /3else /4y=x+z+4;if(y=7|y=21) /5,6x=1; /7x-; /8return y; /9(分数:15)(1).请针对上述 C程序给出满足 100%DC(判定覆盖)所需的逻辑条件。(分数:3)_(2).请画出上述程序的控制流图,并计算其控制
2、流图的环路复杂度 V(G)。(分数:7)_(3).请给出问题 2中控制流图的线性无关路径。(分数:5)_阅读下列说明,回答下列问题。说明某商店的货品价格(P)都不大于 20元(且为整数),假设顾客每次付款为 20元且每次限购一件商品,现有一个软件能在每位顾客购物后给出找零钱的最佳组合(找给顾客货币张数最少)。假定此商店的找零货币面值只包括:10 元(N10)、5 元(N5)、1 元(N1)3 种。(分数:15)(1).请采用等价类划分法为该软件设计测试用例(不考虑 P为非整数的情况)并填入到下表中。(N1,2表示 2张 1元,若无输出或输出非法,则填 N/A。序号 输入(商品价格) 输出(找零
3、钱的组合)1 20(P=20) N/A2 18(任意 153 4 5 6 7 8 9 10 (分数:5)_(2).请采用边界值分析法为该软件设计测试用例。(分数:7)_(3).请给出采用决策表法进行测试用例设计的主要步骤。(分数:3)_阅读下列说明,回答下列问题。说明某大型匹萨加工和销售商为了有效管理匹萨的生产和销售情况,欲开发一套基于 Web的信息系统。其主要功能为销售、生产控制、采购、运送、存储和财务管理等。系统采用 Java EE平台开发,页面中采用表单实现数据的提交与交互,使用图形(Graphics)以提升展示效果。(分数:15)(1).设计两个表单项输入测试用例,以测试 XSS(跨站
4、点脚本)攻击。系统设计时可以采用哪些技术手段防止此类攻击。(分数:4)_(2).简述图形测试的主要检查点。(分数:4)_(3).简述页面测试的主要方面。(分数:4)_(4).系统实现时,对销售订单的更新所用的 SQL语句如下:PreparedStatement pStmt=connection.prepareStatement(“UPDATE SalesOrder SET status= ? WHERE OrderID= ?“)然后通过 setString(.);的方式设置参数值后加以执行。设计测试用例以测试 SQL注入,并说明该实现是否能防止 SOL注入。(分数:3)_阅读下列说明,回答问题
5、。【说明】某企业最近上线了 ERP系统,该系统运行的网络环境如图所示。企业信息中心目前拟对该系统相关安全防护体系进行全面的安全性测试,以提供全面的安全测评报告。(分数:15)(1).企业 ERP系统上线后,企业主要业务的日常运作都高度依赖该系统的正常运行,因此 ERP系统的稳定性与可靠性对企业至关重要。故障恢复与容灾备份措施是提高系统稳定性与可靠性的重要因素。对于故障恢复与容灾备份措施,参与测试的王工认为应从故障恢复、数据备份和容灾备份等三个方面进行测试。请用 300字以内文字,对这三方面的测试内容进行简要说明。(分数:5)_(2).数据库服务器中目前主要存储 ERP系统业务数据,后续还需要存
6、储企业网站相关数据,当前 ERP系统的用户认证方式包含口令认证方式,相应的用户权限和口令也存储在数据库二维表中。针对上述实际情况,参与测试的李工认为在对数据库权限进行测试时,除数据库账号保护及权限设置相关的常规测试外,还必须对敏感数据加密保护及对数据库访问方式进行相应测试。请用 200字以内文字,对敏感数据加密保护和数据库访问方式两个方面的测试内容进行简要说明。(分数:5)_(3).为对抗来自外网或内网的主动攻击,系统通常会采用多种安全防护策略,请给出四种常见的安全防护策略并进行简要解释。结合一种在图中明确标识出的安全防护策略机制,说明针对该机制的安全测试应包含哪些基本测试点。(分数:5)_阅
7、读以下说明,回答下列问题。说明现代软件的飞速发展,使得系统对软件的依赖越来越强,对软件可靠性的要求也越来越来高,因此发展以发现软件可靠性缺陷为目的的可靠性测试技术也日益迫切。(分数:15)(1).一个完整的软件可行性测试如图 51 所示。请写出图中(1)(5)。(分数:5)_(2).解释说明软件可靠性测试的目的,并说明狭义和广义软件可靠性测试的区别。(分数:5)_(3).可靠性目标是指客户对软件性能满意程度的期望。通常采用失效严重程度、可靠度、故障强度、平均无故障时间等指标来描述。请分别解释其含义。(分数:5)_2019年软件评测师考试软件测试应用技术模拟题答案解析(总分:75.00,做题时间
8、:150 分钟)一、案例分析题(总题数:5,分数:75.00)阅读下列 C程序,回答下列问题,将解答填入答题纸的对应栏内。【C 程序】int count(int x,int z)int y=0;while(x0) /lif(x=1) /2y=7; /3else /4y=x+z+4;if(y=7|y=21) /5,6x=1; /7x-; /8return y; /9(分数:15)(1).请针对上述 C程序给出满足 100%DC(判定覆盖)所需的逻辑条件。(分数:3)_正确答案:(x0;x0;x=1;y=7|y=21;三个判定点,所以要符合 100%判定覆盖的要求,就需要使得每个判定结果的真假值都
9、出现 1次,即:x0;x3 4 5 6 7 8 9 10 (分数:5)_正确答案:(序号 输入(商品价格) 输出(找零钱的组合)1 20(P=20) N/A2 18(任意 153 15(P=15) 4 13(任意 5,5 10(P=10) 6 8(任意 5,7 5(P=5) ,8 3(任意 0,9 -10(P=1) N/A10 30(任意 P20) N/A)解析:(2).请采用边界值分析法为该软件设计测试用例。(分数:7)_正确答案:(序号输入(商品价格)输出(找零钱的组合)1 20 N/A2 19 3 184 165 156 14,7 13,8 11,9 1010 9,11 8 ,12 6,
10、13 5,14 4,15 3,16 1,)解析:(3).请给出采用决策表法进行测试用例设计的主要步骤。(分数:3)_正确答案:(1)确定规则的个数。(2)列出所有的条件桩和动作桩。(3)填入条件项和动作项。(4)合并相似规则,化简决策表。)解析:本题考查白盒测试法和黑盒测试法的应用。第一小题考查黑盒测试用例设计方法:等价类划分法。等价类划分法是把程序的输入域按规则划分为若干子集,然后从每个子集中选取一个具有代表性的数据作为测试用例。本题中规定了 P的取值范围(1=P=20),按规则可以划分为一个有效等价类P|1=P=20和两个无效等价类P|P1、P|P20。根据题中描述,对 P取不同值有不同的
11、处理,因此上述有效等价类还可以进一步细分为 8个等价类P|P=20、P|15P20、P|P=15、P|10P15、P|P=10、P|5P10、P|P=5、P|0P5。这样一共得到 10个等价类,包括 8个有效等价类P|P=20、P|15P20、P|P=15、P|10P15、P|P=10、P|5P10、P|P=5、P|0P5和两个无效等价类P|P1、P|P20。设计用例时从这 10个等价类中各任选一个代表元素即可。第二小题考查白盒测试用例设计方法:边界值分析法。边界值分析法作为等价类划分法的一种补充,是把等价类上的边界取值作为测试用例的一种测试方法。如果不考虑健壮性测试,也就是如果说不考虑无效等
12、价类的边界取值,8 个有效等价类中有20,19,16,15,14,11,10,9,6,5,4,1 这 12个边界值,然后每个等价类中再取 1个任意值,一共得到 16个边界值的测试用例(P|P=20、P|P=15、P|P=10、P|P=5这 4个等价类的任意值是20,15,10,5,与边界值有重复)。第三小题考查黑盒测试中决策表法。采用决策表法设计测试用例分为四步:1)确定规则的个数;2)列出所有的条件桩和动作桩;3)填入条件项和动作项;4)合并相似规则,化简决策表。阅读下列说明,回答下列问题。说明某大型匹萨加工和销售商为了有效管理匹萨的生产和销售情况,欲开发一套基于 Web的信息系统。其主要功
13、能为销售、生产控制、采购、运送、存储和财务管理等。系统采用 Java EE平台开发,页面中采用表单实现数据的提交与交互,使用图形(Graphics)以提升展示效果。(分数:15)(1).设计两个表单项输入测试用例,以测试 XSS(跨站点脚本)攻击。系统设计时可以采用哪些技术手段防止此类攻击。(分数:4)_正确答案:(XSS(跨站点脚本攻击)是一种注入式攻击,主要通过恶意脚本进行攻击,任何脚本如SCRIPT都不该被接受。(1)scriptalert(Wufff!)/script(2)b onmouseover=alert(Wufff!)click me!/b防止的主要手段是对功能符号进行编码(转
14、义)。)解析:(2).简述图形测试的主要检查点。(分数:4)_正确答案:(图形测试的主要检查点如下:(1)颜色饱和度和对比度是否合适;(2)需要突出的链接的颜色是否容易识别;(3)是否正确加载所有的图形。)解析:(3).简述页面测试的主要方面。(分数:4)_正确答案:(页面测试可以从以下几个方面进行:(1)页面的一致性;(2)在每个页面上是否设计友好的用户界面和直观的导航系统;(3)是否考虑多种浏览器的需要;(4)是否建立了页面文件的命名体系;(5)是否充分考虑了合适的页面布局技术,如层叠样式表、表格和帧结构等。)解析:(4).系统实现时,对销售订单的更新所用的 SQL语句如下:Prepare
15、dStatement pStmt=connection.prepareStatement(“UPDATE SalesOrder SET status= ? WHERE OrderID= ?“)然后通过 setString(.);的方式设置参数值后加以执行。设计测试用例以测试 SQL注入,并说明该实现是否能防止 SOL注入。(分数:3)_正确答案:(设计如下测试:注:设计类似如下用例即可,其中包含 SQL功能符号使 SQL变为不符合设计意图即可status: fulfilled -, OrderID: 2014 OR 1=1采用传递参数的形式,Java 的 JDBC驱动自动会将其按照相应的类型处
16、理,功能符号会进行转义。因此,该 SQL语句是安全。)解析:阅读下列说明,回答问题。【说明】某企业最近上线了 ERP系统,该系统运行的网络环境如图所示。企业信息中心目前拟对该系统相关安全防护体系进行全面的安全性测试,以提供全面的安全测评报告。(分数:15)(1).企业 ERP系统上线后,企业主要业务的日常运作都高度依赖该系统的正常运行,因此 ERP系统的稳定性与可靠性对企业至关重要。故障恢复与容灾备份措施是提高系统稳定性与可靠性的重要因素。对于故障恢复与容灾备份措施,参与测试的王工认为应从故障恢复、数据备份和容灾备份等三个方面进行测试。请用 300字以内文字,对这三方面的测试内容进行简要说明。
17、(分数:5)_正确答案:(对于故障恢复与容灾备份措施,应从以下三个方面进行测试:故障恢复:测试整个 ERP系统是否存在单点故障;任何一台设备失效时,能否按照预定义的规则实现快速切换;是否采用磁盘镜像技术,实现主机系统到磁盘系统的高速连接。数据备份:ERP 系统关键业务是否具备必要的双机热备或磁盘镜像等热备份机制;对于整个 ERP业务,是否提供外部存储器备份和恢复机制,保证系统能够根据备份策略恢复到指定时间的状态。容灾备份:ERP 系统是否建立异地容灾备份中心,当主中心发生灾难性事件时,可由备份中心接管所有业务;备份中心是否有足够的带宽确保与主中心的数据同步,是否有足够处理能力来接管主中心的业务
18、,能否确保快速可靠地与主中心的应用切换。12、敏感数据加密保护和数据库访问方式的测试内容为:敏感数据的加密保护:由于 ERP系统的用户权限和口令存储在数据库中,因此需要测试相应敏感数据是否采用加密算法进行加密保护。数据库访问方式测试:是否为不同应用系统或业务设置不同的专门用户用于数据库访问,应杜绝在代码中使用超级用户及默认密码对数据库进行访问。)解析:软件系统的安全性是信息安全的一个重要组成部分,针对程序和数据的安全性测试与评估是软件安全性测试的重要内容,本题考查软件安全性测试的相关知识。本问题考查故障恢复与容灾备份措施测试内容。针对故障恢复与容灾备份措施的安全性测试一般包括故障恢复、数据备份
19、与容灾备份三个测试点,其包含的基本测试内容为:故障恢复:整个系统是否存在单点故障;对于关键应用系统,当任何一台设备失效时,能否按照预定义的规则实现快速切换;是否采用磁盘镜像技术,实现主机系统到磁盘系统的高速连接;数据备份:对于关键业务,是否具备必要的双机热备或磁盘镜像等热备份机制;对于所有业务,是否提供外部存储器备份和恢复机制,保证系统能够根据备份策略恢复到指定时间的状态;容灾备份:是否建立异地容灾备份中心,当主中心发生灾难性事件时,可由备份中心接管所有业务;备份中心是否有足够的带宽确保与主中心的数据同步,是否有足够处理能力来接管主中心的业务,能否确保快速可靠地与主中心的应用切换。(2).数据
20、库服务器中目前主要存储 ERP系统业务数据,后续还需要存储企业网站相关数据,当前 ERP系统的用户认证方式包含口令认证方式,相应的用户权限和口令也存储在数据库二维表中。针对上述实际情况,参与测试的李工认为在对数据库权限进行测试时,除数据库账号保护及权限设置相关的常规测试外,还必须对敏感数据加密保护及对数据库访问方式进行相应测试。请用 200字以内文字,对敏感数据加密保护和数据库访问方式两个方面的测试内容进行简要说明。(分数:5)_正确答案:(安全防护策略是软件系统对抗攻击的主要手段,常见的安全防护策略有以下四种:安全日志:安全曰志用于记录非法用户的登录名称、操作时间及内容等信息,以便发现问题并
21、提出解决措施;安全日志仅记录相关信息,不对非法行为做出主动反应,属于被动防护的策略;入侵检测系统:入侵检测系统是一种主动的网络安全防护措施,从系统内部或各种网络资源中主动采集信息,从中分析可能的网络入侵或攻击,通常入侵检测系统还应对入侵行为做出紧急响应;漏洞扫描:漏洞扫描是对软件系统及网络系统进行与安全相关的检测,以找出安全隐患和可被黑客利用的漏洞;隔离防护:隔离防护是将系统中的安全部分与非安全部分进行隔离的措施,主要的技术手段有防火墙和隔离网闸等,其中防火墙主要用于内网和外网的逻辑隔离,而网闸则主要用于实现内网和外网的物理隔离。)解析:问题考查考生对数据库权限测试内容的理解。根据本题说明,E
22、RP 系统的用户权限和口令信息存储在数据库中,因此需要测试相应敏感数据是否采用加密算法进行加密保护:而数据库中还需要存储 ERP系统之外的其他系统业务数据,因此应为不同应用系统或业务设置不同的专门用户用于数据库访问,且应杜绝在代码中使用超级用户及默认密码对数据库进行访问。(3).为对抗来自外网或内网的主动攻击,系统通常会采用多种安全防护策略,请给出四种常见的安全防护策略并进行简要解释。结合一种在图中明确标识出的安全防护策略机制,说明针对该机制的安全测试应包含哪些基本测试点。(分数:5)_正确答案:(图中明确标识出的安全防护策略机制为防火墙和入侵检测系统。(可选择防火墙或入侵检测系统中的任一机制
23、描述相应安全测试的测试点)针对防火墙的测试点:(1)是否支持交换和路由两种工作模式;(2)是否支持对 FTP、HTTP、SMTP 等服务类型的访问控制;(3)是否考虑防火墙的冗余设计;(4)是否支持对日志的统计分析功能,日志是否可存储在本地或网络数据库中;(5)对防火墙或受保护内网的非法攻击,是否提供多种告警方式和多种级别的告警。针对入侵检测系统的测试点:能否在检测到入侵事件时,自动执行切断服务、记录入侵过程、报警等动作;是否支持攻击特征信息的集中式发布和攻击取证信息的分布式上载;能否提供多种方式对监视引擎和检测特征进行定期更新;内置的网络能否使用状态监控工具或网络监听工具。)解析:本问题考查
24、基本的安全防护策略的相关知识。安全防护策略是软件系统对抗来自外网或内网的主动攻击的主要手段,常见的安全防护策略包括安全日志、入侵检测、隔离防护与漏洞扫描等,本题首先要求考生对常见安全防护策略的有基本的理解,了解其基本原理与主要措施。图中明确标识出的安全防护策略机制为防火墙和入侵检测系统,考生可自主选择其中一种,描述对其进行安全性测试时需要完成的测试点。阅读以下说明,回答下列问题。说明现代软件的飞速发展,使得系统对软件的依赖越来越强,对软件可靠性的要求也越来越来高,因此发展以发现软件可靠性缺陷为目的的可靠性测试技术也日益迫切。(分数:15)(1).一个完整的软件可行性测试如图 51 所示。请写出
25、图中(1)(5)。(分数:5)_正确答案:(一个完整的软件可行性测试如图 52 所示。(1)确定可靠性目标 (2)可靠性数据 (3)分析可靠性的因素 (4)可靠性模型 (5)可靠性评价)解析:(2).解释说明软件可靠性测试的目的,并说明狭义和广义软件可靠性测试的区别。(分数:5)_正确答案:(可靠性测试的目的可归纳为以下三个方面:发现软件系统在需求、设计、编码、测试、实施等方面的各种缺陷。为软件的使用和维护提供可靠性数据。确认软件是否达到可靠性的定量要求。)解析:(3).可靠性目标是指客户对软件性能满意程度的期望。通常采用失效严重程度、可靠度、故障强度、平均无故障时间等指标来描述。请分别解释其
26、含义。(分数:5)_正确答案:(广义的软件可靠性测试是指为了每终评价软件系统的可靠性而运用建模、统计、试验、分析、评价等一系列手段对软件系统实施的一种测试。狭义的软件可靠性测试是指为了获取可靠性数据,按预先确定的测试用例,在软件的预期使用环境中,对软件实施的一种测试。狭义的软件可靠性测试也叫“软件可靠性试验(sottwan: reliability test)“,它是面向缺陷的测试,以用户将要使用的方式来测试软件,每一次测试代表用户将要完成的一组操作,使测试成为最终产品使用的预演。这就使得所获得的测试数据与软件的宴际运行数据比较接近,可用于软件可靠性评价。 失效严重程度类就是对用户具有相同程度影响的失效集合。可靠度就是软件系统在规定的条件下,规定的时间内不发生失效的概率。故障强度是指:以单位运转时间的软件故障停机小时表示停机时间的长短,其表式为:软件故障强度率=100%*软件故障停机小时/软件实际运转时间。平均无故障时间(MTTF):全称是 Mean Time To Failure,即平均失效时间。系统平均能够正常运行多长时间,才发生一次故障。系统的可靠性越高,平均无故障时间越长。)解析: