什么是功能要求的良好测试程序?

时间:2010-09-15 13:19:11

标签: testing functional-testing

我是新项目的首席开发人员,并有机会与系统工程师一起创建用于测试功能需求的模板。我想知道是否有人对什么是一个好的测试程序模板或者有一个很棒的模板的例子有所了解。

谢谢!

1 个答案:

答案 0 :(得分:4)

这不是一个很容易回答的问题。这取决于一些事情:

1)什么是功能测试用例的定义/解释

2)支持人员在验收测试中的作用

3)测试的寿命

这纯粹是基于我自己的经验的意见。

(将2美分插入自动售货机)

1)什么是功能测试用例? - 您和系统工程师需要在这个问题上保持一致。您可能会发现(就像我一样)系统工程师将以比您更高(更细粒度)的级别处理事物。例如,假设特定要求是创建Web服务,工程师需要知道:

  • 界面表现正确吗?
  • 测试用例中的输入参数是否意味着成功/失败?
  • 如果失败,是否返回了相应的错误/错误代码?请注意,根据他们的时间,工程师可能只会坚持影响整个产品/服务的主要/重要故障情况(或负面响应)(例如,“主机未找到/超时错误”应该在界面中但是并不一定需要进行测试,但与客户相关的故障,例如“客户资金不足”对工程师来说非常重要。
  • 是否正确记录了交易状态?

同样,您和系统工程师应该清楚什么是功能测试用例和什么不是。通常,功能测试直接来自提供给您的功能规范。对于某些产品,超时重试属于非功能性,但您可能有一位工程师希望他的Web服务在超时前重试17次 - 如果他指定了 - 那么您将其包括在内。

2)这些测试是如何进行的以及谁签下这些测试?根据这一点,您可能需要简化或充实功能测试。

如果你自己和系统工程师将你自己锁定在一个舒适的房间里半天,通过每个测试用例,然后保持简化:你们两个应该非常熟悉要求,工程师会审查文件并已提供评论。另一方面,您可能让支持工程师与您一起运行测试而不是工程师(这就是我们运行它的方式......系统工程师检查测试用例,在开始时停留一段时间并在他感到无聊时离开)。我在哪儿?是的,所以在这种情况下,在描述正在测试的场景时,您的文档可能需要更多地掌握。这让我想到了我长篇大论的聊天中的最后一点......

3)文件的长寿

就像我身边的情况一样,一旦完成一系列功能测试,就会很快忘记它们。但是,这些测试验证了您的系统和产品,支持工程师应该能够随时运行它们:

  • 解决问题(“这种情况甚至在上线之前就已经过测试了吗?”)
  • 再次解决问题(“geez这些人甚至测试过这个特殊情况吗?”)
  • 在重大变更后验证系统/产品的完整性
  • 了解产品或服务的原有功能(很多时候人们忘记了产品应该如何表现,并且支持员工讨厌阅读需求规格,特别是过时的要求规格和当前的行为该系统与最初推出的系统不同)

(深呼吸)

所以现在你需要确保涵盖以下内容:

  • 测试设置第1部分:运行测试的要求是什么?我需要什么工具?网络连接?
  • 测试设置第2部分:我将使用哪些测试数据?如果我需要它或者我如何生成它会在哪里?
  • 功能要求/测试概述,至少表明预期的行为是什么。
  • 将要测试的主要系统组件概述
  • 关于测试局限性的想法 - 某些功能测试可能只是模拟或无法针对实时终端系统等进行测试 - 您需要描述限制并向读者展示您将如何伪造它。

此外,系统工程师也希望您已经完成了粒度测试,如组件测试,集成测试等。根据他的表现有多棒,工程师可能会要求提供这些组件测试的文档并自行运行。

希望有所帮助 - 让模板提供一致的演示文稿,并帮助您确保涵盖所有重要内容 - 但我认为重点应放在确定目的和实现目标上。

希望我赚了几分钱:)。