• 13
  • 14
分享
  • 如何在敏捷测试过程中设计交叉测试流程——软件测试圈
  • 曼倩诙谐 2020-12-28 13:09:11 字数 1807 阅读 2697 收藏 14

  一、何为敏捷测试

  敏捷测试,是指接纳了敏捷的核心价值观(沟通,简单,反馈,勇气,尊重),在敏捷软件开发过程中开展的测试。敏捷测试是一种符合敏捷宣言思想,遵守敏捷开发原则,在敏捷开发环境下能够很好地和其整体开发流程融合的一系列的测试实践。敏捷测试和传统测试区别如下表所示:

表1敏捷测试与传统测试区别

1.png


  二、敏捷测试过程中的测试活动有哪些

  敏捷测试要求“测试人员”参与整个敏捷开发过程,并且在迭代周期内遍历整个测试准备——预测试——功能测试——回归测试过程。敏捷测试强调测试启动“越早越好”、“测试与开发并行”,在开发人员进行方案设计时,“测试人员”同步进行测试方法设计;开发人员进行功能开发时,“测试人员”进行测试用例编写;开发人员代码提交后,“测试人员”进行功能验证,并上报故障;开发人员完成故障修复后,“测试人员”进行回归测试。如下图1所示:

2.png


图1迭代内的敏捷测试活动

  三、敏捷测试实践的必由之路——分层测试

  分层测试顾名思义就是分多个层次,由下而上一个层次一个层次的测试,常见的分层测试有单元测试、集成测试和验收测试。在敏捷测试中,为了快速迭代、快速验收地目标,分层测试是不容忽视地选择。

  将单元就是人为规定的最小的被测功能模块,单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。单元测试有利于开发人员提高编码质量,避免出现低级问题。

  集成测试是单元测试地扩展,在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。集成测试有助于发现多个单元模块联动后地故障。

  验收测试是部署软件之前的最后一个测试操作。在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的软件测试活动。它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。验收测试的任务,是验证软件的功能和性能符如同用户的期待。

  四、敏捷测试分层的改进——交叉测试

  01、什么是交叉测试

  顾名思义,交叉测试即交换测试。比如原来A同学负责a模块,B同学负责b模块;那么在一轮测试之后,A同学负责b模块测试,B同学负责a模块测试。

  02、交叉测试的意义

  在软件测试过程中,每个项目一般由多名测试人员组成,每个测试人员分别负责不同模块的测试,并对同一个模块进行多轮测试。经过多轮反复测试,测试人员对自己负责的模块无论从整体到细节都有了非常深刻的掌握,但同时也一个问题,即定向思维。测试的反复循环使得测试人员对自己负责的模块出现测试疲态现象,这严重影响了测试后期故障的检查。这种专注测试模式虽然能加深测试人员对软件部分功能的深入理解,但从某种程度上也影响了产品的最终质量,同时也限制了测试人员对产品整个逻辑和功能的了解。为了解决这个问题,引入叫交叉测试时非常必要的。

  交叉测试,可以使测试人员相互交换测试的模块,这样即可以保持测试人员的测试新鲜感,还可以进一步发掘测试的未知领域,发现交叉测试的模块和之前测试的模块间的联系,甚至可以构建更多的测试场景,提高故障发现率,对提高产品的质量也起到了很大帮助。

  03、如何引入交叉测试

  根据第二节的敏捷测试流程和第三节的测试分层模型,及交叉测试的作用,可以推断出,交叉测试适合在测试结果相对稳定(即测试人员对自己负责的模块测试完成度很高时)、交付产品前进行。因此,可以在集成测试和验收测试之间引入交叉测试。如下图2所示:

3.png


图2引入交叉测试后的测试分层

  交叉测试需要交换测试人员负责的测试模块,但并不是随机、无计划、无组织地随机分配测试模块给不同地测试人员。根据敏捷测试的“全员测试”理论(即人人都是测试人员),在组织交叉测试地时候,重点考虑有功能关联或交互地模块间进行交叉测试,这样可以使测试人员更加清晰模块间地交互和功能革新后的波及性,可以构建新测试场景扩展测试面,发现更多遗漏的软件故障。

  具体交叉测试样例可以参考下表:

表2交叉测试设计样例

