What:
容量测试:测试一些关键内容指标在特定环境下是否达到预先设定的界限或极限值
Why:
- 无法处理负载,不安全,运行性能低会造成系统的失败。
- 低质量的代码会导致项目无法维护。
How:
- 拒绝横跨系统多个层的请求。
- 醒目开始时就考虑好我们需要的非功能性需求,选好结构。
- 非功能性需求需要提供做够多的细节,最好以用户Story的形式来描述。
- 与第二项对应,我们需要提早考虑结构,但是不要过早的优化。
- 策略:
决定一种架构(注意进程,网络,I/O)
使用正确模式
除非绝对必要不然不能牺牲代码可读性
数据结构与算法的选择
线程问题要小心
自动化测试
尽可能使用真实的环境来测试与度量 - 度量:
扩展性
持久性
吞吐量
负载 - 定义测试的成败:
把目标设为可稳定重现的结果
为容量测试专门准备一个环境(尽量不要使用虚拟环境) - 自动化容量测试切入点
UI
某个服务或公共API(例如:直接向web服务器发送HTTP请求)
底层服务API(例如:直接调用某个服务层,或数据库) - 为防止开发过程中导致的变慢,可以再每次提交时运行性能测试,保证提交的性能