首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在没有许可证的情况下测试与专有软件的交互

在没有许可证的情况下测试与专有软件的交互
EN

Software Engineering用户
提问于 2022-04-28 08:00:55
回答 2查看 395关注 0票数 4

首先介绍一下背景:

我公司开发了一种软件和中间件,使我们的软件与其他软件交互。

一个客户端拥有一个我们应该与之交互的专有软件,他给出了交互所需的.h/hpp和.def文件。当我们的软件在他的电脑上启动时,他有一些dll。

我们不能拥有该软件,因为:

  • 这个软件本身就有一个非常昂贵的许可。
  • 客户端有他无法重新分发的软件的自定义版本。
  • 出于安全原因,客户端的IT不想让我们远程访问他们的计算机或虚拟机

在开发中间件时,我们编写代码、编译代码并将其发送给客户端,并要求他告诉我们他是否发现了任何错误。这真的让我很恼火,因为我们交付了未经测试的软件(这导致我用我无法看到的明显错误交付中间件)。

我的想法是:

我们可以使用.h/hpp创建一个自定义dll (由于动态链接而起作用),只实现我们需要的方法,然后创建一个基本的定制软件来进行测试。

我对此的意见是:

  • 这样做可能需要很长时间(特别是如果希望确保我们用于测试的软件和dll工作正常)
  • 我只会测试我认为软件正在做的事情。我们没有真正的文档,只是头文件中函数上面的注释。我不知道如何实现功能(也不知道如何对现有软件进行逆向工程)

还有其他方法来测试我们的软件吗?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2022-04-28 11:52:08

您可以自己做的事情不多,但是您可以从客户那里获得额外的支持。根据我的经验,软件供应商可能提供用于支持开发的许可证。您的客户可能能够获得这些许可证,或者作为其现有协议的一部分,或者以比正式生产使用许可证更低的成本获得这些许可证,并将它们提供给您的团队执行开发和测试。

否则,您的最佳选择将是确保您的客户充分意识到您能够做什么以及接受和使用您的软件和中间件的风险。您可能可以在软件中构建一些错误检测和处理,但您仅限于针对文档而不是集成目标进行构建。

票数 6
EN

Software Engineering用户

发布于 2022-04-28 10:29:08

实际上,你所描述的是你所能做的一切。

但是,没有必要试图对您无法访问的整个应用程序进行反向工程。

您的所有函数都需要表现得好像在做什么,然后返回一些适当的响应。如果它有助于您的测试,也可以添加工具或日志记录。

如果您与外部软件的交互是复杂的、多阶段的,那么可以在测试软件中实现某种状态机,以便它能够对每个步骤做出适当的响应。

票数 3
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/438290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档