testing - 评估软件架构/测试软件属性(如“可扩展性”)的最佳方法,无需具体说明?
问题描述
我想在不进行详细系统测试的情况下评估软件。例如:我不想测试我的软件是否可以处理最多 20 毫秒的延迟。我想证明我的软件的性能是可扩展的(通过它的设计)。什么样的方法是合适的?
解决方案
可扩展性是当系统在各种因素方面不断变大时,软件继续以可接受的方式执行的能力。例如:
数据:系统保留或处理的数据大小的增长。
流量:传入/传出流量增加
用户:活跃用户数量的增长以及同时连接数的增长
新功能/操作:系统支持的功能/操作数量的增加。虽然这个因素可能属于可扩展性,但有时可能会影响可扩展性。
根据我的理解,您想证明该软件是可扩展的,但您并不关心证明系统能够支持的特定指标。一种方法可能是识别系统变大时可能出现的所有潜在瓶颈,记录这些瓶颈,然后记录/证明软件能够克服这些瓶颈。指标收集可能是您提到的不需要的更多工作,但执行高级负载测试并提供系统能够处理负载的可视化演示可能是其中一种方法。不确定您的确切情况,但希望这会有所帮助。
推荐阅读
- java - 如何为我的 android 锻炼应用程序进行设置?
- git - git 使用 .gitattributes 中的什么规则来确定文件类型和行尾?
- python - 如何重新分配随机选择?
- flutter - 如何在两个偏移之间添加控制点(贝塞尔曲线)?
- java - 将字符串转换为字节数组但保持相同的值
- android - bcrypt 在使用 buildozer 构建 apk 文件
- tensorflow - 在 ubuntu 上使用 bazel 和构建 tensorflow 的问题
- c++ - 复制省略(NRVO)可以删除复制和移动构造函数吗?
- assembly - 与汇编程序作斗争
- c - 如何在C中删除固定长度数组中的条目?