11

我对系统测试和验收测试之间的真正区别有点困惑。当我搜索这个主题时,答案不同,我看不出测试用例有什么不同。

我发现的事实:

系统测试是在整个系统上进行的,由供应商完成。系统测试是端到端测试,您可以根据需求规范(功能性和非功能性)测试系统中的完整流程(从登录到注销)。

验收测试由客户完成,以验证它是否满足客户的需求。这也是完整的流程,并且基于需求规范。然而,构建的系统是根据需求规范设计的,并且外观/可用性通常在开发周期的早期阶段已经被接受。如果系统涵盖了需求规范,客户应该不可能说“这不是我们想要的,重做这个和那个”,除非合同当然允许这样做并且客户按小时付费。

所以,我的问题基本上是,这两个测试阶段的测试用例会有什么不同?它们都是端到端测试,重点是它是一个功能系统,它满足规范,这在某种程度上也是业务需求(因为这是他们订购的)。似乎系统测试中的测试用例可以在验收测试中重用,因为它们都涵盖了完整的流程?

4

3 回答 3

12

简短的回答是这样的:

系统测试由开发人员和/或 QA 执行,以确保系统执行其设计目的。这可以通过使用例如 Selenium(用于 Web 应用程序)之类的东西来自动完成。这样做的目的是保证质量,许多组织对此并不在意。

验收测试由客户和/或经理执行,以确保系统按照他们认为的方式运行。它通常被认为是开发人员修复软件的合同义务的结束。

不同之处在于,系统测试通常会测试客户并不真正关心的事情,例如“数据库连接是否以正确的顺序提交”。验收测试通常关注诸如“主观用户体验如何”之类的事情。

于 2013-04-11T09:39:56.563 回答
4

客户的验收测试不应该有正式的测试用例。这完全是关于客户按照他们的计划使用系统,并查看他们对系统工作方式的理解与实际工作的匹配度。测试用例限制了验收测试,因为通常从中提出的事情是“X 很棒,但你也可以添加 Y”和“我们说字段 Z 应该是一个整数,但实际上我们可能也需要在其中放入文本”。

于 2013-04-11T09:18:19.120 回答
2

两种类型的测试都是针对整个系统/应用程序执行的。许多测试很可能会重叠。

系统测试通常由独立的 QA 团队在类似生产的环境中执行。这可能是第一次将所有组件一起测试。

验收测试通常在相同环境或类似(也类似生产)环境中运行,但团队的组成通常由系统实际用户的子集组成。一种信念是,用户将识别场景、缺陷并观察常规测试人员会忽略的行为。此外,这可以在用户部署到生产环境之前为他们提供一定程度的舒适感。

如果您使用 V 模型,系统测试与系统级设计一致,验收测试与业务需求一致。

于 2013-04-11T13:05:32.463 回答