系统测试与验收测试 - 测试用例的差异[关闭]

Posted

技术标签:

【中文标题】系统测试与验收测试 - 测试用例的差异[关闭]【英文标题】:System testing vs Acceptance testing - Difference in test cases [closed] 【发布时间】:2013-04-11 09:12:51 【问题描述】:

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

我发现的事实:

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

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

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

【问题讨论】:

【参考方案1】:

简短的回答是这样的:

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

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

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

【讨论】:

【参考方案2】:

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

【讨论】:

我不同意。验收测试绝对应该有一个正式的测试用例,否则你会给客户一张“摆脱编写愚蠢的需求”的卡片。 我认为客户和供应商之间每份合同的基础都是需求规范。如果客户正在进行临时验收测试并且没有使用此规范作为基础测试系统并接受系统,那么他们没有法律要求事后说嘿,你错过了这个。客户和供应商都应验证是否满足要求? 诚然,要求客户审查规格并没有什么坏处。听起来确实有点像“我们认为这是您想要的,请确认我们已经实现了它”,而不是更开放的“系统是否按照您的意愿执行?”【参考方案3】:

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

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

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

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

【讨论】:

以上是关于系统测试与验收测试 - 测试用例的差异[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

初识单元测试框架

软件质量保证与测试练习2

多个测试用例的getline问题[关闭]

RobotFramework特性总结

设计测试用例的方向

9个问题浅谈自动化测试与测试用例的编写