推荐等级:
发布时间: 2021-12-17 14:32
扫码用手机做题
某企业想开发一套B2C系统,其主要目的是在线销售商品和服务,使顾客可以在线浏览和购买商品和服务。系统的用户的IT技能、访问系统的方式差异较大,因此系统的易用性、安全性、兼容性等方面的测试至关重要。
系统要求:
(1)所有链接都要正确;
(2)支持不同移动设备、操作系统和浏览器;
(3)系统需通过SSL进行访问,没有登录的用户不能访问应用内部的内容。
【问题1】(5分)
简要叙述链接测试的目的以及测试的主要内容。
【问题2】(4分)
简要叙述为了达到系统要求(2),要测试哪些方面的兼容性。
【问题3】(4分)
本系统强调安全性,简要叙述Web应用安全性测试应考虑哪些方面。
【问题4】(4分)
针对系统要求(3),设计测试用例以测试Web应用的安全性。
本题解析:
【问题1】
链接测试的目的是确保Web应用功能能够成功实现。链接测试主要测试如下3个方面:
1)链接是否能够链接到该链接到的目标页面:
2)被链接的页面存在;
3)测试是否存在孤立页面。即只有通过特定URL才能访问到的页面。
【问题2】
浏览器兼容性测试、操作系统兼容性测试、移动终端浏览测试、打印测试等。
【问题3】
Web应用安全体系测试可以从部署与基础结构、输入验证、身份验证、授权、配置管理、敏感数据、会话管理、加密、参数操作、异常管理、审核和日志记录等多个方面进行。
【问题4】
SQL注入测试用例:用户名:name’or’a’=’a,密码:password’ or’a’=’a;或者用户名:name’--,密码:password。(name为系统内有或者无的用户名)。
测试SSL:某链接URL的https://换成http://:
内容访问:https://domain/foo/bar/content.doc;(注:域名和路径为应用的域名和路径)
内部URL拷贝:将登录后的某URL拷贝出来,关闭浏览器并重启后将URL粘贴在地址栏访问内部内容。
某酒店预订系统有两个重要功能:检索功能和预订功能。检索功能根据用户提供的关键字检索出符合条件的酒店列表;预订功能是对选定的某一酒店进行预订。现需要对该系统执行负载压力测试。
该酒店预订系统的性能要求为:
(1)交易执行成功率100%;
(2)检索响应时间在3s以内;
(3)检索功能支持900个并发用户:
(4)预订功能支持100个并发用户;
(5) CPU利用率不超过85%;
(6)系统要连续稳定运行72小时。
【问题1】(3分)
简述该酒店预订系统在生产环境下承受的主要负载类型。
【问题2】(5分)
对该系统检索功能执行负载压力测试,测试结果如表1-1所示,请指出响应时间和交易执行成功率的测试结果是否满足性能需求并说明原因。
【问题3】(5分)
对该系统执行负载压力测试,测试结果如表1-2所示,请指出CPU占用率的测试结果是否满足性能需求并说明原因。
【问题4】(6分)
根据【问题2】和【问题3】的测试结果,试分析该系统的可能瓶颈。
本题解析:
【问题1】
该酒店预订系统在生产环境下承受的主要负载类型有:
1)并发用户数属于并发执行负载。
2)连续稳定运行72小时属于疲劳强度负载。
3)大量检索操作属于大数据量负载。
【问题2】
测试结果不满足性能指标。当并发用户数为900时,响应时间为3.7s,不满足响应时间小于3s的要求;当并发用户数为1000时,响应时间为6.6s,交易成功率为98%,但要求检索功能的并发用户数最多为900,当用户数为1000时,不能算作满足。(1分)
【问题3】
测试结果不满足性能指标。当900个检索并发用户和100个预订并发用户时,CPU利用率超过85%;要求检索功能支持900个并发用户,预订功能支持100个并发用户,所以在1000个检索并发用户和120个预订并发用户时CPU占用率超过85%不能算满足。
【问题4】
1)系统没有采用合适的并发/并行策略。
2)服务器CPU性能不足。
3)数据库设计不足或者优化不够。
4)服务器网络带宽不足。
现代软件的飞速发展,使得系统对软件的依赖越来越强,对软件可靠性的要求也越来越高,因此发展以发现软件可靠性缺陷为目的的可靠性测试技术也日益迫切。
【问题1】(5分)
一个完整的软件可靠性测试如图5-1所示。
请填写图中的空缺(1)~(5)。
【问题2】(5分)
解释说明软件可靠性测试的目的,并说明狭义和广义软件可靠性测试的区别。
【问题3】(2分)
可靠性目标是指客户对软件性能满意程度的期望。通常采用失效严重程度、可靠度、故障强度、平均无故障时间等指标来描述。请分别解释其含义。
本题解析:
【问题1】
(1) 确定可靠性目标
(2) 可靠性数据
(3) 分析影响可靠性因素
(4) 可靠性模型
(5) 可靠性评价
【问题2】
软件可靠性测试的目的:1)发现软件系统在需求、设计,编码,测试、实施等方面的各种缺陷;2)为软件的使用和维护提供可靠性数据:3)确认软件是否达到可靠性的定量要求.
广义的软件可靠性测试是指为了最终评价软件系统的可靠性而运用建模、统计,试验、分析、评价等一系列手段对软件系统实施的一种测试.
狭义的软件可靠性测试是指为了获取可靠性数据,按预先设定的测试用例,在软件的预期使用环境中,对软件实施的一种测试.
【问题3】
失效严重程度,是对用户具有相同程度影响的失效集合,常见的是按照对成本影响、对系统能力的影响等标准划分软件失效的严重程度类。
可靠度是指软件系统在规定的条件下,规定的时间内不发生失效的概率。
故障强度是指单位时间软件系统出现失效的概率。
平均无故障时间是软件运行后,到下一次出现失效的平均时间。
某企业为防止自身信息资源的非授权访问,建立了如图4-1所示的访问控制系统。
该系统提供的主要安全机制包括:
(1) 认证:管理企业的合法用户,验证用户所宣称身份的合法性,该系统中的认证机制集成了基于口令的认证机制和基于PKI的数字证书认证机制;
(2) 授权:赋予用户访问系统资源的权限,对企业资源的访问请求进行授权决策;
(3) 安全审计:对系统记录与活动进行独立审查,发现访问控制机制中的安全缺陷,提出安全改进建议。
【问题1】 (6分)
对该访问控制系统进行测试时,用户权限控制是其中的一个测试重点。对用户权限控制的测试应包含哪两个主要方面每个方面具体的测试内容又有哪些
【问题2】(3分)
测试过程中需对该访问控制系统进行模拟攻击试验,以验证其对企业资源非授权访问的防范能力。请给出三种针对该系统的可能攻击,并简要说明模拟攻击的基本原理。
【问题3】(3分)
对该系统安全审计功能设计的测试点应包括哪些
本题解析:
【问题1】
(1)对用户权限控制体系合理性的评价,其具体测试内容包括;
是否采用系统管理员、业务领导、操作人员三级分离的管理模式。
是否具有唯一性,口令的强度及口令存储的位置和加密强度等。
(2)对用户权限分配合理性的评价,其具体测试内容包括:
用户权限系统本身权限分配的细致程度。
特定权限用户访问系统功能的能力测试。
【问题2】
冒充攻击:攻击者控制企业某台主机,发现其中系统服务中可利用的用户账号,进行口令猜测,从而假装成特定用户,对企业资源进行非法访问。
重演攻击:(或重放攻击):攻击者通过截获含有身份鉴别信息或授权请求的有效消息,将该消息进行重演,以达到鉴别自身或获得授权的目的,实现对企业资源的访问。
服务拒绝攻击:攻击者通过向认证服务或授权服务发送大量虚假请求,占用系统带宽并造成关键服务繁忙,从而使得认证授权服务功能不能正常执行,产生服务拒绝。
内部攻击:不具有相应权限的系统合法用户以非授权方式进行动作,如截获并存储。
其他业务部门的网络数据流,或对系统访问控制管理信息进行攻击以获得他人权限等。
以上攻击,任给出3种即可。
【问题3】
对该系统安全审计功能设计的测试点应包括:
能否进行系统数据收集,统一存储,集中进行安全审计。
是否支持基于PKI的应用审计。
是否支持基于XML等的审计数据采集协议。
是否提供灵活的自定义审计规则。
逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。
struct _ProtobufCIntRange{
int start_value;
unsigned orig_index;
};
typedef struct _ProtobufCIntRange ProtobufCIntRange;
int int_range_lookup (unsigned n_ranges, const ProtobufCIntRange *ranges, int value){
unsigned start,n; ∥1
start=0;
n=n_ranges;
while(n>1){ //2
unsigned mid= start+ n/2;
if(value< ranges[mid].start_value){ //3
n=mid-start; //4
}
else if(value>=ranges[mid].start value+
(int)(ranges[mid+1].orig_index-ranges[mid].orig_index)){ //5
unsigned new_start= mid+1; //6
n=start+n-new_start,
start = new_start;
}
else //7
return (value - ranges[mid].start_value)+ ranges[mid],orig_index;
}
if(n>0){ //8
unsigned start_orig_index= ranges[start].orig_index;
unsigned range_size=ranges[start+1].orig_index - start_orig_index;
if (ranges[start].start_value<=value
&& value< (int)(ranges[start].start_value+ range_size) ) //9, 10
return (value - ranges[start].start_value)+start_orig_index; //11
}
retun -1, //12
} //13
【问题1】
请给出满足100%DC(判定覆盖)所需的逻辑条件。
【问题2】
请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
【问题3】
请给出【问题2】中控制流图的线性无关路径。
本题解析:
【问题1】
【问题2】
控制流图
环路复杂度V(G)=7
【问题3】
线性无关路径:
1)1-2-3-4-2...
2)1-2-3-5-6-2...
3)1-2-3-5-7-13
4)1-2-8-9-10-11-13
5)1-2-8 9-10-12-13
6)1-2-8-9-12-13
7)1-2-8-12-13
试卷分类:高级信息系统项目管理师
练习次数:0次
试卷分类:高级系统架构设计师
练习次数:0次
试卷分类:中级系统集成项目管理工程师
练习次数:0次
试卷分类:中级信息系统监理师
练习次数:0次
试卷分类:中级软件设计师
练习次数:0次
试卷分类:高级网络规划设计师
练习次数:0次
试卷分类:高级网络规划设计师
练习次数:0次
试卷分类:高级网络规划设计师
练习次数:0次
试卷分类:中级网络工程师
练习次数:0次
试卷分类:中级网络工程师
练习次数:0次