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

时间:2008-12-30 16:36:51

标签: testing process integration-testing testimonials test-plan

我想改进我工作的集成测试方法,我想知道这个过程在其他地方是如何发生的 例如:
  - 当测试计划书写开始时   - 测试人员,开发人员和要测试的东西(整个申请或修改)之间的比例
  - 用于集成测试的方法有哪些

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

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

如果有人建议可以改进测试过程(比如更多人测试等),那将是非常好的。但大多数情况下,我想听听测试过程如何在其他地方工作 感谢。

2 个答案:

答案 0 :(得分:1)

对于我们来说,集成测试通常由开发人员在提交之前执行。只需简单的表面测试就可以看出没有明显的东西被打破。

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

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

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

此设置很好,因为它可以确保域专家是验证系统功能并从IT部门中删除一些职责的人。

糟糕的是,他们通常不是非常技术或优秀的测试人员。作为用户,他们倾向于看到系统是什么,而不是它可能是什么。事实上,他们在组织中作为全职员工也具有普通职能,这也意味着他们在测试方面的资源非常有限。

答案 1 :(得分:1)

我假设您的意思是集成测试,就像检查应用程序的各个部分是否一起工作一样(例如,在DBA和Web开发人员分别说他们完成后,让数据库和网站一起工作) )我将使用当前项目的一个例子

  • 我代码生成了几个配置文件,因此我可以通过某些模块开/关来观察应用程序,即错误报告,身份验证,调试模式编译,有/无SSL。开发环境可能会关闭“友好错误页面”,没有身份验证,没有SSL等。

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

  • 尽可能多地将生产特征迂回地复制到升级和开发中 - 如果缺少硬件,则使用虚拟机

  • 我还在生产代码库中写了几页来测试代码从一台机器移动到另一台机器时破坏的东西,即数据库连接是否正常,电子邮件是否发送,临时文件夹是否可写并使该页面成为服务器运营商的主页

关键是尽可能自动化。频繁的集成测试可以更早地解决问题。

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