采访中有人问我这个问题。我的想法是SIT在完整的系统上执行,并且系统测试也可以在单个模块上完成。

评论

在面试的情况下,最好注意这些概念。它们有时与一种标准(或方法)中的特定用法相关联,并且在不同的标准中可能具有不同的风味或含义。我会在答案前加上以下内容:根据我的经验或我们使用的方法...

#1 楼

系统测试通常是针对整个平台执行的,并将环境视为黑匣子。但是,系统集成测试会作用于整个系统的一个子集,并且可能会模拟其他平台,与数据库,网络套接字等交互以从正在验证的部分中引起适当的响应。

系统测试的目标通过作为最终用户的行为来验证平台的公开暴露接口,而没有对内部系统的特权访问。集成验证试图在将单独的系统在整个系统中使用之前验证它们是否可以正常运行。

评论


完善!显然,我对系统测试错了。万分感谢。

–丹
2012年11月4日在10:52

没问题,如果您认为我回答了您的问题,请随时接受答案。 :-)

– Toby Jackson
2012年11月4日,11:21

我将测试系统的各个部分称为“集成测试”,而系统集成测试则可能是另一回事。只是表明,确保其他人以相同的方式使用这些术语是很好的。 :-)

–教育
2012年11月4日,11:59

@Toby,在我的词典中有集成测试,系统测试和系统集成测试,因此集成自下而上。当然,所有这些都取决于您在其他系统之间的界限。因此,我想说集成测试将验证系统内部内部接口的集成,在系统测试中模拟外部接口,在系统集成测试中使用真实的外部接口。无论您叫什么,重点都是要验证内部接口集成和外部接口集成。

– dzieciou
2012年11月4日在21:16



@dzieciou可以说我们有一个系统C,它是A和B的组合(A + B = C)。现在,我可以检查执行A的集成测试,执行B的集成测试。此后,我需要在C上执行系统测试,这是结果(整个系统)。 SIT到底要放在哪里?

–丹
2012年11月5日下午6:44

#2 楼

在您的评论中,您问

让我们说我们有一个系统C,它是A和B的组合(A + B = C)。现在,我可以检查执行A的集成测试,执行B的集成测试。此后,我需要在C上执行系统测试,这是结果(整个系统)。 SIT到底会在哪里出现?

在测试C时,但是我相信您不会从简短答案中学到很多东西。
长答案如下。您在这里有一个系统系统。您可以在同一级别(单个系统,系统的系统)执行测试,但是在每个级别上,您可能希望专注于不同的风险(集成问题,整个功能)。正在开发与外部(即不受您控制)系统B(例如PayPal)交互的系统A(例如在线商店)。


测试整个系统A验证其是否满足要求,例如,您能够选择和订购产品(系统A测试)。您可能还会在此处关注集成问题,例如,因为系统A将后端与前端(UI)集成在一起。例如,当后端关闭或后端响应延迟时前端的行为如何?


测试与B集成的A可能会关注不同的问题。您可以验证订购产品后是否将钱从您的PayPal帐户转移到了商店帐户(功能)。这是系统C测试。您也可以检查当您的网上商店没有将付款请求中的描述传递给PayPal(关于集成的更多信息)时会发生什么。我称这个系统为C集成测试。


结论
如果您需要明确的定义,可以随时咨询ISTQB词汇表和ISTQB教学大纲。但是,实践更有趣。您将测试的多个维度组合在一起:级别(子系统,系统,系统中的系统)和风险焦点(功能,集成问题等)。通常,您所测试的内容之间的界限不是很清楚。例如,当您测试在线商店功能时,同时还要确保后端和前端已正确集成。 《第48课:测试结合了专注于测试人员,覆盖范围,潜在问题,活动和评估的技术》中的一本书“在软件测试中获得的经验教训”很好地解释了测试维度的这种组合。风险集成测试关注的重点,请参见另一个答案。

评论


解释得很好,感谢ISTQB链接:)

–丹
2012年11月5日在7:59

#3 楼

在我的词汇中,系统测试将测试一个完整的产品(http://en.wikipedia.org/wiki/System_testing),系统集成测试将对产品的组合进行测试(http://en.wikipedia.org/wiki/System_integration_testing )。与往常一样,最好确保其他人以相同的方式使用术语,并在接受采访时指出您了解歧义。

#4 楼

系统测试是在完整的软件或应用程序上执行的。集成测试在2个地方进行-系统测试之前和之后。集成测试可以分为集成和测试,这意味着您正在集成单元或组件并测试这些模块之间的握手。对所有模块进行集成测试后,您将执行系统测试,因为我们现在拥有完整的系统。在系统测试之后和用户接受测试之前,我们进行系统集成测试。该术语可以分为两个部分-系统集成和测试。现在想象一下,您的系统必须与另一个系统集成才能为最终用户提供解决方案。现在,您需要确保您的系统兼容并且能够与其他系统交换信息。为确保这一点,我们执行系统集成测试。

示例:您从市场上购买了COTS(商用现货)产品。您将执行SIT以确保它与您现有的系统对话。

希望这可以澄清。

#5 楼

在此幻灯片中也可以找到很好的解释:

系统测试:一旦将一组集成的模块组合在一起形成您的应用程序,就可以执行系统测试。系统测试通过在集成系统中测试您的应用程序来验证产品的系统级可靠性和功能。

注意:质量保证团队执行系统测试/由独立的测试组完成

集成测试:集成测试用于测试已组合成较大段的单元组(模块)的可靠性和功能。集成的最有效方法是将各个模块缓慢逐步地组合成小段,而不是将所有单元合并成大型组件。

注意:测试工程师在开发阶段执行集成测试