软件测试流程及方法详解( 七 )


实施测试
提交缺陷报告
生成测试总结和报告
Web程序bug分析定位技巧web前端包括:JAVAScript、ActionScript、css、html、Flash、交互式设计、视觉设计等 。
bug定位通用思路:现象-->原因-->验证字段-->结论-->现象 。
bug定位归因
1.测试环境方面

  • 是否安装了flash及flash的版本--可能导致部分页面显示出问题,目前常用的版本为flash10
  • 是否开启了浏览器插件--插件可能导致浏览器行为的变化,除非测试要求,否则一律禁用插件 。
  • 是否开启了安全软件--可能会截包、弹窗拦截、防钓鱼等 。
2.浏览器方面
  • 不同浏览器的支持标准--不同内核的浏览器对js及各种标准的支持不同,因此页面解析出来的效果可能不同 。如【IE:trident】、【Firefox:gecko】、【Chrome:webkit】、【Safari:webkit】 。
  • 浏览器的设置--禁用js;禁用弹窗;禁用cookie等 。
  • 浏览器cache策略---js,css,图片等都有可能被cache住 。CTRL+F5:强制刷新请求 。
  • cookie问题----跨域,过期等 。
3.网络方面
  • 是否发出了正确的请求--请求url、参数变量 。content数据 。
  • 是否得到了正确的应答---HTTP的返回值:200-正确;302--对象已移动;404--没找到页面 。返回数据体 。
  • 是否性能问题--异步请求的数量过多;网速过慢 。
4.字符编码方面
  • 页面乱码--百度后端存储基本上使用的是GBK编码,前端提交可能是UTF-8编码,后端对非GBK编码一般采取实体储存 。可能出现编码没有转换 。转换的时候没有判断半个汉字(转掉了半个汉字导致崩溃)
  • url错误---URL路径中汉字编码使用的shi是UTF-8编码,参数中使用系统默认编码,flash脚本中使用的都是UTF-8编码 。
安全方面
  • Xss漏洞--输入一些特定的字符页面出现错乱或有恶意代码被执行,RD未对特殊字符转义完整 。
性能方面
  • 图片数量---页面中同一个域的图片的数量控制在16个以下,IE会控制同一个域图片并行的下载数量 。
  • 页面抖动--异步请求的数量过多
  • 加载失败--限速情况下,超时 。
bug定位常用工具:
Firfox--firebug、web developer、live http headers、http fox ;
IE插件--HTTPwatch
第三方工具---fiddler
慢速网模拟工具---firefox throttle.
Web后端bug分析后端包含运行在服务器上的程序、脚本和服务 。例:各种罗及处理系统、数据存储系统等 。
后端可能发现的问题--逻辑、数据、策略、接口、性能等 。
测试bug定位归因
1.数据流方面
  • 上下游模块是否正常连接---模块的ip和端口的配置,白/黑名单配置,session授权等 。
  • 模块的数据发送接收是否正常--日志是否有滚动,是否显示发送了数据或接收到数据,数据是否完整,跨机房,负载均衡算法(从哪些机器上获取数据) 。
  • 非socket的数据传输--共享内存(是否分配,key的配置等),cache(是否创建、脏数据等),数据库(配置,连接,表,触发器,存储过程)、文件(大小、访问权限)
  • 模块之间的接口--协议的一致性(mcpack1,mcpack2等),字段的一致性(一个按signed解析,一个按unsigned解析),字段复用等 。
2.处理逻辑方面
  • 程序的各种配置--功能是否kai开启/关闭,词表是否加载,各种阈值的配置,超时配置等 。
  • 程序日志--日志级别,交互的流程,处理的流程等 。
  • 各种边界--数据边界(int,long),文件边界(空文件,分文件的边界),时间边界等 。
  • 各种资源的使用--cache是否遗留脏数据,并发和锁死 。
3.系统和环境方面
  • 系统资源--CPU、IO、句柄、内存、网络状态、数据库状态,数据库连接数 。
  • 环境资源---程序版本、内核版本,网络(外网)访问权限,系统动态库不一致等
4.程序和代码方面
  • 确认问题出现的位置--日志中的代码行,gdb中的代码行,抛出异常显示的代码行
  • 获取当时的运行时信息--Gdb core文件 ,gdb attach到进程,查看堆栈,查看寄存器,设置breakpoint,watchpoint ,查看内部数据 。
  • 获取程序和系统信息---Strace查看系统调用,系统状态获取(ps,top,/proc/pid/*,vmstat,netstat)
  • 更深入的手段--反汇编(IL Spy)、查看寄存器,gdb高级应用
注:
gdb工具:UNIX及UNIX-like下的调试工具,像VC、BCB等IDE的调试 。
后端测试bug定位日志查看命令