我们目前正在为我们将要进行的一项贸易研究制定评估标准。
我们选择的标准之一是可靠性(和/或健壮性--这些是相同的吗?)
你如何评估软件是可靠的,而不需要花很多时间来评估它呢?
编辑:按照KenG给出的响应,缩小问题的重点:您可以在现有的50个软件解决方案中进行选择。您需要评估它们的可靠性,而不需要对它们进行测试(至少一开始是这样)。您可以使用哪些具体的度量或其他指标来评估所述可靠性?
发布于 2008-11-07 15:33:00
可靠性和健壮性是系统的两个不同属性:
可靠性
IEEE将其定义为“…系统或组件在规定的时间内在规定的条件下执行其所需功能的能力”。
鲁棒性
在输入、计算等异常的情况下继续工作是稳健的。
因此,一个可靠的系统按照其设计在约束范围内执行其功能;如果意外/意外发生,一个健壮的系统将继续运行。
如果您可以访问您正在评估的软件的任何历史记录,则可以从报告的缺陷、随时间而发布的“修补程序”的数量,甚至在代码库中大量使用来推断可靠性的一些概念。
产品是否有自动化测试过程?测试覆盖率可能是信心的另一个指标。
一些使用敏捷方法的项目可能不符合这些标准-频繁的发布,并且期望进行大量的重构。
向软件/产品的当前用户查询真实世界的信息。
发布于 2008-11-07 15:16:03
这取决于您正在评估的软件类型。一个网站的主要(也许只是)可靠性标准可能是它的正常运行时间。美国宇航局对其软件的可靠性将有一个完全不同的定义。你的定义可能介于两者之间。
如果您没有足够的时间来评估可靠性,那么自动化您的度量过程是绝对关键的。您可以使用连续积分工具来确保您只需要手动查找一次bug。
我建议你或你公司的人读持续集成:提高软件质量降低风险。我认为它将帮助您找到您自己对软件可靠性的定义。
发布于 2008-11-07 15:16:02
关键词“可靠”会导致不同的答案..。在考虑可靠性时,我想到两个方面:
不管怎样,我认为这归结为一些可重复的测试。如果所讨论的应用程序不是用强大的单元和验收测试构建的,您仍然可以提出一组手动或自动测试来重复执行。
测试总是返回相同的结果这一事实将显示方面#2得到了处理。对于方面#1,真正取决于测试作者:想出好的测试来暴露bug或缺陷。
如果不知道应用程序是关于什么的,我就不能说得更具体了,对不起。例如,如果消息始终被传递、永不丢失、不包含错误等等,则消息传递系统将是可靠的。计算器对可靠性的定义会有很大的不同。
https://stackoverflow.com/questions/272345
复制相似问题