软件测试类型
1.功能测试:功能错误遗漏,界面问题,性能错误,数据访问错误,初始化及终止错误。
主要工具QTP(商用),selenium(开源)
2.性能测试
负载测试,压力测试,稳定性测试
主要工具:LoadRunner,WebLoad,Jmeter
3.部署测试
4.文档测试
5.安全测试
6.兼容性测试
7.易用性测试
8.本地化测试
9.无障碍测试
10.可靠性测试
接口协议
测试眼中接口的定义:能够独立部署成服务的协议协议的类型:http(超文本传输协议)--https(安全超文本传输协议)
---ftp(文件传输协议)---tcp(网络控制协议)---ip(互联网协议)--UDP(用户数据协议)
接口测试
1.接口类型:http请求
1.post:提交的数据放在WebForm里,提交的数据量大,安全
2.get:提交的数据放在URL里的,提交的数据量少,不安全
3.delete
4.put
2.接口测试流程:
需求讨论
需求评审
场景设计
用例设计
数据准备
执行
3.接口测试工具:
loadrunner
fiddler
Jmeter
postman
性能测试-Jmeter
apache维护,需要java运行环境Jmeter组成:
1.取样器:进行脚本逻辑控制,
2.线程组:场景设置
3.监视器:监控脚本运行,取得性能指标
Jmeter脚本录制2种方式:
脚本录制的流程与思路:业务流程---录制工具---脚本制作---性能测试
1.使用bodboy录制:
2.使用代理录制:
性能测试---LoadRunner
1.性能测试的概念:整个系统的安全,运行效率,负载状况,资源占有等。
通过自动化的测试工具模拟多种正常值以及
异常负载条件来对系统的各项指标进行测试。
2.性能测试常见分类:
1. 性能测试(狭义):
方法:通过模拟生产运行的业务压力量和使用场景组合
测试系统的性能是否满足生产性能要求。
目的:验证系统是否有系统宣称具有的能力。
2. 负载测试:
方法:通过在被测系统上不断加压,直到性能指标达到极限。
目的:找到系统处理能力的极限。
3. 压力测试(强度测试):
方法:测试系统在一定的饱和状态下,系统能够处理的会话能力
以及系统是否会出错。
目的:检查系统处于压力性能下时,应用的表现。
4. 并发测试:方法:通过模拟用户并发访问,测试多用户并发访问同一应用,
模块或者数据记录时是否存在死锁或其他性能问题。
目的:发现系统中可能隐藏的并发访问时的问题。
5. 配置测试:方法:通过对被测系统的软硬件环境的调整,了解各种不同对系统的性能影响的程度,从而找到系统各项资源的最优分配
原则。
目的:了解各种不同因素对系统性能影响的程度。
6. 可靠性测试:
方法:再给系统加载一定业务压力的情况下,使系统运行一段时间以检测系统是否稳定。
目的:验证系统是否支持长期稳定运行。
3.性能测试阶段:
1. 计划阶段:
工作内容:
1.明确测试目标
2.定义测试目标
3.定义测试通过标准
4.规划测试进度
5.规划参与人员(需求,开发,测试,运维,配置)
6.申请测试资源
7.风险控制
2. 设计阶段:
工作内容:
1.设计测试数据
2.设计测试用例
3.设计测试场景
3. 开发阶段:
工作内容:
1.测试环境的搭建
2.测试过程文档定义以及配置
3.测试脚本开发,调试
4.测试数据的准备
5.基准测试
4. 执行阶段:
工作内容:
1.执行测试用例模型,包括执行脚本和场景
2.测试过程监控,包括查看log,监控服务器资源,数据库和中间件。
5. 结果分析:
1.根据测试结果和监控结果进行测试分析
2.根据性能测试目标,分析系统存在的性能瓶颈,并给出优化建议。
6. 报告阶段:
1.测试范围
2.测试执行以及参与人员
3.基准测试数据
4.测试执行的详细步骤(场景设计)
5.测试数据记录,监控结果
6.测试结果对比以及总结性评论
4.性能测试工具原理:
主要组成:
1.脚本生成器
2.压力生成器
3.压力控制器
4.结果分析器
LoadRunner组件:
1.Virtual User Generator:录制最终用户业务流程,并创建性能测试脚本。
例如:生成虚拟用户,模拟真实用户的操作行为。
2.Controller:组织,驱动,管理并监控负载测试。
例如:创建负载方案。
3.Analysis:用于查看,剖析和比较性能结果。
例如:定位性能问题。
LoadRunner工具测试步骤:
1.VUG创建脚本
2.使用Controller创建测试场景
3.使用Analysis分析测试结果
事务(Transcation):事务是这样一个点,我们为了衡量某个Action的性能,需要在action
的开始和结束位置插入这样一个范围,这样就定义一个事务。
为什么在LoadRunner中使用事务:
1.事务是LoadRunner度量系统性能指标的唯一手段。
2.事务能够用于度量高风险业务流程的性能指标。
3.事务能够度量在一组操作中每一步性能指标。
4.通过事务记时实现了不同压力负载下的性能指标对比。
5.通过事务记时可以帮助定位系统性能瓶颈。
关联(correlation):把脚本某些写死的数据,转变成是选取服务器所送的,动态的,每次都不一样的数据。参数化:使用指定数据源中的值来替换脚本录制生成的语句中的参数。
参数化步骤:
1.用参数替换Vuser脚本中的常量值
2.为参数设置属性和数据源。