如果没有明确的性能需求,你知道如何进行性能和可伸缩性测试吗?
有关我的应用程序的更多信息。
这个应用程序有3个组件。一个组件只能在Linux上运行,另外两个组件是Java程序,所以它们可以在Linux/Windows/Mac上运行……可以将3个组件部署到一个盒子中,也可以将每个组件部署到一个盒子中。部署非常灵活。仅用于Linux的组件将通过网络捕获原始TCP/IP包,然后一个Java组件将从其中获取这些原始数据,并将它们组装成最终用户需要的数据,然后将它们作为数据文件输出到硬盘。最后一个Java组件将从数据文件批量上传数据到我的数据库。
发布于 2009-06-03 03:52:11
令人惊讶的是,大多数perf和可伸缩性测试都是这样开始的。
您可以清楚地在没有标准的情况下进行测试,您只需定义测试并测量结果。我认为你的问题更多的是“我如何才能在没有性能要求的情况下建立测试通过标准”。实际上,这并不少见。许多新项目都没有明确的标准。非正式地,它可能类似于“如果它不能每秒做X次,我们失败了”。但是一旦你每秒超过了X(你最好这样做!)X是“通过”的标准吗?通常不会,发生的是你建立了一个新的基准,你的性能测试防止了回归:你将当前的数字与你得到的最好的进行比较,并决定新的构建是否“可接受”,因为构建验证通过了(通常组织会在这里以70-80%作为可接受的开放性能错误,并确保在发布时间之前回到90-95%或100%+ )。因此,基本上性能测试本身就变成了他们自己的需求。
可伸缩性有点复杂,因为没有限制。测试的范围应该是找出产品的故障所在。在任何东西上抛出足够多的负载,最终它都会崩溃。你需要知道这个极限在哪里,非常重要的是,要找出你的产品是如何打破的。它会给出一条很好的错误消息并恢复,还是会把自己的内脏洒在地板上?
发布于 2009-06-03 03:32:55
在没有“必须能够在Y秒内执行X次迭代...”的情况下类型要求,那么这些类型的内容如何:
发布于 2009-06-03 03:32:55
定义你自己的。采取主动,自己描述绩效目标。
为了回答得更好,我们必须更多地了解你的项目。
https://stackoverflow.com/questions/942941
复制相似问题