Testing 如何对您的公司/工作/项目执行集成测试?

Testing 如何对您的公司/工作/项目执行集成测试?,testing,process,integration-testing,testimonials,test-plan,Testing,Process,Integration Testing,Testimonials,Test Plan,我想在我工作的地方改进集成测试方法,我想知道这个过程在其他地方是如何发生的。 例如: -何时开始编写测试计划 -测试人员、开发人员和待测试人员(整个应用程序或修改)之间的比例 -集成测试使用哪种方法。 实际上,我测试webapps,测试计划是通过testlink管理的。Bugzilla上报告了发现的bug。我试图用Selenium RC自动化测试,但我需要一些时间来编写计划和编写代码,以便在Selenium上执行。时间是我没有的,因为我正在测试3个或更多的应用程序 我的大多数问题都是由测试环境

我想在我工作的地方改进集成测试方法,我想知道这个过程在其他地方是如何发生的。
例如:
-何时开始编写测试计划
-测试人员、开发人员和待测试人员(整个应用程序或修改)之间的比例
-集成测试使用哪种方法。

实际上,我测试webapps,测试计划是通过testlink管理的。Bugzilla上报告了发现的bug。我试图用Selenium RC自动化测试,但我需要一些时间来编写计划和编写代码,以便在Selenium上执行。时间是我没有的,因为我正在测试3个或更多的应用程序

我的大多数问题都是由测试环境和生产环境之间的差异引起的。但是测试开始的时间太长了。如果今天有人完成了修改,我需要大约3周的时间来开始测试。测试过程队列不断增长

如果有人提出一些可以改进测试过程的建议(比如更多的人进行测试等),那就太好了。但最重要的是,我想听听测试过程在其他地方是如何工作的。

谢谢。

对于我们来说,集成测试通常由开发人员在提交之前执行。只是简单的表面测试,看看没有明显的损坏

然后,我们将trunk中的代码部署到一个开发服务器上,该服务器连接到一个测试数据库,该数据库是生产数据库的完整副本,并让负责新功能的用户在该服务器上进行验收测试和进一步的集成测试

我们有一个“超级用户”的概念来组织这项工作。超级用户负责教育其他用户其专业领域,并回答与系统使用相关的帮助台问题。超级用户也是参与与他们的工作相关的所有特性的特性请求和需求讨论的人

因此,开发新功能时,超级用户首先验证设计建议,然后在部署前执行最后阶段的测试

这种设置很好,因为它确保了域专家是验证系统功能的人,并免除了it部门的一些责任


糟糕的是,他们通常不是很专业或者很好的测试人员。作为用户,他们倾向于看到系统的现状,而不是它可能是什么。他们作为全职员工在组织中也有他们的普通职能,这一事实也意味着他们在测试方面是一个非常有限的资源。

我假设您指的是集成测试,即检查应用程序的各个部分是否协同工作,(例如,在DBA和web开发人员分别表示完成后,让数据库和网站协同工作),我将使用当前项目中的一个示例

  • 我的代码生成多个配置文件,这样我就可以在打开/关闭某些模块的情况下观察应用程序,即错误报告、身份验证、调试模式编译,以及使用/不使用SSL。开发环境可能会关闭“友好的错误页”、不使用身份验证、不使用SSL等

  • 我还使用构建脚本为配置文件的每个变量创建应用程序的副本

  • 尽可能学究式地将生产特性复制到分段和开发中是很有帮助的——如果缺少硬件,就使用虚拟机

  • 我还向生产代码库中写入了一些页面,这些页面测试代码从一台机器移动到另一台机器时发生的中断情况,即db连接是否正常,是否发送电子邮件,临时文件夹是否可写,并使该页面成为服务器操作员的主页

关键是尽可能地自动化。频繁的集成测试会更早发现问题


从签入到打包部署代码,我需要8分钟的自动化工作和1/2小时的手动点击烟雾测试。

lord我多么希望我能回答这个问题:)呵呵,真的。集成测试最大的问题是完全缺乏它。