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