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

  • 排除日志中的特定内容——grep -v 'pattern' as.log
  • 只输出感兴趣的内容——grep -o 'proctime:toal:d+' as.log;grep -o 'proctime:toal:d+' as.log | grep -o 'd+ ';grep -o 'proctime:toal:d+' as.log | grep -o 'd+ ' | sort -n | uniq -c
  • 将wf日志归类——grep -o 'w+.(cpp|h):d+' as.log.wf | sort | uniq -c
  • gdb常用命令
    • bt——查看堆栈信息
    • print——打印某变量值
    • break——设置断点
    • x/i——翻译当前指令为汇编
    • info thread——查看所有线程,星号*标记的是当前线程
    • thread num——切换到线程号为num的线程
    • set scheduler -locking on——锁定在线程:输入continue命令以后,当前线程继续执行,其它线程不执行
    • set scheduler-locking off——这是默认设置,输入continue命令以后,所有线程都继续执行
    性能测试
    • 旨在获取系统在特定一种或多种环境下,在不同的外部输入压力(包含极限)的条件下的系统各项指标的测试
    • 进程相关——ps,top,/proc/pid/*
    • 系统相关——vmstat,top,iostat,sar,df,lsof
    • 网络相关——netstat
    bug定位归因:
    1.压力工具方面
    • 工具的功能和性能--能否达到预期压力,启动压力的机械性能,压力工具是否有异常连接关闭,压力工具如何处理异常,长连接短连接,并发个数
    • 工具运行环境--压力机器的带宽,是否跨机房 。
    2.被测试系统方面
    • 机器性能--系统所在机器性能,机器网络带宽,机器的内存,SD卡,硬盘等
    • 系统本身--系统的下游模块的性能,系统的配置,系统的数据量,系统的特点状态(cache、dump、merge),系统的部署,程序的bug等
    3.环境方面
    • 操作系统相关---是否和线上一致,内核版本,刷脏叶时间,有没有调用directIO
    • 查看系统状态--Ps,top,/proc/pid/*,vmstat,netstat.
    注:
    正确的思路+丰富的业务知识+丰富的技术背景知识+较好的调试和开发能力 = 强大的bug定位能力 。
    Web测试流程功能测试
    1.链接测试:链接测试必须在集成测试阶段完成
    2.表单测试:提交信息
    3.Cookies测试:Cookie是指网站用于辨别身份,进行会话(session)跟踪而存储在客户端的数据 。源头:服务器产生并发送给客户端的 。用途:提供一个方便的功能以简化用户输入,节省访问页面的时间 。
    cookies创建对象类型:JavaScript、VBScript等HTLM页面中的客户端脚本,使用MS win32 Internet函数(Internetsetcookie和Internetgetcookie)的win32程序、JSP/ASP等页面中的服务器端脚本 。
    禁用Cookie:1.可能会导致某些web系统无法正常运行 2.使用户无法进行匿名访问3.使web系统无法跟踪用户的浏览习惯 。
    第三方Cookie和第一方Cookie:1.第一方cookie是与宿主域名相关联的cookie2.第三方cookie是来自任何其他域名的cookie
    持久Cookie和会话Cookie:会话cookie是Cookie存储在内存中,持久cookie是cookie储存在硬盘中,被写入用户配置文件夹下的cookie文件夹,浏览器临时文件索引会使用指向cookie文件的指针进行更新 。
    cookie测试:
    a.会话cookie测试:重新登录时没有上次操作的痕迹 。
    b.持久cookie测试的常规测试:重新登录时保留上次操作的痕迹 。
    c.持久cookie测试的更新测试:重新登录前进行其他操作,检查是否仍保留上次操作的痕迹 。
    d.持久cookie测试的设置测试:在浏览器中对cookie是否禁用或者cookie的使用级别进行测试 。如在IE浏览器的“选项”功能中,“安全”选项卡和“隐私”选项卡就可以对cookie进行设置 。
    4.设计语言测试:版本的差异可以引起客户端或服务器端严重的问题 。除了 HTML 的版本问题外,不同的脚本语言,例如 Java 、 JavaScript、 ActiveX 、 VBScript 或 Perl 等也要进行验证 。
    5.数据库测试:数据库为Web提供空间,在 Web 应用中,最常用的数据库类型是关系型数据库,可以使用 SQL 对信息进行处理 。两大错误类型:数据一致性错误和数据输出错误 。
    数据一致性错误:主要是由于用户提交的表单信息不正确而造成的
    输出错误:主要是由于网络速度或程序设计问题等引起的 。
    性能测试(测试工具:LoadRunner)
    1.连接速度测试:用户连接到 Web 应用系统的速度根据上网方式(电话拨号、宽带上网)的变化而变化 。另有超时限制等 。


    推荐阅读