• 0
  • 0
分享
  • 面试必问的7大测试分类!一文说清楚!——软件测试圈
  • 橙子 2024-08-05 10:34:29 字数 1999 阅读 940 收藏 0

  在日常测试工作中,我们经常会听到“单元测试,集成测试,系统测试”之类的词汇,大家都知道这是按照开发阶段进行测试活动的划分。这种划分完整的分类,其实是分为四种“单元测试,集成测试,系统测试,验收测试"。这四类测试,其实是一种从局部到整体测试思想。但是市面上对这些概念的理解常常很混乱,会和“白盒测试,黑盒测试,灰盒测试”纠缠在一起傻傻分不清,那么本文就针对这几类测试展开讲解,现在车载测试如火如荼,我们就以汽车生产测试的过程为例,来分别阐述下单元测试,集成测试,系统测试,验收测试。

14-1.png

  一、单元测试

  1、汽车制造举例

14-2.png

  在汽车的生产制造过程中肯定是先针对零部件进行测试,比如先对上图的车身进行全面的一个测试,车身的这个测试就可以认为“单元测试”。

  2、放到测试中的理解

  单元测试是软件开发中非常重要的一部分,它允许开发者针对代码的最小可测试部分(通常是方法或类)进行验证,以确保它们的行为符合预期。

  另外:单元测试也叫单测,是针对代码的测试即测试人员可以看到被测代码的内部结构和逻辑。

  例子

  假设我们有一个简单的函数,用于计算两个数的和:

14-3.png

  我们可以编写一个单元测试来验证这个函数的行为:

14-4.png

  在这个例子中我们使用了pytest测试框架来编写和运行测试。我们定义了一个名为test_add_numbers的测试函数,其中包含了三个断言,每个断言都验证add_numbers函数的一个特定行为,然后,我们使用pytest命令行工具来运行测试。如果所有断言都通过,那么测试就成功了。如果有任何断言失败,那么测试就会失败,并显示哪个断言失败了。

  二、集成测试

  1、汽车制造举例

14-5.png

  车身测试通过之后,我们就要把车身和其它测试正常的零部件进行组装,比如把发动机装和车身进行组装。那么在组装后是不是也要进行测试?这就集成测试。

  2、放到测试中的理解

  集成测试,也被称为组装测试或联合测试,是软件测试过程中的一个重要环节。它是在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,然后进行测试。这个过程旨在验证不同的软件模块之间的交互和协作是否正常,以确保整个软件系统的质量和可靠性。

  另外:

  1)集成测试,常发生在"软件还没开发完,但部分单元模块已开发完”的这个阶段。

  2)集成测试最简单形式,就是把两个已经测试过的单元组合成一个组件,测试它们的接口。所以一般也认为是接口测试。

  三、系统测试

  1、汽车制造举例

14-6.png

  当所有的汽车零部件都组装完毕之后也就是形成了整车,我们还需要进行整车测试验证,整车测试就是系统测试。

  2、放到测试中的理解

  系统测试是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合需求说明书的地方。这种测试可以发现系统分析和设计中的错误,确保系统满足规定的需求,并能在实际运行环境中正常工作。

  另外:

  系统测试一般可以认为是功能测试,测试人员不需要看到被测代码的内部结构和逻辑,只需要关注系统的输入和输出。

  四、验收测试

  1、汽车制造举例

14-7.png

  实车经历了前面的几轮测试后就能发布上市了吗?不会,通常车企还会邀请一些第三方专业汽车评测机构或者一些汽车大V测试和反馈,并根据测试反馈结果来判断是否满足既定需求,这就是验收测试。大家要知道所有的产品最终面对的都是甲方和客户,只有他们说OK了那么才会认可该产品,也代表着满足了用户需求,这时候我们才能进行产品的发布和上市。

  2、放到测试中的理解

  验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。验收测试通常由最终用户或具有代表性的客户(称为验收测试团队)执行,以确保软件满足合同、用户需求或商业上的可接受性。

  另外:验收测试,虽说是邀请用户来测试,但测试人员也需要全程跟踪参与。

  五、总结

  很多人经常把“黑盒测试、白盒测试、灰盒测试”和“单元测试,集成测试,系统测试,验收测试”混为一谈,特别是招聘HR在询问应聘者会哪些测试时她们自个总是自己乱作一团。

  其实这几个测试分类要区分清楚也很简单。可以按照两个维度来划分,按照开发阶段划分,就是:单元测试,集成测试,系统测试,验收测试;按照代码的可见度划分,就是:白盒测试、黑盒测试、灰盒测试。为什么这两类测试经常混在一起呢?原因是:

  白盒测试是代码级的测试,也就是单元测试。

  黑盒测试,没有代码,只有界面测试,可认为是点点点的功能测试,这就是系统测试。

  灰盒测试,看不到界面(非界面),又不深入代码,只是在代码的交界处(接口层)进行的校验,就是接口测试,也是集成测试。

  希望通过这篇文章能够帮助大家,特别是初学者理清楚几种测试分类!


