系统测试(system testing)和系统集成测试(system integration testing)的区别

集成测试有时被称为集成与测试(I&T),是软件测试的一个级别,其中单个软件模块以逻辑方式组合并作为一个组进行测试。此类测试的基本目的是检测集成单元之间交互中的故障。通常,测试驱动程序和测试存根用于辅助集成测试。...

什么是集成测试(integration testing)?

集成测试有时被称为集成与测试(I&T),是软件测试的一个级别,其中单个软件模块以逻辑方式组合并作为一个组进行测试。此类测试的基本目的是检测集成单元之间交互中的故障。通常,测试驱动程序和测试存根用于辅助集成测试。

007Ys3FFgy1gwyfwf05r2j30ig0dwt9k

集成测试是如何完成的?

无论要测试的软件是什么,以下是使用集成测试方法进行软件测试的过程:

  1. 准备集成测试计划。
  2. 设计测试场景、案例和脚本。
  3. 执行测试用例,然后报告缺陷。
  4. 跟踪并重新测试缺陷。
  5. 重复步骤3和4,直到集成过程成功完成。

集成测试方法

集成测试通常有4种方法,包括:

  1. 大爆炸:在这种集成测试方法中,几乎所有单元都集成(组合)在一起,并同时进行测试。当软件测试团队收到捆绑包中的整个软件时,通常会考虑这种方法。
  2. 自上而下:在这种方法中,首先测试顶层单元,然后逐步测试底层单元。通常,这种方法需要测试存根,以刺激在初始阶段可能不存在的较低级别单元。
  3. 自底向上:在这种方法中,首先测试底部(低)液位装置,然后逐步测试上部液位装置。通常,要求测试驾驶员模拟在初始阶段可能不可用的更高级别单元。
  4. 三明治式/混合式:这种集成测试方法是自顶向下和自下而上方法的结合。

什么是集成测试的一些优点(some of the advantages of integration testing)?

  • 很容易集成不同的模块。
  • 待测模块可用后即可启动。该过程不需要等待系统的所有模块编码并进行单元测试。
  • 它可以很容易地检测到错误,例如与接口相关的数据库损坏和集成错误。
  • 在自上而下的集成测试方法中,关键模块按优先级进行测试,因此可以很容易地发现和修复主要的设计缺陷。
  • 代码覆盖率高,易于跟踪。
  • 通过集成测试,很容易验证软件模块是否在单元中工作。
  • 集成测试需要许多方法,如自顶向下、自下而上、三明治和大频带。

什么是集成测试的一些缺点(some of the disadvantages of integration testing)?

  1. 有时,集成测试涉及大量需要测试的接口,因此可能会忽略一些接口链接。
  2. 像自底向上这样的集成方法可能会导致巨大的错误和缺陷,因为控制应用程序流量的关键模块是最后测试的,并且可能容易出现缺陷。
  3. 像自顶向下集成这样的集成方法需要很多存根。

什么是系统测试(system testing)?

系统测试是软件测试的一个阶段,在该阶段中,根据预先确定的规范和功能需求对完整和完全集成的软件产品进行测试。系统测试包括测试以下软件代码:

  • 测试用户对应用程序的体验。
  • 验证应用程序中每个输入的彻底测试,以检查所需的输出。
  • 最终用户测试场景,需要测试完全完成的应用程序,以检查组件之间以及与整个系统的交互方式。

系统测试是如何完成的?

系统流程可能因项目而异,但以下通常是必须遵守的6个关键步骤:

  1. 创建一个测试计划
  2. 测试用例创建
  3. 选择
  4. 测试用例执行
  5. Bug报告和修复
  6. 重复试验循环

不同类型的系统测试

以下是大型软件开发公司通常采用的几种不同类型的系统测试:

  1. 负载测试:这种系统测试是为了了解软件在实际负载下如何工作。
  2. 可用性测试:该测试需要了解用户使用应用程序的容易程度、控制灵活性以及系统是否能够满足其预期用途。例如,该系统应易于使用、学习和操作。
  3. 恢复测试:这样做是为了确保软件是可靠的,并且在崩溃时可以恢复。
  4. 迁移测试:这样做是为了确保软件解决方案可以从旧的基础架构系统迁移到新的基础架构系统,而不会出现问题。
  5. 回归测试:这样做是为了确保在过长时间内添加新的软件解决方案模块时不会出现旧的bug。
  6. 功能测试:包括使用测试人员来检测可以改进软件功能的缺失功能。
  7. 硬件测试:这需要在系统测试期间测试硬件和软件之间的相互作用。
  8. 安全测试:这是为了确保系统不允许未经授权访问数据资源。

什么是系统测试的一些优点(some of the advantages of system testing)?

  • 它确保产品符合质量标准。
  • 帮助向最终用户交付优质产品。
  • 在系统测试中,测试应用程序体系结构和业务需求。
  • 系统测试需要端到端测试,这有助于防止系统故障、挤压和其他错误。
  • 测试是系统的,并且以适当的方式进行。

表格形式的集成测试和系统测试

