2024年4月22日发(作者:)
《软件性能测试过程详解与案例剖析(第二版)》第一章习题及答案
1, 什么是软件性能?用户通常如何评估一个软件的性能?性能测试者的角
度与用户角度有什么不同?
【简要解释】软件性能是指“软件响应及时度满足用户要求的程度”。用户
对软件性能的关注通常只在于“响应时间”上,而对于性能测试者来说,除了关
心影响时间外,还会从系统视角关心用户的使用场景,系统的最大容量,并发用
户数,以及系统性能瓶颈所在。
2, 当访问一个网站时,你发现该网站的响应速度非常慢,哪些因素可能导致
了访问速度慢?
【简要解释】考虑一个HTTP请求从发出到完成(最终用户看到渲染完成后
的页面)的全过程:浏览器所在系统解析域名(通过DNS),建立连接,发送HTTP
请求,得到响应的HTML结果后,浏览器解释HTML,获取外部资源,运行客户
端脚本(JS脚本),最终完成对整个页面的渲染。这中间的每一个环节都可能导
致访问速度慢。
3, 网站A,每天有两个高峰时段。在第一个高峰时段,网站A有1000人同
时在线,平均每人每2秒操作一次(点击一个链接);在另一个高峰时段,
网站A有500人同时在线,平均每人每1秒操作一次(点击一个链接);
请问在这两个高峰时段,网站A的性能表现会是相同的吗?
【简要解释】如果计算两个高峰时段的QPS(Query Per Second,每秒收到
的请求数),我们会发现两个高峰时段的QPS是一样的(都是500 hits/second)。
从这个角度来说,在这两个高峰时段,网站的负载接近相同。但如果考虑到两个
高峰时段用户操作的页面可能不同,以及两个时段中网站需要保持的连接数量不
同(一个是1000个,一个是500个),显然在两种情况下网站A的性能表现不
会完全相同。
4, 仔细查看“性能下降曲线”,在负载增长到某个给定的负载量之前,随着
用户数量的增加,系统响应时间基本不变。为什么会有这种现象?(提示:
请参考理发师模型)
【简要解释】假设你家附近有个理发店,理发店一共有4个理发师,每个理
发师需要15分钟完成对一个顾客的服务。显然,当顾客数量是1个到4个时,
响应时间(服务时间)都是15分钟。只有当顾客数量超过4个时,顾客需要等
待的时间才会出现线形增长。“性能下降曲线”的第一段基本可以用这个模型解
释(把服务线程想象成理发师,进入的请求想象成顾客)。
5, 本书1.3中列出了各种不同的性能测试方法和过程,你觉得各种模型各有
什么样的侧重点?
【简要解释】各种性能测试工具给出的测试过程通常以工具为中心,围绕
工具提供的功能来建立测试过程。依赖特定的测试工具,这些过程才能得
到良好的实施。而PTGM过程不基于特定工具,而是尽量全面地描述性
能测试的完整实施过程。


发布评论