我的工作论文约meassuring产品的质量。在这种情况下,该产品是一个网站。我已经确定了几个质量属性和meassurement技术。

一个质量属性是“鲁棒性”。我想meassure,不知怎的,我无法找到任何有用的信息,如何客观地做到这一点。

是否有可能meassure稳健任何静态或动态指标?即,像单元测试覆盖率,是有办法meassure健壮性这样呢?如果是这样,有没有免费的工具,可以做这样的事情?

有没有人有这样的工具的经验吗?

最后但并非最不重要的,或许还有其他的方法来确定稳健性,如果你有任何想法有关,我所有的耳朵。

非常感谢提前。

有帮助吗?

解决方案

那么,简单的答案是“否”。乐百氏可能意味着很多东西,但最好的定义,我能想出的是“在任何情况下正确地执行。”如果你发送一个坏的HTTP头,以一个强大的Web服务器,它不应该崩溃。它应该返回完全正确类型的错误,它应该某处记录该事件,也许在一个可配置的方式。如果很长一段时间一个健壮的Web服务器运行,其内存占用量应保持不变。

很多什么使一个系统鲁棒是其处理的边缘的情况下。好的单元测试是其中的一部分,但它很可能不会有单元测试的任何一个系统(如果这些问题都知道,开发商很可能会修复这些问题,然后才加入试验)的问题

不幸的是,它几乎是不可能来衡量一个任意程序的健壮性,因为为了做到这一点,你需要知道什么程序是应该做的。如果你有一个规范,你可以写的测试数量庞大,然后运行它们对任何客户端进行测试。例如,看一下Acid2的测试浏览器。仔细措施如何任何给定的网络浏览器符合在一个简单的,可重复的方式的标准。大约接近你可以得到的,而人们也指出了这种方法的许多缺陷这是(例如,是崩溃更频繁,但是,按照规范更强大的一个额外的事情做一个节目?)

有,不过,各种检查,你可以作为一个系统的健康状况的一个粗略的数值估计使用。单元测试覆盖率是相当标准之一,是它的兄弟姐妹,分支覆盖,功能覆盖,语句覆盖等。另一种好的选择是像FindBugs这样的“皮棉”程序。这可能表明了潜在的问题。开源项目往往是由频率和最近提交由或释放释放判断。如果一个项目有一个bug系统,可以测量有多少缺陷已得到修复和百分比。如果有节目你测量,尤其是一个有很多活动的具体实例,MTBF(平均故障间隔时间)是稳健性的一个很好的措施(见的菲利普的回答

这些测量,虽然没有真正告诉你一个程序是如何健壮。他们只是在方法是猜测。如果它是很容易计算出,如果一个节目是强大的,我们很可能只是让编译器进行检查。

祝您的论文!我希望你能想出一些很酷的新的测量!

其他提示

您可以看看平均时间之间失败的作为稳健性的措施。问题是,它是很难衡量,你已经部署了你的产品与现实世界的负载一个真实世界的情况特别是前理论量。对于这部分原因是,测试往往没有涵盖现实世界的可扩展性问题。

在我们的起毛书(由Takanen,DeMott,米勒)我们有专用于负面测试(耐用性,可靠性,语法测试,模糊测试,同样的事情很多名字)指标和覆盖面几章。此外,我想总结一下我们公司最重要的环节白皮书这里:

http://www.codenomicon.com/products/coverage.shtml

片段从那里:


覆盖范围可以被视为的两个特征,精确度和准确度的总和。精密涉及协议的覆盖范围。测试的精度由测试如何覆盖不同协议消息,消息结构,标记和数据的定义来确定。准确度,在另一方面,测量测试如何准确地找到不同的协议范围内的错误。因此,精确度可视为异常覆盖的一种形式。然而,精度和准确度是相当抽象的术语,因此,我们需要看一下更具体的指标,用于评估范围。

在第一覆盖分析方面涉及攻击面。测试需求分析总是被确定需要测试的接口开始了。不同的接口和它们在不同层实现协议的数量设置了模糊器的要求。每个协议,文件格式,或API可能需要其自己的类型模糊器的,这取决于安全性要求。

第二覆盖度量是有关规范,一个模糊器支撑件。这种类型的指标是很容易与基于模型的模糊器使用,作为工具的基础是由用于创建模糊器的规格形成,因此他们很容易名单。基于模型的模糊器应覆盖整个规范。然而,基于突变模糊器不一定完全覆盖规范,从规范并不能保证规格全覆盖实施或包括一个消息交换样品。典型地,当基于突变模糊器权利要求书规格的支持,这意味着它是与实施本说明书测试目标进行互操作。

特别是关于协议模糊,第三最关键度量是所选择的模糊的方法的有状态的水平。完全随机的模糊器将典型地只测试在复杂的有状态的协议的第一消息。您正在使用的多个状态感知的模糊的做法是,在更深的模糊器可以在复杂的协议交换去了。有状态是困难的要求来定义的模糊工具,因为它是更用于定义所使用的协议模型的质量的度量,并且可以,因此,仅可通过运行测试验证。


我希望这是有益的。我们也有其他指标的研究,例如在看代码覆盖率等或多或少的无用的数据。 ;)指标是论文有很大的话题。在ari.takanen@codenomicon.com电邮我,如果你有兴趣让我们对这个话题广泛的研究访问。

健壮性是非常主观的,但你可以看看 FingBugs ,的的Cobertura 哈德森其中,当正确组合在一起可以给你安全感随着时间的推移,该软件是强大的。

  

您可以看看之间的平均时间   故障作为稳健性度量。

用“MTBF”的问题是,它是在正流量通常测量而失败往往在意外情况下发生。它不给稳健性和可靠性的任何指示。无论如果一个网站始终停留在实验室环境中,它仍然会在第二个在互联网上黑客攻击,如果它有一个弱点。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top