比较基础 集成测试 系统测试
描述 集成测试有时被称为集成与测试(I&T),是一种软件测试级别,其中单个软件模块被逻辑组合并作为一个组进行测试。 系统测试是软件测试的一个阶段,在该阶段中,根据预先确定的规范和功能需求测试完整和完全集成的软件产品。
了解代码/内部结构 这是一种黑盒和白盒测试方法,因此需要了解两个模块和接口。 它通常是一种黑盒技术,因此不需要了解内部结构或代码。
意图 这是在接口模块上完成的,以检查它们是否给出所需的结果。 对已完成的产品进行检查,以检查其是否符合规范要求。
范围 在测试过程中,仅进行功能测试,以评估两个模块组合时是否产生预期结果。 在测试过程中,功能测试和非功能测试都要进行测试,如可用性、安全性、性能、负载压力和硬件。
测试种类 这是在单元测试之后进行的低级别测试。 它是在集成测试之后进行的高级测试。
新闻报道 集成测试过程包括大爆炸法、自下而上法、自上而下法和三明治法。 系统测试包括许多不同的类型,如可用性、性能、维护、回归、可伸缩性、可靠性、安装测试和重新测试。
测试技术 鉴于执行集成测试需要接口逻辑,因此需要白盒/灰盒测试技术以及黑盒测试技术。 鉴于系统测试仅限于功能需求的评估,它仅包括黑盒测试技术。
测试用例 在集成测试中,设计测试用例来模拟两个模块之间的交互。 在系统测试中,开发测试用例以模拟真实场景。
执行人 集成测试由开发人员和软件工程师执行 系统测试仅由测试工程师执行。
代码错误和缺陷 集成测试是在单个模块之间的接口上执行的,因此检测到的代码错误和缺陷仅针对单个模块,而不是整个系统。 系统测试在整个系统上进行,包括所有接口,因此,检测到的任何代码错误和缺陷都被认为是整个系统的缺陷。

  • 发表于 2021-11-29 17:27
  • 阅读 ( 197 )
  • 分类:IT

你可能感兴趣的文章

性能测试(performance testing)和负载测试(load testing)的区别

...是一种非功能性测试,用于在各种负载条件下验证和验证系统属性,而负载测试是一种性能测试,用于检查应用程序在预期工作负载下执行的能力。 在开发软件时,检查软件是否按要求工作是很重要的。软件测试是验证和验证...

  • 发布于 2020-10-18 12:16
  • 阅读 ( 467 )

今天你手机上弹出的“总统警报”是什么?

...写词吧。不过,我们会尽量减少。 无线紧急警报(WEA)系统是在2012年建立的,但实际上它存在的时间要长得多。联邦通信委员会在2007年提出并创建了警报网络,以响应国会在2006年通过的一项法案——警告、警报和响应网络(WA...

  • 发布于 2021-04-04 09:29
  • 阅读 ( 439 )

parallels警告用户在完成测试之前不要升级到Windows8

...直到现在它还无法完全测试升级。考虑到微软最新的操作系统将于明天推出,这条消息的时机相当不合时宜;考虑到Parallels在今年夏天发布了一个主要的升级版本,并且完全集成了Windows8,这也有点奇怪。不过,用于替代操作系...

  • 发布于 2021-04-24 11:14
  • 阅读 ( 162 )

负载测试(load testing)和性能测试(performance testing)的区别

...导致性能下降的瓶颈。它也是一个很好的工具,用于设置系统可以处理的负载的实际限制。然后开发人员可以创建阻止这种情况发生的机制。这种机制的例子是用户或任务的排队,这样软件只能得到它能管理的东西。 除了负载...

  • 发布于 2021-06-23 21:28
  • 阅读 ( 283 )

测试用例(test case)和测试场景(test scenario)的区别

...定软件程序或应用程序是否满足业务需求。 这是一种对系统进行的调查,以确定程序中的漏洞、漏洞或不检点。测试有很多方法。 测试用例和测试场景是软件测试的两个重要方面,用于确定项目的需求和评估测试应用程序功能...

  • 发布于 2021-06-25 10:59
  • 阅读 ( 1147 )

托福(toefl)和雅思(ielts)的区别

... tests. 什么是托福(toefl)? TOFEL是一项国际知名的英语水平测试,专门测试你在学术和教育环境中用英语进行交流的能力。这项测试是用美式英语进行的,由美国教育考试服务机构管理。因此,它更有可能受到美国机构的青睐。然...

  • 发布于 2021-06-28 01:55
  • 阅读 ( 324 )

功能性(functional)和非功能测试(nonfunctional testing)的区别

...型,功能测试和非功能测试是其中的两种。功能测试验证系统是否按照功能需求或规范进行了测试。另一方面,非功能测试验证了系统的健壮性、性能等属性,这两种测试类型对于最终生成一个工作可靠的软件都是非常重要的。...

  • 发布于 2021-07-01 05:08
  • 阅读 ( 1270 )

单元测试(unit testing)和功能测试(functional testing)的区别

单元测试和功能测试的主要区别在于,单元测试检查系统的各个模块或单元,而功能测试检查系统的特性或功能。 软件测试是软件开发中的一项主要功能。它有助于为客户提供工作可靠的软件。测试有多种类型,单元测试和功...

  • 发布于 2021-07-01 07:39
  • 阅读 ( 1007 )

单元测试(unit testing)和集成测试(integration testing)的区别

...的功能正确性。单元测试的主要目标是通过将每个单元与系统隔离,来识别、分析和修复每个单元中的缺陷。 例如,假设一个银行应用程序。首先,用户应该通过输入用户名和密码登录系统。登录是系统中的一个模块。在登录...

  • 发布于 2021-07-01 07:41
  • 阅读 ( 1060 )

端到端测试(end to end testing)和系统测试(system testing)的区别

端到端测试和系统测试之间的主要区别在于,端到端测试有助于检查应用程序流是否从头到尾都按要求执行,而系统测试有助于验证完整的集成系统是否满足指定的要求。 软件测试是验证和确认软件是否按预期工作的过程。大...

  • 发布于 2021-07-01 07:55
  • 阅读 ( 860 )
90谢琦
90谢琦

0 篇文章

相关推荐