作者:有房车的直男    

来源:http://www.51testing.com/html/71/n-7801971.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   bug是测试工作的主要产物,同时也是开发和测试产生矛盾的原因之一。有的同学会觉得测试过程中发现的一些问题直接当面找开发解决了就好了,减少沟通成本,提高修复效率,反正提不提都不影响项目进度;而有的测试则是无论大小,甚至还未和开发沟通确认这个是否有效缺陷,就提上jira了。其实有效的bug对个人、团队、项目都是有非常重要的作用的。  1、bug有助于衡量项目质量。测试组长需要通过缺陷统计和分析,识别项目当前风险,及时调整测试策略。在项目进行中,其他团队成员要了解当前项目质量情况,也需要依赖bug面板。项目进行总结时,可以从bug列表中分析出项目在需求、开发、测试阶段存在的问题,总结项目经验,避...
            0 0 2514
            分享
          •   近两年来,随着互联网的快速发展,软件系统变得越来越复杂,一个软件产品不再是由1-2个开发人员单独编写,而是团队配合,可能每个人只负责一个单模块对于产品全局没有全据了解,所以这些软件在运行时就非常容易错误,行业内将此称之为Bug。并且每一个软件工程师都会有思维死角,不容易发现自己编写出来的错误,所以这时就需要专门的软件测试工程师用专业的测试方式来检查产品了。  并且,因为我国企业对软件测试技术的认知较晚,所以这方面的专业技术人才在国内还很稀缺。据调查显示,目前国内软件测试人才缺口已达到30万,中国软件业每年新增约20万测试岗位就业机会,但是企业、学校培养出的软件测试人才不足需求量的1/10,...
            0 0 1213
            分享
          •   据 WindowsCentral 报道,微软 Xbox 从 11 月 17 日起正式实施一项新的政策,将禁止用户使用未经官方授权的配件,如手柄、耳机、转换器等。  一些使用未授权配件的用户已经在他们的 Xbox 上收到了错误信息 0x82d60002,提示他们“使用未授权的配件会影响您的游戏体验,该配件将在 2023 年 11 月 12 日被屏蔽。”并引导他们去 Xbox 官网查看授权的配件。  还有用户反映,他们买的“廉价版”第三方手柄已经无法在 Xbox 主机上使用。  一些生产第三方游戏配件的品牌,如 Brook Gaming,已经感受到了这一变化的压力。他们在 X 上发布了声明,表...
            0 0 822
            分享
          •   6 月 3 日,深圳市南山区低空经济投资推介会暨行业发展论坛在深圳人才公园求贤阁举行。在此次活动中,一架由深圳幽浮飞碟科技有限公司研发的电动垂直载人飞碟吸引了众多市民的目光。这也是全球第一架电动垂直载人飞碟,可以实现在水面起降,具有水陆两栖功能,目前主要用于观光旅游和广告表演。  据悉,这架飞碟的核心研发团队来自北京航空航天大学和西北工业大学,经过三年多的努力,打造出了这一创新产品。飞碟采用六孔涵道 12 个桨叶电机结构,从电源、动力电机、飞行控制等多方面实现三重安全冗余。飞碟的飞行时间可达 15 分钟,飞行高度达 200 米,最大水平飞行速度可达 50 千米每小时,还能从自动驾驶、手动驾...
            0 0 1112
            分享
          • 1.monkey的简单介绍Monkey测试是Android app自动化测试的一种手段,Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入等,看设备是否出异常。当Monkey程序在模拟器或设备运行的时候,如果用户出发了比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机事件,所以可以用Monkey用随机重复的方法去测试app。一般情况下单个app monkey 模拟测试10万次足矣。2.以下是app monkey测试的详细步骤先进入cmd界面,输入adb devices,查看是否正常连接;输入adb logcat | findstr START 监控app,打开你要测试...
            13 13 1307
            分享
      • 51testing软件测试圈微信