产生性能故障的原因 通常由体系结构或设计问题造成
性能问题在开发过程早期已经引入,而大部分开发团队指导集成测试或更晚的时候才予以考虑
测试人员不够专业 性能认知 性能是衡量在一个环境下运行一个或多个应用程序的效率 主要的指标一般是响应时间和吞吐量、TPS、资源使用率、交易成功率 性能认知——吞吐量 吞吐量指标是单位时间内处理客户端请求数量。 从技术角度:通常情况下吞吐量用请求数/秒 or 页面数/秒 来衡量 从业务角度:吞吐量也可以用 访问人数/天 or 页面访问量/天 来衡量。 性能认知——TPS TPS:每秒中发生的事务数量。在每一个场景中每秒的事务通过,失败和停止的数量。 性能认知——资源利用率 资源利用率指的是对不同系统资源的使用程度,例如服务器CPU(s),内存,网络带宽等。 性能测试 对一个软件系统而言包括:执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等等。性能测试用来保证产品发布后系统的性能满足用户需求 负载测试 负载测试是确定在各种工作负载下系统的性能,目标是猜测是当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等如何决定系统的性能,例如稳定性和响应等。 负载测试通常描述一种特定类型的压力测试,即增加用户数量以对应用程序进行压力测试。 压力测试 压力测试通过确定一个系统的瓶颈或不能接收的性能点,来获得细能提供的最大的服务器级别的测试。通俗地讲,压力测试是为了发现在什么条件下您的应用程序的性能会变得不可接受。 负载压力测试 负载压力测试是性能测试的重要组成部分,包括: 并发性能测试(重点) 疲劳强度测试 大数据量测试 软件应用性能约束——硬技能 1.网络环境 2.硬件设备(CPU、内存、存储设备) 3.操作系统、应用中间件、数据库、WEB代理服务等选型 4、数据库设计和数据库访问实现(SQL语句) 5、系统架构(同步、异步) 6、后台代码编写 7、前端设计与编码 8、客户端浏览器的选型与版本 性能测试学习基础要求——硬技能 基本的C、java(字符串、判断、对比语法)等; 工具的基本使用,例如Loadrunner、Jmeter等; 数据库基本语法了解以及数据库框架的原理,例如商用:ORACLE、SQL SERVER、DB2;开源:Mysql、Postgres等; 操作系统安装部署、基本使用命令,例如:linux、AIX、HPUNIX、Windows; 应用中间件:Tomcat、Wblogic、websphere部署安装; JDK中间件:SUN JDK、HPJDK、IBMJDK 网络协议等 测试人员角度认知——硬技能 响应时间、TPS、吞吐量、资源利用率、交易量、成功率等性能指标是否满足要求 不同人员对性能的认知角度——软技能 1、客户群体和客户岗位级别 2、系统管理员角度 3、开发设计人员角度 4、测试人员角度 客户角度认知——软技能 软甲你对用户操作的响应时间,如用户提交一个查询操作、打开一个WEB页面的链接等 系统管理员角度认知——软技能 1、并发压力 2、服务器硬件资源的使用情况 3、是否出现性能瓶颈 4、系统的扩展性如何 设计开发人员角度认知——软技能 1、架构设计的合理性 2、数据库设计是否存在问题 3、代码编程的规范是否需要优化例如SQL 4、看是否通过代码的优化或调整系统参数设置来提高系统优化
|