列表

详情


阅读下列说明,回答问1至问4,将解答填入答题纸的对应栏内。
【说明】
某MOOC(慕课)教育平台欲开发一基于Web的在线作业批改系统,以实现高效的作业提交与批改并进行统计。系统页面中涉及内部的内容链接、外部参考链接以及邮件链接等。页面中采用表单实现作业题目的打分和评价,其中打分为1~5分制整数,评价为文本。
系统要支持:
(1)在特定时期内300个用户并发时,主要功能的处理能力至少要达到16个请求/秒,平均数据量16KB/请求。
(2)系统前端采用HTML5实现,以使用户可以通过不同的移动设备的浏览器进行访问。

【问题1】(4分)
针对此在线系统进行链接测试时,需要测试哪些方面?
【问题2】(5分)
为了达到系统要支持的(2),设计一个兼容性测试矩阵。
【问题3】(5分)
给出计算系统的通信吞吐量的方法,并计算在满足系统要支持的(1)时系统的通信吞吐量。
【问题4】(6分)
设计 4个打分和评价的测试输入,考虑多个方面的测试,如:正确输入、错误输入、XSS、SQL注入等测试。

参考答案: 【问题1】
内部链接测试、外部连接测试、邮件链接测试、断链测试
【问题2】

【问题3】
系统的通信吞吐量=系统的并发用户数*单位时间的在线事务数(请求数)*每个请求的平均数据流=300*16*16KB=75MB
【问题4】
(1)打分为任何在1-5范围内的数字,评价为任意文本;
(2)打分为任何在1-5范围外的数字,评价为任意文本;
(3)打分和评价其中任一字段包含HTML标签,如<HTML>,<SCRIPT>等;
(4)打分和评价其中任一字段包含SQL功能符号,如包含',OR、'--、2015'OR‘1’=‘1’等。

详细解析:

本题考查Web应用测试相关知识。Web应用测试除了类似传统软件系统测试的性能测试 、压力测试等之外,还需要测试页面、链接、浏览器、表单和可用性等多个方面,由 于Web应用部署访问的大众化特点,对安全性尤其要重视。
此类题目要求考生阅读题目对现实问题的描述,根据对问题的分析,回答测试有关的 问题。本题目说明中除了功能背景之外,给出了几个技术点:系统页面中涉及内部内容的链接、外部参考链接以及邮件链接等。页面中采用表单实现作业题目的打分和评 价,其中打分为1~5分制整数,评价为文本。
【问题1】
本题考查Web应用链接测试的内容。题目中涉及到内部内容的链接、外部参考链接以 及邮件链接,所以均需要测试。还要进行断链测试,测试每个链接是否有断链。
【问题2】
本题要求对不同的移动设备的浏览器进行兼容性测试,其兼容矩阵设计,参考如下:


【问题3】
本题考查Web应用系统的性能指标计算。通信吞吐量,设定如下指标参数:
N:并发用户的数量
T:每单位时间的在线事务数量
D:事务服务器每次处理的数据负载
P:系统的通信吞吐量
有如下计算公式:
P=N×T×D
本题中系统要求支持的(1)中给出300个用户并发,即N=300;主要功能的处理能力至少要达到16个请求/秒,即T=16;平均数据量16kB/请求,即D=16kB/S。
则可得:通信吞吐量P=300×16×16=76800kB/S(75MB/S)。
【问题4】
本题考查Web应用测试的输入方面,包括输入的不同情况、安全性方面的SQL注入和 XSS跨站攻击。
打分和评价的测试输入应该考虑分值的取值范围之内和之外以及文本中的内容:
(1)打分为任何在1~5范围内的数字,评论为任意文本;
(2)打分为任何在1~5范围外的数字,评论为任意文本;
输入的内容中输入符号可能会传到后台引起安全问题。
许多Web应用系统采用某种数据库,接收用户从Web页面中输入,完成展示相关存储的数据、将输入数据存储到数据库(如用户输入表单中数据域并点击提交后,系统将信息存入数据库)等操作。在有些情况下,将用户输入的数据和设计好的SQL拼接后提交给数据库执行,就可能存在用户输入的数据并非设计的正确格式,就给恶意用户提供了破坏的机会,即SQL注入。恶意用户输入不期望的数据,拼接后提交给数据库执行,造成可能使用其他用户身份、查看其他用户的私密信息,还可能修改数据库的结构,甚至是删除应用的数据库表等严重后果。SQL注入在使用SSL的应用中仍然存在, 甚至是防火墙也无法防止SQL注入。因此,在测试Web应用时,需要认真仔细设计测试用例,进行认真严格的测试,以保证如果存在SQL注入可以及早发现。
本系统测试时,设计测试如为:对打分和评价中任一字段设计包含SQL功能符号,如 包含‘,OR、’--、2015’OR‘1’=‘1’等,检查结果是否造成注入问题。
许多Web应用系统在某些情况下,接收页面上传的内容,并入新页面,作为新页面的内容。例如,在本系统中进行打分和评论后,学生查看时显示分值和评价的内容。如果用户可以输入如下带有HTML标记的内容:

<Script>alert("Hello World!");</Script>
在提交之后,标记将提交到服务器上,并在有学生访问新的页面中显示,此时所看到 的网页中包含以上标记的部分元素可能是:
<div>
<Script>alert("Hello World!");</Script>
</div>
从学生的角度看,该网页中就出现了弹出窗口提示,显示Hello World!,如下图所示 :
即:用户输入的内容已经被浏览器成功执行。再如输入如下内容:
<b onmouseover=alert('Hello!')>click me!</b>
在提交之后,后续学生再访问时,所看到的网页中包含标记的部分元素可能是:
<div>
<b onmouseover=alert('Hello!')>click me!</b>
</div>
即新用户所看到的网页中显示Click me!,当用户鼠标移过此文字时,就会弹出窗口 (左侧为Chrome弹出,右侧为IE9直接给出的提示窗口,多次鼠标滑过操作Chrome提 示窗口多了一行浏览器对阻止这类代码的创建新窗口的选项,Firefox类似):

而如果这类代码都可以执行,就存在被真正恶意攻击者攻击的可能,而且可能造成各 类安全问题。所以网站提交代码中的任何脚本、页面功能符号都不应该被直接接受以作为功能符号在后续使用。所以测试时需要考虑设计包含HTML标记符、脚本等测试输 入,如<HTML>、<script>、<b>等功能符号。 

上一题