是否有人知道任何法律先例,其中某个应用程序中缺少单元测试已经失去了某个案例 或者,尽管在申请中缺乏单元测试,但有人并未被视为疏忽。 是否有任何备受推崇的单元测试替代方案,使程序员能够客观地证明对软件质量的承诺。
例如,在医学方面,您可以在辩护中使用您的方法,这种方法被其他医生认可的实体组合认可。
答案 0 :(得分:9)
法律是在您和任何为您的软件付款的人之间
如果合同说您将进行单元测试而您没有,那么您将承担责任。这取决于您制作的每个软件和每个协议。当我为重要的软件应用程序购买Windows时(笑,笑,它确实发生),没有人确保他们对所有内容进行了测试
答案 1 :(得分:7)
单元测试只是测试代码的一种(非常有效的)替代方法,它不能也不是法律要求。
例如,您可以使用指称语义和一些技术来证明一段代码的某些属性,这些技术可以找到有充分理由的关系,完全偏序和定点定理的理由。
答案 2 :(得分:1)
律师可能会找到你,但它可能会很贵。
一般情况下,软件不承担任何责任。这是多么好或坏是有争议的,但我还没有发现一件软件,但不承担责任。 (有一种情况是几年前的税务准备计划出现了问题,公司实际上在一定程度上补偿了人员。我知道没有其他例外。)
责任通常只会出现在嵌入式软件中,因为制造商经常对设备的行为负责,而软件是设备的一部分。在这种情况下,证明使用合理的软件工程实践可能会有用,但我会惊讶地发现,未使用单元测试将被视为疏忽。 (至少在美国,还存在“严格责任”的概念,这意味着有人完全应该受到指责,没有任何借口。它已经应用于导航地图,但是如果你想知道你还需要咨询什么律师或做自己的研究。)
所以,我所说的是我不知道任何案件,这听起来很可疑,我不是律师,这不是法律建议。
答案 3 :(得分:1)
在正式意义上,单元测试在软件中是一个相对较新的概念(我猜不到10年)。在此之前,测试了一些组件和模块,但更重要的是要对整个系统进行测试。
一般而言,法律在很长一段时间内都落后于当代实践。法律,法规和案例需要很长时间才能建立起先例。如果法律上对单元测试等相对较新的方法达成共识,那将是非常令人惊讶的。
答案 4 :(得分:1)
在某些情况下(stackoverflow.com: what-legal-issues-surround-unit-testing-database-code-closed),用户测试可能是非法的,因为您无法对个人数据执行某些操作,例如在您希望包含在测试中的数据库中。
在辩护过失诉讼时,被控程序员可能会在辩护中使用广泛的单位测试。如果合同规定了单位测试,但没有进行单位测试,则会导致违约。
单元测试不足以揭示所有可能的故障,并且还没有ISO标准。一个天真的法庭可能会确信它表示忽视,但它肯定不是建立在一大批法律先例之上的。
答案 5 :(得分:1)
单元测试总的来说是一个好主意,但软件工程领域还有很长的路要走,直到人们可以起诉不做的标准做法。在许多情况下,单元测试根本不合适。除非在合同中明确提到,否则不应期望单元测试将用于产品。
答案 6 :(得分:0)
除非你是IBM,否则你。不应该保证您的代码是无缺陷的。这听起来很奇怪,这是客户的责任。
答案 7 :(得分:0)
我从事的软件是关键应用程序,只有当卖方向买方提供完整的软件测试列表并由测试人员和QA进行物理签名时才会安装。这涉及即使有一个小单位经过微小修改。
答案 8 :(得分:-1)
Mate,如果你是一个真正的开发者获得报酬,你应该已经知道为什么单位测试对于保证质量和其他优点是有价值的。我当然不会起诉你,但我会解雇你。提出这样一个问题表明,你是一个没有专业态度的牛仔,在提供优质产品方面。