2016年软件评测师,web测试案例分析解答
某证券交易所为了方便提供证券交易服务,欲开发一个基于Web的证券交易平台。其主要功能包括客户开户,记录查询、存取款、股票交易等。客户信息包括姓名、Email(必填且唯一)、地址等;股票交易信息包括股票代码(6位数字编码的字符串)、交易数量(100的整数倍)、买/卖价格(单位:元,精确到分)。
系统要支持:
(1)在特定时期内3000个用户并发时,主要功能的处理能力至少要达到128个请求/秒,平均数据量2KB/请求;
(2)页面中采用表单实现客户信息、交易信息等的提交与交互,系统前端采用HTML5实现。
【问题1】(4分)
在对此平台进行非功能测试时,需要测试哪些方面?
参考答案:
性能测试、安全性测试、兼容性测试、易用性测试
解析:
Web系统按软件的质量特征分:功能测试;性能测试;安全性测试;兼容性测试;易用性测试。
【问题2】(5分)
在满足系统要支持的(1)时,计算系统的通信吞吐量。
参考答案:
3000*128*2KB=750MB
解析:
系统的吞吐量:3000*128*2KB =750MB
【问题3】(3分)
表单输入测试需要测试哪几个方面?
参考答案:
每个字段的验证
字段的缺省值
表单中的输入
解析:
表单测试结合本题来看应为:每个字段的验证;字段的缺省值;表单中的输入。
【问题4】(8分)
(1)针对股票代码:111111、数量:10万、当前价格:6.00,设计4个股票交易的测试输入。
(2)设计2个客户开户的测试输入,以测试是否存在XSS、SQL注入。
参考答案:
(1)
1:111111,10万,6(正确输入)
2: 1222,10万,6(代码错误)
3: 111111, 0万,6(数量错误)
4: 111111,10万,0(价格错误)
(2)
1:姓名:张三 or 1=1--
Email:q123@q123.com
地址:xxxxxxX
2:姓名:张三
Email:q123@q123.com
地址:xxxxxxx<script>alert('测试信息')</script>
测试时会弹出对话框'测试信息'
解析:
(1)本题中有3条件,应该设计一个测试用例覆盖3个有效等价类;然后针对每个条件的无效等价类各设计一个测试用例.
(2)针对客户信息包括姓名、Email (必填且唯一)、地址,等输入,任意挑选一个输入文本框,在保障SQL能运行的前提下,输入带有注入式攻击和XSS攻击的特征内容即可。
备注:注入式攻击和XSS攻击的特征是什么
注入式攻击和XSS攻击是两种典型的Web安全威胁,其特征总结如下:
------
一、注入式攻击(以SQL注入为代表)
1. 攻击原理
• 通过篡改用户输入数据,将恶意指令嵌入到SQL查询语句中,欺骗数据库执行非法操作。
• 例如:在登录表单输入' OR 1=1 --绕过密码验证,直接获取管理员权限。
2. 核心特征
• 针对数据库:直接操作数据库的增删改查命令,窃取/破坏数据。
• 输入敏感性强:攻击依赖用户输入未过滤的特殊字符(如单引号'、注释符--)。
• 隐蔽性高:攻击成功时无页面异常,仅通过数据异常暴露(如异常查询结果)。
3. 典型场景
• 用户登录、搜索框、订单查询等涉及数据库交互的功能。
------
二、XSS攻击(跨站脚本攻击)
1. 攻击原理
• 向网页注入恶意脚本(通常是JavaScript),当用户浏览时在浏览器执行。
• 例如:在论坛评论中嵌入<script>窃取cookie信息</script>,其他用户打开页面即中招。
2. 核心特征
• 客户端执行:恶意脚本在受害者浏览器运行,而非服务端。
• 攻击链依赖:需用户触发(如点击恶意链接或访问被篡改页面)。
• 窃取用户信息:主要盗取Cookie、会话令牌、密码等敏感数据。
3. 三大类型特征
【表格】
类型 触发方式 危害范围
反射型XSS 用户点击含恶意脚本的URL(如钓鱼链接) 单个用户受影响
存储型XSS 恶意脚本存入数据库(如论坛评论) 所有访问用户受影响
DOM型XSS 前端脚本动态修改DOM时执行恶意代码 依赖页面前端逻辑
------
三、关键区别与防御重点
| 攻击类型 | 攻击目标 | 防御措施 |
| 注入式攻击 | 数据库/服务端逻辑 | 参数化查询、输入过滤 |
| XSS攻击 | 用户浏览器 | 输入转义(如<→<)、启用CSP策略 |
💡本质差异:
• 注入式攻击是服务端漏洞(如SQL注入篡改数据库);
• XSS是客户端漏洞(脚本在浏览器执行)。
两类攻击均源于未过滤用户输入,需严格校验所有外部数据。
