首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理可用于多种平台(如Windows、Linux、Unix )的安装/安装应用程序的单元测试/集成测试

如何处理可用于多种平台(如Windows、Linux、Unix )的安装/安装应用程序的单元测试/集成测试
EN

Stack Exchange QA用户
提问于 2019-06-25 07:28:47
回答 2查看 174关注 0票数 1

我正在处理一个代码存储库,它负责部署/安装/升级运行在不同平台、windows、unix、linux上的代理。

代码库已经有了一些单元测试来覆盖重要组件的行为。

现在,我正在考虑如何通过引入集成测试来增加安装/升级的测试覆盖率和信心,并与travis集成。

在这种类型的应用程序上,我可以探索哪些可用的测试框架?

=====编辑#1 =====

我所看到的实现集成测试的应用程序的特点如下。

  • 代码库是用红宝石编写的。
  • 它是一个安装/安装程序,它的主要功能是使机器的状态达到所需的状态。例如,如果Shasum不匹配,我们将部署一个文件、设置文件权限或管理文件的内容。
    • 大多数代码与平台相关,并创建其他进程来执行任务。例如chmod。

  • 它调用外部远程API,以获取和验证配置/数据。

有什么最佳实践或代码库可以进行这种集成测试吗?

EN

回答 2

Stack Exchange QA用户

发布于 2019-07-01 09:54:17

Windows和Linux是非常不同的。

你没有回答的主要问题是为什么?

您可以说“它是一个安装/安装程序,是使机器状态达到所需状态的主要功能”,但是在windows和unix上,任何这样的状态都是不同的。

为什么您需要在windows和非windows机器上运行这个Ruby代码?对我来说还不清楚。描述“我正在处理一个负责在不同平台、windows、unix、linux上运行的部署/安装/升级代理的代码存储库”需要更多的解释。那个特工具体是什么?它执行什么服务?它是如何执行的?这两个操作系统上的安装程序在不同的命令和方法下本质上是完全不同的。这不是1:1的翻译。方法和方法本身可能有很大的不同。

在Windows和Unix上,任何类型的基础设施创建都会有很大的不同,您必须分别处理它们。这就像比较两辆车-一辆福特和一辆宝马。它们都是汽车,有发动机,有运输人员等等。然而,“一部分”并不仅仅适用于两辆车。这背后有无数的原因,尤其是资本主义。比较显示这在其他系统中是如何工作的,可以在管道系统中看到,标准意味着不同的制造商可以供应管道,因为它们都是标准配件,例如1/2“、1”等。

结论:没有任何一个工具能够解决这个问题,只有在一个大的“如果窗口,否则linux”的方式。所以,只需要有两个程序,并分别维护它们。“安装软件”的普通线程可能不足以绑定它们。

票数 1
EN

Stack Exchange QA用户

发布于 2019-07-01 09:32:32

集成测试以及任何测试,作为一种一般理论,都是针对某些需求进行的。在您的情况下,您需要一些(良好的)体系结构/设计需求,并且基于这些需求,您可以设计集成测试策略。

这些要求必须至少提出:

  • 对象/模块/单位/.的清单;
  • 所述单元之间的清晰接口;
  • 允许的数据范围;
  • 等。

一旦您有了需求,您就可以考虑如何构建测试用例,以及哪些工具更适合该任务。

为什么需求是先决条件?仅仅因为没有它们,您就无法知道/证明(Ny)测试用例成功或失败。

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

https://sqa.stackexchange.com/questions/39696

复制
相关文章

相似问题

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