首先介绍一下背景:
我公司开发了一种软件和中间件,使我们的软件与其他软件交互。
一个客户端拥有一个我们应该与之交互的专有软件,他给出了交互所需的.h/hpp和.def文件。当我们的软件在他的电脑上启动时,他有一些dll。
我们不能拥有该软件,因为:
在开发中间件时,我们编写代码、编译代码并将其发送给客户端,并要求他告诉我们他是否发现了任何错误。这真的让我很恼火,因为我们交付了未经测试的软件(这导致我用我无法看到的明显错误交付中间件)。
我的想法是:
我们可以使用.h/hpp创建一个自定义dll (由于动态链接而起作用),只实现我们需要的方法,然后创建一个基本的定制软件来进行测试。
我对此的意见是:
还有其他方法来测试我们的软件吗?
发布于 2022-04-28 11:52:08
您可以自己做的事情不多,但是您可以从客户那里获得额外的支持。根据我的经验,软件供应商可能提供用于支持开发的许可证。您的客户可能能够获得这些许可证,或者作为其现有协议的一部分,或者以比正式生产使用许可证更低的成本获得这些许可证,并将它们提供给您的团队执行开发和测试。
否则,您的最佳选择将是确保您的客户充分意识到您能够做什么以及接受和使用您的软件和中间件的风险。您可能可以在软件中构建一些错误检测和处理,但您仅限于针对文档而不是集成目标进行构建。
发布于 2022-04-28 10:29:08
实际上,你所描述的是你所能做的一切。
但是,没有必要试图对您无法访问的整个应用程序进行反向工程。
您的所有函数都需要表现得好像在做什么,然后返回一些适当的响应。如果它有助于您的测试,也可以添加工具或日志记录。
如果您与外部软件的交互是复杂的、多阶段的,那么可以在测试软件中实现某种状态机,以便它能够对每个步骤做出适当的响应。
https://softwareengineering.stackexchange.com/questions/438290
复制相似问题