测试本质;
1构造测试数据和期望结果 2执行 3验证
自动化测试;
写完代码,单元测试测代码逻辑,单元测试搞清楚代码逻辑就行了(白盒测试)先静态,运行前用工具扫描BUG例如(a==11写成a=11),再动态,程序运行起来测试,用单元测试框架(unittest等)
(集成测试,两个函数,两个子系统,两个接口。粒度可大可小,成本太高所以叫接口测试)
例如返回天气,给链接地址输入参数,返回天气,实质是协议(HTTP,webservice,socket等),接口测试基于协议
系统测试,基于GUI界面的自动化,UI自动化测试技术难点是对象识别,工具QTP等
性能测试,各个阶段都可以
上线之前模拟大量用户访问没有问题,发现性能瓶颈。100个进程向服务器发请求,一个进程(管理)包含n个线程(执行),用一千个线程执行同一个脚本,确定协议,协议比较多,测试环境是虚拟机会有影响,看需求
例如,论坛登录测试
1.脚本开发-- Virtual User Generator --通过VUGen工具 一般有几种架构,CS/BS/C/APP 手机APP耗电量内存的消耗等,loadrunner只能测服务器端性能,
(录制及原理如何设置,运行的原理及设置,脚本写法(参数化,关联,检查点,事务,思考时间,集合点)参数化关联是功能其他是优化)
2. 比方说自己的机器只能开启1000个线程,开启10台就是10000个线程。10台机器就是压力机(loadgenerator),如何把脚本放上去?如何控制?由
场景设计 --Controller工具来控制,把脚本放到压力机,可以在过程中监测压力机和被测服务器,把结果返回
3.结果分析--Analysis
基于协议的数据包,回放不会打开浏览器
发送32个请求,第一个是首页,其他是css,js,图片等
请求分两部分,1请求数据 2请求头信息
语言,中文,英文前后顺序可改,user-Agent:告诉服务器我是什么浏览器
一次click鼠标点击可以产生很多次hps点击率 (hit per second)
cache -- 304--200性能由高到底,cache与服务器没有交互
不能仅看log回放,还要看请求/测试结果
脚本:get请求函数名web_url post请求函数名web_submit_data
resource资源类请求和非资源类请求,0表示非资源类请求,1表示资源类请求
extrares 额外资源,例如css里面要下载的图片等(HTML首页只是下载css) get请求能看到某图片A,右键看源码看不到A这种的
额外资源如果是动态资源就不能删