如何攻破软件测试攻城师系列.ppt


文档分类:IT计算机 | 页数:约33页 举报非法文档有奖
1/33
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/33
文档列表 文档介绍
测试攻城师系列交流
Author:xinkai@
如何攻破软件
如何攻破软件
常规测试我们遇到哪些问题:
发布后的版本总是潜藏没有想到用户场景?
为什么测试用例反复执行效果不同?
功能测试究竟验证了什么内容?
性能测试是全路径覆盖么?
还有什么疑问......
如何攻破软件
测试过程:
不断减少风险的一个过程,从穷尽测试中找到方法并将易出错的部分提取出来。
你能想到多少条测试用例?
输入域测试到测试思想
什么是输入:输入指的事由环境产生的一种刺激,该刺激导致被测试的应用程序所有的响应。
接入一个电话,是一个输入;
在键盘从敲击一个单词,是一个输入;
通过粘贴复制一组数据,是一个输入;
我们可以发现输入是无穷无尽的,对于软件测试来说,输入是一切刺激的源泉。
如何在无穷无尽的输入中,找到方法呢?
IPO模型
一般来说软件有四个步骤:
接收输入
产生输出
存储数据(对逻辑部分我们重新定义)
进行运算
登陆模块步骤分析
1、输入筛选器:防止非法的输入值被传给应用功能代码,一般不会产生提示信息;
\\测试点:输入的值是否有效,只能输入小数;是否可以绕开屏蔽器,比如通过:复制、Ctrl+C、拖拽等方式;
2、输入检查筛选器:如果输入值合法,那么直接运行处理它,否则就产生一条错误;(一般JS、Ajax实现)
\\测试点:一般应用单个输入框体,实现了输入检查后会报警,通常这条错误信息在设计中被事先定义好;
3、使用异常筛选器:不对每一个输入值进行检查,类似一个整体的规则监视器,主要对多个输入域的值进行规则校验;
\\测试点:多个输入域的逻辑组合、关联关系、顺序组合等,可使用关联图分析法进行用例的筛选,或将此部分进行自动化。
登陆模块的代码分析
输入筛选器
纵看代码没有输入筛选器的校验,比如说:正则表达式之内,我们输入域相当宽阔可以说什么都可以输入。当然也包括我们熟悉的:
1、XML;
2、HTML;
.......
登陆模块的代码分析
输入检查筛选器
我们可以看到这段及其简单: if($('#ipt_password').val().trim == ""){
$.errorTip(objCodes['login1028']);
}
仅仅是通过val()加trim
看一个例子val(123abc12),返回123
看一个例子trim(1 a 2),返回1a2
其它部分就是超时器,什么状态刷新页面
var is_abort = false;//超时
$('form').submit(function(){
$('#ipt_submit').attr('disabled', true);
if($('#ipt_password').val().trim == ""){
$.errorTip(objCodes['login1028']);
}
req = $.post(, $(this).serialize(), function(data){
if(is_abort) return;
clearTimeout(req_timer);
登陆模块的代码分析
使用异常筛选器
整体来看组合判断只有一个组合,即密码及用户名不正确。所有判断依据是原值不符合即跳出循环,那么多于哪些解释性语句来说可能将是致命的,SQL查询语句。
常规输入筛选器
常规输入域考虑:
1、数据库:"" '' %d %s;
2、1,LPT1,AUX等,windows特殊保留字符;
3、非空参数传递:Null;
4、转义字符;
5、HTML标记语言、XML标记语言:<br />
6、编码方式:unicode、utf-8、gb2312等
OWASP:https:///

如何攻破软件测试攻城师系列 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息