Installation 安装程序的单元测试

Installation 安装程序的单元测试,installation,process,build,qa,Installation,Process,Build,Qa,什么是最好的过程,代码由开发人员检查,安装程序由构建工程师创建,并发布给QA以测试安装程序 安装程序是否应该在没有开发人员进行单元测试的情况下发布给QA。如果开发人员做了一些更改,那么他们应该等到QA报告错误。或者,如果安装程序首先交给开发人员进行单元测试,一旦他们签核,那么只应该发布给QA?开发人员是否需要与安装程序集成?也就是说,安装程序的新版本是否可能会对开发人员进行必要的更改 我的猜测是,安装程序和代码之间存在集成,因此需要进行集成测试。Dev应该参与进来似乎是合理的 因此: 确定集成测

什么是最好的过程,代码由开发人员检查,安装程序由构建工程师创建,并发布给QA以测试安装程序


安装程序是否应该在没有开发人员进行单元测试的情况下发布给QA。如果开发人员做了一些更改,那么他们应该等到QA报告错误。或者,如果安装程序首先交给开发人员进行单元测试,一旦他们签核,那么只应该发布给QA?

开发人员是否需要与安装程序集成?也就是说,安装程序的新版本是否可能会对开发人员进行必要的更改

我的猜测是,安装程序和代码之间存在集成,因此需要进行集成测试。Dev应该参与进来似乎是合理的

因此:


确定集成测试的责任所在:如果由构建工程师负责,则将其发布给QA。如果是和开发人员一起,那么首先给开发人员,然后给QA。

开发人员需要和安装程序集成吗?也就是说,安装程序的新版本是否可能会对开发人员进行必要的更改

我的猜测是,安装程序和代码之间存在集成,因此需要进行集成测试。Dev应该参与进来似乎是合理的

因此:


确定集成测试的责任所在:如果由构建工程师负责,则将其发布给QA。如果使用Dev,那么首先给Dev,然后给QA。

下面是一个博客条目的链接,该博客条目描述了一个新项目,用于将单元测试添加到WiX安装程序的自定义操作中。虽然这是非常具体的实现,但它可能会为您提供有关向安装程序添加单元测试的指导


作为一个一般性的指导原则,我想说,你测试安装程序的彻底程度应该取决于有多少人将安装该产品。如果您正在为公司内部使用编写软件,并且有10台机器,那么我会说,只需确保对基本工作进行测试即可。如果您的产品将发布到世界各地,并且您预计将有数百名用户,请测试该过程的每个可能方面。此场景中的任何安装程序错误都将是一个巨大的问题。

下面是一个博客条目的链接,其中描述了一个新项目,该项目将单元测试添加到WiX安装程序的自定义操作中。虽然这是非常具体的实现,但它可能会为您提供有关向安装程序添加单元测试的指导


作为一个一般性的指导原则,我想说,你测试安装程序的彻底程度应该取决于有多少人将安装该产品。如果您正在为公司内部使用编写软件,并且有10台机器,那么我会说,只需确保对基本工作进行测试即可。如果您的产品将发布到世界各地,并且您预计将有数百名用户,请测试该过程的每个可能方面。在这种情况下,任何安装程序错误都将是一个巨大的问题。

在我这样做的时候,我的方法是将构建工程师完全排除在过程之外。我将自动构建安装程序作为自动化构建的脚本的一部分。构建工程师负责自动化构建,而不是编写和遵循检查表。如果您可以为构建过程编写检查表,那么您就可以自动化构建过程。如果您不能为构建过程编写清单,那么您就没有发布软件的业务

开发人员可以在他们的私有开发环境中构建整个版本,并以他们认为合适的任何方式进行测试。我建议使用带有快照的虚拟机。一旦开发人员满意,他们就会将代码提交到SCM存储库。持续集成引擎Hudson、CruiseControl等监控存储库并启动集成构建。一旦集成构建完成,结果就可以发送给QA进行测试。如果您依赖于需要特殊许可软件才能构建的安装程序,则不必为每个开发人员购买许可副本,只需获得CI服务器的许可证,并让开发人员在CI服务器构建完成后从CI服务器获取安装程序构建

如果您希望有更多的进程抖动,那么让开发人员向开发分支提交,开发分支由CI服务器监控,CI服务器从开发分支生成构建。只有开发人员测试来自开发分支的版本。一旦开发团队对结果满意,来自开发分支的更改将被提升并合并到主分支,主分支也由CI服务器监控,以生成QA版本


我甚至在有私有开发分支的环境中工作过,这些分支流入团队开发分支,这些分支流入集成分支,这些分支流入发布分支,每个分支都有一个审查委员会来决定何时将更改从一个分支推广到下一个分支。这太疯狂了,IMHO,但QA人员喜欢它——长期雇佣QA人员来监控流程。

我做这件事的时候,我的方法是 使构建工程师完全退出该过程。我将自动构建安装程序作为自动化构建的脚本的一部分。构建工程师负责自动化构建,而不是编写和遵循检查表。如果您可以为构建过程编写检查表,那么您就可以自动化构建过程。如果您不能为构建过程编写清单,那么您就没有发布软件的业务

开发人员可以在他们的私有开发环境中构建整个版本,并以他们认为合适的任何方式进行测试。我建议使用带有快照的虚拟机。一旦开发人员满意,他们就会将代码提交到SCM存储库。持续集成引擎Hudson、CruiseControl等监控存储库并启动集成构建。一旦集成构建完成,结果就可以发送给QA进行测试。如果您依赖于需要特殊许可软件才能构建的安装程序,则不必为每个开发人员购买许可副本,只需获得CI服务器的许可证,并让开发人员在CI服务器构建完成后从CI服务器获取安装程序构建

如果您希望有更多的进程抖动,那么让开发人员向开发分支提交,开发分支由CI服务器监控,CI服务器从开发分支生成构建。只有开发人员测试来自开发分支的版本。一旦开发团队对结果满意,来自开发分支的更改将被提升并合并到主分支,主分支也由CI服务器监控,以生成QA版本


我甚至在有私有开发分支的环境中工作过,这些分支流入团队开发分支,这些分支流入集成分支,这些分支流入发布分支,每个分支都有一个审查委员会来决定何时将更改从一个分支推广到下一个分支。这太疯狂了,IMHO,但QA人员喜欢它——QA人员长期雇佣来监控流程。

关于Lux的文章很好。但愿我在编写Windows安装程序时有过这样的经历。我不确定Lux的使用频率,但它现在确实出现在wix网站上。一位用户发布了一个关于2011.10的问题。此外,此服务器可能使用了一个示例?密码关于勒克斯的整洁文章。但愿我在编写Windows安装程序时有过这样的经历。我不确定Lux的使用频率,但它现在确实出现在wix网站上。一位用户发布了一个关于2011.10的问题。此外,此服务器可能使用了一个示例?密码