本系列将会覆盖所有SPE(系统性能工程师)所需具备的基础知识。主要目的就是引导你了解系统性能工程相关的各类知识体系,但我们的意图并不是打算把每个方面都说的很详细,而是给读者一系列总结性的包括流程、活动和产出相关的整体概念。
本系列包含如下的章节:
· 性能工程
· 性能需求分析
· 负载量模型
· 性能监控
· 性能测试
· 性能模型
· 容量管理
· 企业级性能成熟度
第一章 性能工程
本章将会给出软件性能工程的概念以及从实用性能分析师的角度分解性能工程。将会涉及到如下主题:
· 什么是性能工程
· 性能工程的重要性
· 性能工程中需要做哪些事情
· 性能工程中的挑战
· 建立自己的性能工程策略
· 产出
· 参考资源
一、什么是性能工程
软件性能工程(SPE)是一种能够满足高效高质量软件系统开发中非功能性需求(比如性能、容量、可伸缩性、可用性、可靠性等)的系统性的、可量化的方法。Connie Smith博士在她的《软件性能工程》一书中这样提到:
性能工程是一种面向软件的方法,专注于最优的应用程序架构、设计选型,以及对满足非功能性需求为目的的具体实现。软件性能工程也能被定位为是一系列为实现文档化的非功能性需求而贯穿于软件开发生命周期的任务或者活动。所以软件性能工程经常被视为能在一定的时间和预算限制内满足非功能性需求的一种构建系统的艺术。
二、性能工程的重要性
性能工程如此重要有如下原因:
1.文档化和验证非功能性的需求
在性能工程中的强力投入通常都表明你和你的客户们都想在第一时间做最正确的事情。做为性能工程的一部分,你必须着手开始思考定义项目的目标和最终目的。这些需求绝大部分被视为性能、可靠性、可伸缩性、可用性等非功能性需求。没有明确的目的就不会有明确的目标,没有明确的目标你就不会有一个明确的计划。所以软件性能工程允许把一些最基本的元素和部件放在软件生命周期的最前面。
2.越早进行改变影响和代价越小
在设计阶段变更应用设计和一些底层基础架构规格是相对容易的。同时,去说服决策者同意在设计阶段为使应用满足非功能性需求的而进行一些变更也要容易的多。
3.尽量的减少了后期非功能性需求的返工工作量
越往软件生命周期的后面返工的代价越高,低效、耗时甚至能够毁掉你的声誉。重写部分代码或者重新思考设计去满足原先的非功能性需求将会从根本上改变应用的的整个架构,对于已经处于既定架构下仍在进行的团队来说是个非常严重的打击。
4.防止在产品环境下失控
性能工程提倡在软件生命周期中进行前瞻性的性能和容量管理。在你做任何事情都有性能意识比如在有正确的定位瓶颈的方法以及在设计、开发和测试阶段的时候能极大的减少在上线前无意中错过的性能和伸缩性问题。这些都会潜移默化的影响你的客户体验。
... ...
查看全文内容,请点击下载:http://www.51testing.com/html/65/n-3704165.html
版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。