试题三(共20分)阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】某高校开发了
试题三(共20分)
阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某高校开发了一套基于Web的教务管理系统,实现教务管理人员课程设置、学生选课和成绩查询、教师上传成绩以及特殊情况下教务处对成绩进行修改等功能。系统基于Java EE平台实现,采用表单(Form)实现用户数据的提交并与用户交互。
系统要支持:
(1)在特定时期内100个用户并发时,主要功能的处理能力至少要达到每秒10个请求,平均数据量8KB/请求;
(2)用户可以通过不同的移动设备、操作系统和浏览器进行访问。
【问题1】(4分).
简要叙述教务管理系统表单测试的主要测试内容。
【问题2】(5分)
简要叙述为了达到系统要支持的(2),需要进行哪些兼容性测试,并设计一个兼容性测试矩阵。
【问题3】(5分)
在满足系统要支持的(1)>时,计算系统的通信吞吐量。
【问题4】(6分)
系统实现时,对成绩更新所用的SQL语句如下:
“UPDATE StudentScore SET score = ” + intClientSubmitScore + “ WHEREStuent_ID=“ + strStudentID +
设计1个测试用例,测试该SQL语句是否能防止SQL注入,并说明该语句是否能防止SQL注入,以及如何防止SQL注入。
试题分析
【问题1】
当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登录、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如,只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
除了测试表单实现的功能,还要检查Form区域的外部表现,如文字环绕、随窗口的大小调整大小等
【问题2】
Web应用的兼容性是测试的重要方面,主要包括:浏览器兼容性测试、操作系统兼容性测试、移动终端浏览测试、打印测试等。本系统用户可以通过不同的移动配置进行访问,测试显示速度和流量等。
不同的浏览器有不同的配置需要Web应用兼容。Web应用中的代码应该跨浏览器平台兼容。Web应用中如果使用JavaScript或AJAX调用UI功能,完成安全检查或验证,那么就需要在浏览器兼容性方面进行更多测试,如,Internet Explorer、firefox、Netscape Navigator、AOL、Safari和Opera等各种浏览器及其不同版本。
Web应用的有些功能可能并非兼容所有的操作系统,Web应用开发中用到的图形设 计、API接口等技术可能并非在所有操作系统平台上支持。因此需要在如Windows、Unix、Mac、Linux和Solaris等不同操作系统上对Web应用进行测试。
移动设备越来越普及,新技术层出不穷,不同移动设备上的不同浏览器的兼容性也需要进行测试。
如果Web应用支持打印功能,需要测试字体、页面布局、页面图片和页面大小等是否正常打印。
在设置的兼容性测试矩阵肯定要包含平台和浏览器的内容,矩阵的行可以是不同的平台,而列是不同的浏览器,同时平台和浏览器都是合理的,还要提醒出移动的元素在里面即可。
【问题3】
系统要支持在100个用户并发时,主要功能的处理能力至少要达到10个请求/秒,平均每个请求的数据量是8KB,那么要达到这个目标,系统的通信吞吐量=系统的并发用户数*单位时间的在线事务数(请求数)*每个请求的平均数据流=100*10*8KB=8000KB。
【问题4】
SQL注入是黑客攻击数据库的一种常用方法,其实就是通过把SQL命令插入到Web表单或页面请求的查询字符串中提交,最终达到欺骗服务器执行恶意的SQL命令,来达到攻击的目的。
本题中给出的SQL语句不能防止SQL注入,设置的这个测试用例只要包含SQL功能符号,然后使得SQL语句不符合原设计意图即可。例如,包含了“--”或“’”等,那么整个语句为:将intClientSubmitScore为85 DELETE FROM score -- ;strStudentID为1000
这样SQL语句执行就变成:UPDATE StudentScore SET score =85DELETE FROM score -- WHEREStuent_ID= 1000 ;
防止SQL注入的有些方法主要有:拼接SQL之前先对特殊符合进行转义,使其不作为SQL的功能符合即可。
试题答案
【问题1】
测试表单实现的功能
测试表单的外部表现
【问题2】
浏览器兼容性测试、操作系统兼容性测试、移动终端浏览测试、打印测试等。
在设置的兼容性测试矩阵肯定要包含平台和浏览器的内容,矩阵的行可以是不同的平台,而列是不同的浏览器,同时平台和浏览器都是合理的,还要提醒出移动的元素在里面即可。
浏览器 平台 | 浏览器1 | 浏览器2 | ·· · · | 浏览器n |
平台1 | ||||
· · · | ||||
平台n |
【问题3】
系统的通信吞吐量=系统的并发用户数*单位时间的在线事务数(请求数)*每个请求的平均数据流=100*10*8KB=8000KB
【问题4】
输入intClientSubmitScore为85 DELETE FROM score -- ;strStudentID为1000
这样SQL语句执行就变成: UPDATE StudentScore SETscore =85 DELETE FROM score -- WHERE Stuent_ID= 1000 ;防止SQL注入的有些方法主要有:拼接SQL之前先对特殊符合进行转义,使其不作为SQL的功能符合即可。
英语问题(您的提问不够清晰,请将问题说明清楚,网友才能为您解答)Whodoyouknowthata 英语 2020-05-15 …
阅读以下说明和Java代码,回答问题[说明] 任何一种程序都是为了解决问题而撰写的,解决问题时需要 计算机类考试 2020-05-26 …
阅读下列函数说明和C++代码,回答问题[说明] 任何一种程序都是为了解决问题而撰写的,解决问题时需 计算机类考试 2020-05-26 …
阅读以下函数说明和C代码,回答问题[说明] 任何一种程序都是为了解决问题而撰写的,解决问题时需要 计算机类考试 2020-05-26 …
鸡兔同笼问题解方程小明参加数学比赛,共20道题,已知每答对一题得5分,答错或不答倒扣3分,小明最后 数学 2020-06-27 …
请你按“提出问题——分析问题——解决问题”的思路回答:(1)结合某地实际,提出一个有关人口、资源、 政治 2020-07-31 …
多阶段决策问题一定有解吗?动态规划一定能求出最优解吗?多阶段决策问题解的存在条件是什么?怎么证明解 数学 2020-07-31 …
问题探究(1)请在图①的正方形ABCD内,画出使∠APB=90°的一个点P,并说明理由;(2)请在图 数学 2020-11-01 …
请你按“提出问题——分析问题——解决问题”的思路回答:(1)请结合本地实际,提出一个有关人口、资源、 政治 2020-11-21 …
邻居张爷爷的耳朵听不见声音,医院检查结果是,耳的各部分结构没有问题。明明百思不得其解,既然耳朵本身没 语文 2020-12-21 …