1.需求分析2.快速熟悉项目3.页面初始化测试4.防御性代码测试5.详细功能测试 5.1 数据分析5.2 数据构造(举例) 5.2.1 前台注册页面输入框(等价类边界值法)5.2.2 后台搜索用户页面输入框5.2.3 前台搜索商品价格输入框5.2.4 前台搜索商品品牌、价格选择字段(正交法)5.2.5 其他需要注意的测试内容 5.2.5.1模态窗口5.2.5.2 动画5.2.5.3 banner图 5.3 编写测试用例 6.非功能测试 6.1 sql注入攻击6.2 js注入攻击6.3 fiddler抓包 7.根据需求文档,编写和执行流程、场景测试用例8.查询数据库9.Bug跟踪处理和回归测试10.结束测试
1.需求分析
一切测试都应追溯到用户需求
2.快速熟悉项目
(1)熟悉项目所处的阶段:前、中、后
(2)项目的复用程度:全新、半复用、全复用
(3)程序员的开发背景、业务水平
3.页面初始化测试
对照需求文档,查询数据库中数据,看页面中内容与页面中显示内容及其分类是否一致
4.防御性代码测试
如果页面中某一模块因文字增多而出现折行或覆盖其他模块的现象,说明没有对此模块进行防御性代码的书写。
防御性代码测试属于用户体验模块,在时间紧张、任务量较重情况下,可以先不进行修改。
5.详细功能测试
5.1 数据分析
5.2 数据构造(举例)
5.2.1 前台注册页面输入框(等价类边界值法)
(1)用户名输入框
有效等价类:上点、内点、中划线、下划线(中划线、下划线一般允许使用)
无效等价类:特殊符号、中文、空格、空、离点、敏感词汇、重复
特别注意:大小写
(2)邮箱输入框
有效等价类:上点、内点、中划线、下划线
无效等价类:中文、特殊符号、空、空格、离点、邮箱格式、重复
(3)密码输入框
有效等价类:上点、内点
无效等价类:中文(复制进去)、离点
特别注意:大小写
(4)确认密码输入框
有效等价类:与密码一致
无效等价类:与密码内容不一致、与密码字数不一致
(5)验证码输入框
有效等价类:与图片一致
无效等价类:与图片内容不一致、与图片字数不一致
5.2.2 后台搜索用户页面输入框
以用户名为例:
(1)支持模糊查询
(2)大小写
(3)查询’%’、’_’是否转义(如果没有转义,搜索结果为模糊查询结果)
(4)空
(5)空格
5.2.3 前台搜索商品价格输入框
(1)上点、离点的测试
(2)负号
(3)小数点
(4)中文、字母、特殊符号、空、空格
(5)前后输入框的大小调换
5.2.4 前台搜索商品品牌、价格选择字段(正交法)
(1)列出所有的因素、水平
(2)如果因子、水平个数正好与标准正交表一致,可以直接套用标准正交表
(3)如果水平数一致,因子数不一致—–>采用混合正交表法(选择因子数等于或稍大的正交表,选择用例数最少的正交表)
(4)如果因子数相同,水平数不同—->确定出现次数最多的水平数,根据水平数,找因字数相等或稍大的正交表水平数不足则补填,水平数多余则合并,最后设计完成后再分离出来),找用例数最少的正交表
5.2.5 其他需要注意的测试内容
5.2.5.1模态窗口
当页面中弹出模态窗口,页面其他部分变为灰色,只有窗口内容可以操作,提示用户优先处理窗口上内容。
5.2.5.2 动画
当页面中有动画存在,需要多次触发动画,测试是否有动画堆积现象
5.2.5.3 banner图
网页顶端可以切换的图片称为banner图、轮换图、焦点图、切换图,当鼠标不在banner图范围内时,图片切换,当鼠标在banner图范围内,图片不切换。
5.3 编写测试用例
6.非功能测试
6.1 sql注入攻击
在登录页面的用户名输入框中填写数据实际上构成了一句为真的sql查询语句,eg:
select * from iwebshop_users where name='' and password=''
若网页没有进行sql注入攻击防范,只需要在用户名输入框中填写 ’ or 1=1– ,密码随便填写,即可构成sql语句:
select * from iwebshop_users where name='' or 1=1-- and password=''
实际执行的语句为:
select * from iwebshop_users where 1=1
所以,sql注入攻击也被称为黑客的填空游戏。
6.2 js注入攻击
当我们发朋友圈或发表评论时,相当于我们发表的内容插入到了html页面中,此时,如果页面没有进行js注入攻击防范,当我们在页面中添加代码:
<script>alert('hello world')< / script>
或者:
<script>window.location=("")< / script>
当任何人打开此页面时都会弹出“hello world”的窗口,或者直接跳转到页面。
6.3 fiddler抓包
注册账户时有许多格式要求,此时,如果只有前台有数据验证,而后台没有进行数据验证工作,可以通过fiddler工具绕过前台js验证,提交任意格式的用户名或邮箱。
步骤:打开注册页面,填写正确格式的相应内容—->打开fiddler,(点击filter可以进行筛选),按f11键暂停网页所有的提交任务——->点击注册页面的提交按钮——>回到fiddler,双击截取到的请求内容,进行修改——>点击run to completion继续完成提交任务——>双击红色标识
7.根据需求文档,编写和执行流程、场景测试用例
8.查询数据库
如果详细功能测试过程中有针对数据库的增删改,则需要对照需求文档查询数据库,看是否一致
9.Bug跟踪处理和回归测试
10.结束测试
将测试过程中所有的文档妥善保存