testing - 评估软件架构/测试软件属性(如 'scalability' 没有具体细节)的最佳方法?

标签 testing architecture software-design

我想在不进行详细系统测试的情况下评估软件。例如:我不想测试我的软件是否可以处理最多 20 毫秒的延迟。我想证明我的软件的性能是可扩展的(通过它的设计)。什么样的方法是合适的?

最佳答案

可扩展性全都与约束理论有关。找到系统的阻塞点并了解如何缓解这些阻塞点。如果不深入了解所有功能以分析这些约束,就很难理解系统的性能扩展。

约束通常与状态有关,以及它从系统的一个部分到另一个部分的移动。这种状态越原子化,越集中管理,它就越有可能成为约束。对于大多数系统,这是某种类型的数据库,但对于某些系统,它可以是其他资源,例如内存中的一段状态或其他资源。如果它已经去中心化,并且解除了约束,那么它将更多地成为将状态移动到系统外部部分(例如浏览器或应用程序)的约束。

这通常不会回答您的问题,但它应该告诉您发现约束以及如何解除约束的方法。设计本质上是“高性能”的想法很难证明,在此过程中总是某处存在约束,确保约束不会太紧以满足您的性能需求是您的目标。

关于testing - 评估软件架构/测试软件属性(如 'scalability' 没有具体细节)的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56167179/

相关文章:

javascript - 将变量从对象内部传递到 setTimeout

c++ - 精心设计的应用程序的开源示例

database - 为什么数据库不与 3D 和绘图软件一起使用(用于存储点和其他原始形状)?

node.js - Sails 应用最佳实践

c# - 集成测试入门

testing - 具有选定元素的 Selenium IDE

c - 确定大端或小端机器的宏定义?

ios - 构建 Ios 应用程序以跟踪建筑物内设备的确切位置

eclipse - 在 Eclipse 中测量测试用例中的 Scala 代码覆盖率

php - TYPO3 测试框架 - FunctionalTestCase 不从扩展加载 TCA 覆盖