当前位置:首页计算机类软件水平考试中级软件评测师->某公司开发基于Web招聘系统,采用JavaEE系统架构。系统

某公司开发基于Web招聘系统,采用Java EE系统架构。系统提供用户注册、职位设置、接受应聘者申请和评估录取应聘者等功能。接受申请主要是验证应聘者提交姓名、地址、照片、简历和预申请职位等信息完整性,并发送给应聘者相关通知;评估应聘者主要是根据部门经理设置所需职位,对已经受理申请进行资格审查,发送给应聘者录用与否相关决策信息。

系统要支持:

在50个用户并发时,主要功能处理能力至少要达到5个请求/秒,平均数据量12KB/请求;

用户可以通过PC、移动设备上不同操作系统和浏览器进行访问。

1、简要叙述招聘系统链接测试主要测试内容。

2、简要叙述为了达到系统要支持(2),需要进行哪些兼容性测试,并设计一个兼容性测试矩阵实例。

3、在满足系统要支持(1)时,计算系统通信吞吐量。

4、系统实现时,对用户登录判断所用动态SQL语句如下: "SELECT*FROM Users WHERE User_ Name='"+ strUserName+"'AND Password='"+ strPassword+"';"

该SQL语句是否能防止SQL注入?请设计一个测试用例,以测试SQL注入,并说明防止SQL注入方法。

答案:
本题解析:

1、招聘系统链接测试主要测试如下3个方面: 1)每个链接是否能够链接到目标页面 2)被链接页面是否存在 3)是否存在孤立页面

2、招聘系统兼容性测试: 1)平台兼容性和浏览器兼容性。 2)兼容性测试矩阵示例如下:

中级软件评测师,章节练习,基础复习,中级软件测评师练习

3、通信吞吐量:P=N(并发用户数量=50)×T(每单位时间在线事务数量=5)×D(事务服务器每次处理数据负载=12KB/s)=50×5×12=3000KB/s。

4、

该SQL语句不安全,容易造成SQL注入。

设计测试用例:

[注:设计类似如下用例一个即可,其中应包含SQL功能符号,使得该SQL语句变得不符合设计意图即可,例如,包含了“--”或“’,DROP……”等]

参考用例1:

strUserName:Zhang'--strPassword:San

[注:上述用例将使得该SQL语句变为:

SELECT*FROM Users WHERE User_Name='Zhang'--AND Password='San';]

参考用例2:

strUserName:Zhang'or'a'='a strPassword:San'or'a'='a

[注:上述用例将使得该SQL语句变为:

SELECT*FROM Users WHERE User Name='Zhang'or'a'='a'AND Password='San'or'a'='a':]

防止SQL注入方法主要有:拼接SQL之前对特殊符号进行转义,使其不作为SQL语句功能符号。

1、

本题考查Web应用测试相关内容。Web应用测试既要关注类似传统软件系统测试多个方面,如性能测试、压力测试等,还需要测试链接、浏览器、安全等多个方面。

本问题考查链接测试主要内容。链接测试是Web应用功能测试重要内容,测试时需要测试所有页面外向链接、内部链接、页面中链接跳转、发送Email等功能性链接、是否存在孤立页面、链接目标是否存在等等。链接测试主要测试如下3个方面: 1)每个链接是否能够链接到目标页面; 2)被链接页面是否存在; 3)是否存在孤立页面,即无法通过应用主要入口页面链接到,而只有通过特定URL才能访问到页面。

2、

本问题考查Web应用兼容性测试内容。Web应用兼容性是Web应用可用重要方面,Web应用具有支持多渠道访问特性,设备、平台、浏览器等开发商不同、版本不同,会影响Web应用可用性、可访问性甚至功能性等诸多方面。因此,兼容性测试是Web应用测试重要方面。

Web应用兼容测试是测试Web应用在各种硬件、软件、操作系统、网络等不同环境下,发现程序运行时出现错误。常见Web应用兼容性测试有平台兼容性测试、浏览器兼容性测试、分辨率测试、连接速度测试、打印机测试、数据库兼容性测试和应用软件之间兼容性测试。 本系统用户可以通过PC和移动设备不同操作系统和浏览器进行访问,涉及到PC和移动设备使用多种操作系统,如Windows多种版本、Linux、Unix、Android、iOS,而各种系统上又有多种可用浏览器,如IE多种版本、Firefox、Google Chrome、Safari等,因此需要针对不同设备,进行相应操作系统平台和浏览器兼容性测试。

兼容性测试矩阵是进行兼容性测试常用工具,将操作系统平台和浏览器为矩阵两维,对相应组合进行测试。

