题目详情

某公司开发基于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注入机会。

你可能感兴趣的试题

单选题

一台主机的IP地址为202.123.25.36,掩码为255.255.254.0。如果该主机需要在该网络进行直接广播,那么它应该使用的目的地址为( )

  • A.202.123.25.0
  • B.202.123.25.255
  • C.202.123.24.0
  • D.202.123.24.255
查看答案
单选题

在计算机系统的日常维护工作中,应当注意硬盘工作时不能__(2)__。另外,需要防范病毒,而__(3)__是不会被病毒感觉的。

  • A.电子邮件
  • B.硬盘
  • C.U盘
  • D.ROM
查看答案
单选题

有 4 个 IP 地址:201.117.15.254、201.117.17.01、201.117.24.5 和 201.117.29.3,如果子网掩码为 255.255.248.0,则这 4 个地址分别属于3个子网;其中属于同一个子网的是()

  • A.201.117.15.254 和 201.117.17.01
  • B.201.117.17.01 和 201.117.24.5
  • C.201.117.15.254 和 201.117.29.3
  • D.201.117.24.5 和 201.117.29.3
查看答案
单选题

在异步通信中,每个字符包含1位起始位、7位数据位、1位奇偶位和1位终止位,每秒钟传送200个字符,采用4相位调制,则码元速率为()。

  • A.50波特
  • B.500波特
  • C.550波特
  • D.1000波特
查看答案
单选题

在 Windows 中,运行( )命令得到下图所示结果。以下关于该结果的叙述中,错误的是( )。

Pinging 59.74.111.8 with 32 bytes of data:

Reply from 59.74.111.8: bytes=32 time=3ms TTL=60

Reply from 59.74.111.8: bytes=32 time=5ms TTL=60

Reply from 59.74.111.8: bytes=32 time=3ms TTL=60

Reply from 59.74.111.8: bytes=32 time=5ms TTL=60

Ping statistics for 59.74.111.8:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 3ms, Maximum = 5ms, Average = 4ms

  • A.该命令使得本地主机向目标主机发送了 4 个数据包
  • B.本地主机成功收到了目标主机返回的 4 个数据包
  • C.本地主机与目标主机连接正常
  • D.该命令用于查看目标主机的 IP 地址
查看答案

相关题库更多 +