4.png


  其中,A和C,B和D模块之间存在功能关联。

  04、交叉测试带来的效益

  经过实践发现,交叉测试引入前后对比,发现故障数有所提高,测试人员对不同模块的了解度更加深入,产品质量得到更高的保障。



作者:刘晓佳   

来源:51Testing软件测试网原创


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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 在面试时,经过寒暄后,一般面试官会让介绍项目经验。常见的问法是,说下你最近的(或最拿得出手的)一个项目。根据我们的面试经验,发现有不少候选人对此没准备,说起来磕磕巴巴,甚至有人说出项目经验从时间段或技术等方面和简历上的不匹配,这样就会造成如下的后果。第一印象就不好了,至少会感觉该候选人表述能力不强。一般来说,面试官会根据候选人介绍的项目背景来提问题,假设面试时会问10个问题,那么至少有5个问题会根据候选人所介绍的项目背景来问,候选人如果没说好,那么就没法很好地引导后继问题了,就相当于把提问权完全交给面试官了。面试时7份靠能力,3份靠技能,而刚开始时的介绍项目又是技能中的重中之重,所以本文将从“...
            0 0 1484
            分享
          •   靠谱测试人员除了需要具备业务分析能力、洞察BUG能力等,还需要具备一定的硬实力,也就是常说的专业技术能力。比如:测试用例设计、抓包工具、性能测试功能、数据库、测试服务器维护等等。  1.掌握测试基础知识  基础知识就是根基,根基打好了,你才能够更有效地往后期发展,也就是为了以后的学习做一个铺垫。如果根基都没打好,功能测试不会,就想直接学性能,那性能是做不好的。  2.娴熟运用测试工具  熟悉工具和熟练使用工具完全是两个概念,熟悉工具基本上等同于不会,遇到过很多简历上写会使用什么什么工具,都没有实际能力。比如loadrunner只会一个简单的录制,增强一下脚本,觉得会用了,那知识会用了1/5...
            0 0 557
            分享
          •   小鹏汽车 CEO 何小鹏18日分享了智驾团队在德国拍摄的高速 NGP 测试视频,并称当前“进展不错”。  何小鹏表示,位于德国的团队反馈,小鹏 XNGP“感知泛化能力极强”,拿到欧洲之后几乎可以直接上路,而且受过国内交通路况“博弈训练”的智驾软件,在海外的体验格外流畅。“从技术层面上来看,高阶智驾全球都能用指日可待。”  本月早些时候,近千台小鹏 G9 发运德国,为小鹏汽车有史以来单次最大规模的海外发运。据悉,此次出口总值超过 5 亿元,创中国高端智驾纯电汽车单船出口价值第一。上月末,小鹏汽车宣布正式进入德国市场,并将于今年 5 月开始在德国销售小鹏 G9 和小鹏 P7 的国际版车型。  ...
            0 0 210
            分享
          •   内卷,是现在热度非常高的一个词汇,随着热度不断攀升,隐隐到了“万物皆可卷”的程度。究其来源,内卷这个词的出现,是伴随着996的讨论开始的。  很不幸,996、福报这些词的重灾区和源头就是计算机/互联网行业,那么作为行业中一个非常重要的分支,测试圈的情况怎么样呢?  软件测试圈的内卷是怎样的?  在谈起测试圈的内卷之前,我们必须先搞清楚常说的内卷是什么。  内卷,网络流行词,本意是指人类社会在一个发展阶段达到某种确定的形式后,停滞不前或无法转化为另一种高级模式的现象。当社会资源无法满足所有人的需求时,人们通过竞争来获取更多资源。  后经网络流传,用来指代非理性的内部竞争或“被自愿”竞争,现在...
            15 14 819
            分享
          • 今天在写脚本的时候发现一个奇怪的错误。经过猜想验证,发现原来Groovy过于灵活了,算是重复踩了之前的坑。Groovy特性描述如下:当Groovy脚本调用getFun()和setFun()方法时,会默认给这个类有一个FunTester的属性。反过来,如果这个类有Fun这个属性,那么get和set方法是不用显式写出来的。本来这是个好事情,一方面其实可以免去多余代码,一方面更容易收拢入口方法(因为直接访问属性、修改属性也是有限调用get和set方法)。但是就是这个特性让我下面的代码报错了。```        StringBuilder sb = new S...
            0 0 595
            分享
      • 51testing软件测试圈微信