2

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

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

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

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

4

2 回答 2

1

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

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

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

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

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

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

于 2008-12-30T18:37:03.460 回答
1

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

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

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

  • 尽可能多地将生产的特性复制到暂存和开发是有帮助的——如果你缺乏硬件,请使用虚拟机

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

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

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

于 2008-12-30T19:14:20.967 回答