3、

本问题考查Web应用系统性能指标计算。通信吞吐量,设定如下指标参数: N:并发用户数量; T:每单位时间在线事务数量 D:事务服务器每次处理数据负载 P:系统通信吞吐量

有如下计算公式: P=N×T×D

本题中系统要求支持(1)中给出50个用户并发,即N=50;主要功能处理能力至少要达到5个请求/秒,即T=5;平均数据量12KB/请求,即D=12KB/s。

则:通信吞吐量P=50×5×12=3000KB/s

4、

本问题考查Web应用安全性方面。SQL注入是Web应用安全性测试重要方面。

许多Web应用系统采用某种数据库,接收用户从Web页面中输入,完成展示相关存储数据(如,检查用户登录信息)、将输入数据存储到数据库(如,用户输入表单中数据域并点击提交后,系统将用户名密码等注册信息存入数据库)等操作。在有些情况下,将用户输入数据和设计好SQL框架拼接后提交给数据库执行,就可能存在用户输入数据并非设计正确格式,就给恶意用户提供了破坏机会,即SQL注入。恶意用户输入不期望数据,拼接后提交给数据库执行,造成可能使用其他用户身份、查看其他用户私密信息,还可能修改数据库结构,甚至是删除应用数据库表等严重后果。因此需要在测试阶段进行认真严格测试。

本系统实现时,对用户登录判断所用动态SQL语句是:

"SELECT*FROM Users WHERE User_Name='"+strUserName+"'AND Password='"+ strPassword+"';"

采用拼接字符串方式,无法防止SQL注入。

例如strUserName:'Zhang'--,strPassword:San,则该SQL变为: SELECT*FROM Users WHERE User_ Name='Zhang'--AND Password='San'; “--”是SQL中注释符号,其后内容为注释,这样上述语句中“--”之后内容变为注释,只要用户表中有用户名为Zhang,系统就允许用户以Zhang身份登录,并以Zhang身份做任何可做操作。

再比如strUserName:Zhang'or'a'='a,strPassword:San'or'a'='a,则该SQL变为:

SELECT*FROM Users WHERE User_Name='Zhang'or'a'='a'AND Password='San'or'a'='a';

因为'a'='a'条件总是成立,因此,SQL执行结果包括用户表中所有行,系统就允许以第一行身份进行登录。

更为严重情况下,如果用户输入strUserName:Zhang';DROP table users_details;'--'以及任何字符串作为strPassword,该SQL就变为: SELECT*FROM Users WHERE User=Name='John';DROP table users_details;'--'AND Password='San;

这就造成数据库中users_details表被永久删除。

防止SQL注入方法主要有:拼接SQL之前对特殊符号进行转义,使其不作为SQL语句功能符号。 SQL注入在使用SSL应用中仍然存在,甚至是防火墙也无法防止SQL注入。因此,在测试Web应用时,需要认真仔细设计测试用例,采用Web漏洞扫描工具等进行检查,以保证不存在SQL注入机会。

更新时间:2022-08-05 22:47
纠错

你可能感兴趣的试题

单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.V(S2)和P(S4)
  • B.P(S2)和V(S4)
  • C.P(S2)和P(S4)
  • D.V(S2)和V(S4)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.V(S1)P(S2)和V(S3)
  • B.P(S1)V(S2)和V(S3)
  • C.V(S1)V(S2)和V(S3)
  • D.P(S1)P(S2)和V(S3)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S4)和V(S4)V(S5)
  • B.V(S5)和P(S4)P(S5)
  • C.V(S3)和V(S4)V(S5)
  • D.P(S3)和P(S4)V(P5)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S3)和V(S4)V(S5)
  • B.V(S3)和P(S4)P(S5)
  • C.P(S3)和P(S4)P(S5)
  • D.V(S3)和V(S4)V(S5)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S2)和P(S4)
  • B.P(S2)和V(S4)
  • C.V(S2)和P(S4)
  • D.V(S2)和V(S4)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.V(S1)、P(S1)和V(S2)V(S3)
  • B.P(S1)、V (S1)和V(S2)V(S3)
  • C.V(S1)、V(S2)和P(S1)V(S3)
  • D.P(S1)、V(S2)和V(S1)V(S3)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.序列图
  • B.状态图
  • C.通信图
  • D.活动图
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.合并分叉
  • B.分支
  • C.合并汇合
  • D.流
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.产甲2套,乙3套
  • B.生产甲1套,乙4套
  • C.生产甲3套,乙4套
  • D.生产甲4套,乙2套
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.见图A
  • B.见图B
  • C.见图C
  • D.见图D
查看答案