川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

如何划分软件测试阶段

作者:川石学院 日期:2021-06-18 13:52:55 点击数:

  在1974 年美国就召开了第一届软件测试大会,首次将软件测试定义一门学科,也是软件质量中重要的一个分支学科。既然软件测试成为一个学科,那么在实际的测试过程中,其一定有一个流程来控制,随着测试的不断成熟,我们将软件测试分为单元测试、集成测试和系统测试三个阶段。

  一、软件测试阶段划分

  通常测试被分为三个阶段:单元测试、集成测试和系统测试,通常在系统测试之后我们就会将这个产品发布了,但一些情况下我们的测试还会划分出另外一个阶段,那就是验收测试,软件测试阶段划分如图1-2 所示。 

如何划分软件测试阶段(图1)

  图1-2 测试阶段划分

  在开发完成编码后,首先应该对各单元模块进行单元测试,以确定各单元模块是没有问题的。单元模块测试完成后是集成测试,集成测试主要是验证各单元模块之间数据传递是否正确。集成测试完成后就是系统测试,系统测试其实就是集成测试的集成测试,即当我们不断地集成测试时,将系统所有功能都集成后就成了最后系统,此时测试就是系统测试。在系统测试完成后,一般产品就发布了,但如果是一些定制的产品或外包的产品,此时客户就一定会进行验收测试,验收测试从某

  种程度说就是系统测试的延续,当然验收测试又分为正式验收测试和非正式验收测试两种,关于验收测试在第18 章中会进行详细的介绍。

  单元测试、集成测试和系统测试的区别见表1-1。  

如何划分软件测试阶段(图2)

  表1-1 ST、IT、UT 的区别

  二、回归测试

  回归测试其实不是测试阶段,但在各个测试阶段中都会进行回归测试,回归测试贯穿整个测试过程,关于回归测试,我们需要掌握三个方面的内容:回归测试的过程、回归测试的策略、回归测试所处的阶段。

  回归测试过程如图1-3 所示。 

如何划分软件测试阶段(图3)

  图1-3 回归测试过程

  准备好测试条件时,在执行测试过程中,需要比较实际结果与预期结果是否一致,如果实际结果与预期结果一致,说明这个测试用例是正确的;但如果实际结果与预期结果不一致,则说明这个功能存在BUG,如果测试过程中存在BUG,那么下次再发测试版本的时候,就必须验证这个BUG是否被解决,我们把这样的一个过程叫做回归测试。

  那么当发现BUG,在下一版本回归测试时,应该如何回归测试呢?是将所有的功能都验证还是只验证出现BUG 的功能呢?这就是回归测试需要讨论的第二个问题——回归测试策略。回归测试策略通常有四种:全面回归测试、选择性回归测试、指标法回归测试和自动化工具回归测试。

  (1)全面回归测试

  全面回归测试是指不管发现多少个问题,也不管哪些功能有问题,哪些功能没有问题,都进行测试。全面回归测试的优点是对所有功能进行验证,尽最大可能保证系统没有问题,但是这样同样带来一个很重要的问题,就是如果进行全面回归测试,那么测试的成本就会大大提高,并且从测试心理学角度来说,测试工程师是不可能全面回归测试的,即使给你足够的测试时间,也不可能全面回归。

       前面我们谈到测试心理学,关于测试心态的两种情况,在我们回归测试时,随着测试的不断迭代,我们测试的心理会发生变化,后面测试时我们更多的是这种心态:“测试是为了证明系统不存在问题。”这就决定着我们不可能对所有测试用例进行验证,很可能是只挑选了一部分用例进行验证测试。

  (2)选择性回归测试

  选择性回归测试是指,在回归测试时我们只对出现问题的这些功能进行验证,没有出现问题的功能就不进行测试。例如,一个系统一共有20 个功能点,第一轮测试时,发现10 个BUG,这10个BUG 是测试其中8 个功能点发现的,那么选择性回归测试就只对这8个功能进行回归测试。

  但这样存在一个问题,在修改某个BUG 时,如果修改了A 函数,而这个A 函数又被其他的功能所调用(假设是F1 功能,这个F1 功能在上一轮测试中是正确的),这个时候就不能仅仅验证存在问题的8 个功能,还应该验证F1 功能是否正确,即除了验证这些BUG 外,还要关注那些可能影响到的模块。但是这里又存在一个问题,测试工程师如何知道哪些功能可能会受到影响呢?所以这就需要开发工程师在修复BUG 时写清楚,当前这个BUG 是由什么原因引起的,这个问题是如何修改的以及可能产生的影响,所以选择性回归测试除了需要验证当前的问题外,还要验证修改的这些问题可能对其他功能带来的影响。

  (3)指标法回归测试

  指标法回归测试是指每次回归测试一定比例的测试用例,例如用例库一共是500 条用例,每次回归测试时只回归验证其中60%的用例,这个方法是不可取的,因为没有规定回归哪60%的用例,这样可能出现测试工程师故意回归一些不相关的测试用例,因此质量无法保证。

  (4)自动化工具回归测试

  自动化工具回归测试是指使用自动化测试工具进行回归测试,前面我们介绍过从理论的角度来说,其实不管修改了哪些功能,都应该对所有的功能进行回归测试。但是当我们进行全面回归测试时,由于时间成本和测试心态变化的因素,其实我们是无法保证有能力全面回归测试的,这个时候就可以使用自动化测试工具来代替我们手工回归测试,这样既可以解决测试成本的问题,又可以解决测试过程中测试工程师的心态问题。目前,在国内自动化测试还是处于起步阶段,但未来自动化测试一定会成为一个发展趋势。

  回归测试在整个测试过程中都存在,而不只是存在于某个阶段,因为不管是单元测试、集成测试还是系统测试,只要在测试过程中发现系统存在BUG,就需要对BUG 进行修改,而修改完成后就需要进行回归测试来验证是否将该BUG 修改好。

  本章主要介绍了“软件测试阶段的划分”大家觉得有用的话记得每天来这里和小编一起学习涨薪技能哦。想看更多学习资料或视频,识别下方二维码进软件测试群哦(笔芯)  

如何划分软件测试阶段(图4)

  附:川石信息全国校区最新开班时间,课程资料获取13691729932(微信同号)。 

如何划分软件测试阶段(图5)


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2021-06-18 13:52:55
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2021-06-18 13:52:55
  • 国外的月亮也不一定比国内测试猿的年薪美~2021-06-18 13:52:55
  • 建筑工程专业朱同学成功转行为软件测试人!2021-06-18 13:52:55
  • 财务管理专业转行软件测试月薪甩会计几条街!2021-06-18 13:52:55
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2021-06-18 13:52:55
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2021-06-18 13:52:55
  • 文科生转行软件测试照样拿下高薪15K!2021-06-18 13:52:55
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2021-06-18 13:52:55
  • 毕业1年,迷茫的他最终选择转行软件测试2021-06-18 13:52:55