Automated tests 使用封闭源代码应用程序发布自动测试的源代码是常见的还是好主意?

Automated tests 使用封闭源代码应用程序发布自动测试的源代码是常见的还是好主意?,automated-tests,Automated Tests,请给我指出你可能发现的任何重复或更好的地方来发布这个问题 我以前从未销售过软件,但当我设身处地为客户着想时,我想,“我当然希望看到我所购买的任何软件的自动测试源代码。它将作为我所购买的软件的令人敬畏的详细文档!事实上,如果可能的话,我希望在购买之前将测试视为概念证明。” 从卖方的角度来看,我认为没有理由隐藏测试代码源代码(只要测试只通过“前门”访问二进制文件,并且不包含敏感数据),甚至没有理由将测试作为开放源代码发布,以获得任何想要帮助我们的人的帮助,以及向潜在客户详细证明该软件的功能 所以。。

请给我指出你可能发现的任何重复或更好的地方来发布这个问题

我以前从未销售过软件,但当我设身处地为客户着想时,我想,“我当然希望看到我所购买的任何软件的自动测试源代码。它将作为我所购买的软件的令人敬畏的详细文档!事实上,如果可能的话,我希望在购买之前将测试视为概念证明。”

从卖方的角度来看,我认为没有理由隐藏测试代码源代码(只要测试只通过“前门”访问二进制文件,并且不包含敏感数据),甚至没有理由将测试作为开放源代码发布,以获得任何想要帮助我们的人的帮助,以及向潜在客户详细证明该软件的功能

所以。。。对于您正在销售的封闭源代码应用程序,让用户看到(一些)自动化测试代码,甚至开源发布,这是一种习惯,甚至是一个好主意吗

编辑:谢谢你们所有有见解的评论。我应该澄清,我的目标不是说“看看我的软件有多高质量!”而是“这就是你如何使用软件”(使用测试作为文档)。这是一个API;没有涉及UI。我只是想演示如何使用它(公共接口),而不是内部工作。我真的很讨厌很长的演示应用程序,但它只通过API显示“快乐路径”,所以我一直在寻找改进的方法。

如果人们能够准确地测试兼容性,它会让你接触到复制你的实现的人

发布API或设计用于公开的区域的测试可能是有意义的,但如果产品是封闭源代码的,则透露内部工作的线索似乎是相互矛盾的。

如果人们能够准确地测试兼容性,那么将向复制您的实现的人公开


发布API或设计用于暴露的区域的测试可能是有意义的,但如果产品是封闭源代码,则揭示内部工作的线索似乎是有交叉目的的。

让用户查看任何自动测试的测试结果既不是习惯,也不是一个好主意

当你去看医生的时候,想想这个。医生可以通过将血液或任何东西送到实验室对你进行任何数量的检测。实验室会对其进行处理,并将结果发送回医生

如果你在与医生交谈之前看到这些结果,你可能会完全误解它们;然而,他被训练去理解什么是正常值或正常值之外的值,更重要的是,什么才是正常值

同样的道理也适用于这里。您可能有一组测试始终失败。最终用户只会看到失败,但不会理解这些特定测试根本不会影响它们。例如,假设您的代码库中有一部分不完整,不适合生产使用。但是,您可能已经设置了测试来强调该代码。。知道你下个月就要完成那个区域了

在这种情况下,您是否希望当前客户告诉透视图客户您的测试有5%失败?或者,你更愿意让你现在的客户说“我使用的一切都很完美”

--只需再添加一件事--
最终用户倾向于将任何小故障视为整个应用程序都已损坏。大多数人仅有的参考资料是他们的汽车。如果电池没电了,那么整个汽车就坏了


这会给你带来很多挫折。特别是如果你有一个针对一些边缘情况的测试,甚至可能在生产中无法再现。用户只会看到某些东西坏了,因此不相信整个应用程序能正常运行。

让用户查看任何自动测试的测试结果既不是习惯,也不是一个好主意

当你去看医生的时候,想想这个。医生可以通过将血液或任何东西送到实验室对你进行任何数量的检测。实验室会对其进行处理,并将结果发送回医生

如果你在与医生交谈之前看到这些结果,你可能会完全误解它们;然而,他被训练去理解什么是正常值或正常值之外的值,更重要的是,什么才是正常值

同样的道理也适用于这里。您可能有一组测试始终失败。最终用户只会看到失败,但不会理解这些特定测试根本不会影响它们。例如,假设您的代码库中有一部分不完整,不适合生产使用。但是,您可能已经设置了测试来强调该代码。。知道你下个月就要完成那个区域了

在这种情况下,您是否希望当前客户告诉透视图客户您的测试有5%失败?或者,你更愿意让你现在的客户说“我使用的一切都很完美”

--只需再添加一件事--
最终用户倾向于将任何小故障视为整个应用程序都已损坏。大多数人仅有的参考资料是他们的汽车。如果电池没电了,那么整个汽车就坏了


这会给你带来很多挫折。特别是如果你有一个针对一些边缘情况的测试,甚至可能在生产中无法再现。用户只会看到某些东西坏了,因此不相信整个应用程序能正常运行。

相反,您可以自己进行自动测试,并公开显示结果。连续打100个复选标记肯定会提高软件的可靠性。

相反,您可以自己进行自动测试,并公开显示结果。一百个复选标记