• 1
  • 1
分享
  • 思维导图在软件测试过程中的应用
  • 饭团🍙 2020-09-14 10:27:20 字数 3187 阅读 2569 收藏 1

  前言

  从当初偶然的机会进入测试领域,到现在已经多年了,在这些年做过测试执行、测试技术研究、测试工具等测试相关的工作。最近在工作上有些迷茫,不知道后面的职业道路怎么走,感觉很多测试技能,经验都没得到很好的总结和思考。之前接触过思维导图,但是一直没有发现其价值所在,最近又重新关注,发现思维导图真是个好东东,对测试工作有很大的帮助,所以特总结一下,分享给大家。

  正文

  一、测试是否需要建模

  通常一谈到建模,大家普遍都认为开发才需要,对测试来说,最多可能是在测试设计阶段才需要建模。对于测试模型,一般都谈的比较少,因为很多人都认为测试要求不高,不需要什么模型,也没有什么模型。那么我们分析一下测试的特点以及建模的价值。在工作中,对测试人员的要求,知识面越广越好。和开发人员进行比较,开发人员是纵向发展,测试人员是横向发展。测试的特点要求知识面广,在做测试的过程中要考虑的很全面,那么一方面有多的输入,另一个方面我们要防止测试遗漏,有很高的要求,我们怎么做呢?我们如何防止测试遗漏?那么就需要建模。因此这个也就是测试建模的价值所在,并不在乎你的模型是复杂还是简单,达到你想要的效果即可。那么测试建模有什么特点呢?笔者认为有如下两个特点:一是简单,二是有效。因此笔者强烈推荐大家在工作中用起来,花几分钟时间就能取得很好的效果,这样的事情太有价值了。

  那么我们先来看一个专家的模型,看看他是怎么建模的。下图示测试专家james Bach提出的启发式测试策略模型(Heuristic Test Strategy Model)。

图1.jpg

  上图是HTSM的概要描述,测试人员利用质量标准、项目环境、产品元素,指导测试技术的选择与应用,并产生观察到的质量。那么针对测试技术而言,有可以进一步细分为功能测试、压力测试等等。

  从上面的模型来看,大家会看出来基本上就是一个分类而已,当然整理出一个让大家都觉得合理而且全面的分类是需要有丰富的经验以及总结概括等能力的。看了上面的例子之后,谈一下我对模型的理解,所谓模型,我认为是一种抽恩多首先是了解建模对象的方方面面,然后进行分类,再分类的基础上再进行某种维度的抽象。模型就是这么简单,而且对于建模每个人都可以不一样,我们完全也可以整理出一套符合自己想法和测试产品的模型。

  二、测试如何建模

  笔者虽然是学计算机出生,但是在学校中并没有涉及到测试,进入测试领域也属偶然,在工作中并没有参与过系统的测试基础培训,也没有完整的学习过。因此在工作这么多年后,发现自己要想提升,基础知识必不可少。

  先谈几种生活中的场景:

  场景一:笔者家有一个3岁多的宝宝,暑假报名去学习跳舞,整整一个暑假,老师只教压腿、弯腰等基本功;

  场景二:笔者最近在学习吉他,报了一个培训班,吉他老师只让天天练习右手拨弦,左手按品位,打个比喻,就要像程序员按键盘那样灵活。

  场景三:很多知名的大学教授,特别是国外的一些学校,总是在给本科生代课,以前笔者也不理解,感觉这些是很大的浪费。大家都知道本科生学习的很多东西都是基础知识,要想解决深层次的问题必须要有牢固的基本功。

  有了基本功,那么如何提升自己呢?这时笔者翻阅的一些杂七杂八的书籍有了一些提醒,比如经济学,经济学的发展就是不断的总结理论,推翻理论的过程。因此笔者认识到要想提升自己,必须也有一套方法或者模型。再者,经过这么多年的人生经历,笔者感悟到世上万事万物一定有些内在的东西是相通的,类似的,就像前面提到的三种场景一样,整理出来的模型一定应该是通用的。

  先从最简单的IPO模型谈起吧,下面是一个IPO模型

图2.jpg

  这个模型很简单,但是也很实际。作为一个职场人士,在工作中总要有自己的加工和输出,否则就毫无价值,只能失业了。下面的模型就是在IPO模型基础上扩展得到的,我们做测试建模就是结合测试特有的东东对下图进行细化:

图3.jpg

  ● 基本功:是指最基础,可以在不同环境中都可以使用的技能或知识,比如编程语言,数据库,操作系统等计算机方面的知识,测试理念、黑白盒测试的基本方法等。

  ● 上下文:解决问题或者达到目标的环境,比如当前的项目,产品等。理解或者梳理上下文尤其重要,但是在实际测试中却通常被忽略。比如如何对一只铅笔进行测试?这个问题怎么回答,回答之前一定要考虑上下文。

  ● 经验:测试人员通过工作和生活的总结积累,因人而异。

  ● 方法:这里的方法重点指利用思维导图来建模解决问题的方法(关于思维导图和XMind工具,请读者自行上网搜索)

  ● 目标:需要解决的问题

  笔者认为测试建模的过程就是使用上面这个模型的应用,其中不变的是基本功,建议大家花时间打牢基本功,无论在哪个公司做测试都用得上。上下文是最容易忽略的,通常大家会根据第一反应去回答、解决问题,建议利用思维导图的方式将上下文分析全面了,很多时候全面了解了上下文解决问题的方法自然就出来了。那么为什么要选择思维导图呢?思维导图是一种将放射性思考具体化的方法,它简单却又极其有效,是一种革命性的思维工具。大家可以在网络上找到关于思维导图的相关资料以及范例。前文描述过测试工作的特点,因此笔者觉得对测试来说思维导图是最合适不过的工具。

  三、测试建模的对象

  在测试工作中,哪些对象可能需要建模呢?笔者认为对于测试工作的各个阶段都可以建模,无论是测试基本理论,还是实际工作中的测试设计,测试相关模板整理,测试经验总结等等,只要你能想到的地方基本上都可以使用。下面举两个例子来看一下建模的效果。

  回答一个测试基本概念:软件测试究竟发挥了什么作用?我们先来看一下网上相关的回答

  软件测试的作用,具体地说明的话,可以概括为下列四个方面:

  ● 对产品质量完成全面的评估,为软件产品发布(如验收测试)、软件系统部署(如性能规划测试)、软件产品鉴定(第三方独立测试)委托方和被委托方纠纷仲裁(第三方独立测试)和其它决策提供信息;

  ● 通过持续的测试(包括需求评审、设计评审、代码评审等)可以对产品质量提供持续的、快速的反馈,从而在整个开发过程中不断地、及时地改进产品的质量,并减少各种返工,降低软件开发的成本;

  ● 通过测试发现所要交付产品的缺陷,特别是尽可能地发现各种严重的缺陷,降低或消除产品质量风险,提高客户的满意度,扩大市场份额,提高客户的忠诚度。

  ● 通过对缺陷进行分析,找出缺陷发生的根本原因(软件过程中的问题,包括错误的行为方式)或总结出软件产品的缺陷模式,避免将来犯同样的错误或产生类似的产品问题,达到缺陷预防的目的。

  (注:以上斜体部分引自http://blog.csdn.net/kerryzhu/article/details/7516100,特对作者表示感谢!)

  上面的回答应该是很全面了,那么我们是否可以有自己的思考或者增加一些自己的理解呢?我们使用XMind工具来建模分析一下,先看看分析结果:

图4.jpg

  上面的描述比较简单,大家可以进一步补充描述。通过上面的建模,我们可以发现有这么几个特点:

  ● 一目了然,一下子就能看清楚全景。

  ● 分类清楚,也很容易记住,如果有遗漏也容易查找和补充。

  ● 除了包含上面斜体部分所描述的内容外,还补充了软件测试工作队测试的价值。

  再看一下笔者对性能测试的一个简单建模,下面的建模只是个参考,不同的人可以创建不同的模型,大家可以把下面的模型做的更炫,更全面,网上有很多很好的例子,只要能够在实际工作中发挥作用就是好的模型。如下图:

图5.jpg

  关于测试建模就总结这么多,再重申一下笔者的观点。建模不是为了输出一个多么复杂和高深的模型,而是为了解决实际问题,利用思维导图可以在测试工作中碰到的所有问题或者需要做测试总结的地方进行建模,简单有效。


作者:尘中的尘   

来源:51testing 投稿

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、测试主要的四个阶段1、测试计划设计阶段:产品立项之后,进行需求分析,需求评审,业务需求评级,绘制业务流程图。确定测试负责人,开始制定测试计划;2、测试准备阶段:各成员编写测试用例、先小组内评审、后会议评审,测试样机和配件,测试工具。3、测试执行阶段:负责人对测试任务分工,按计划执行测试过程,提测后,搭建QA环境,先执行冒烟测试,然后进行系统测试,提交bug,跟踪bug,直到被测软件达到测试需求要求,测试结束;4、测试总结阶段:项目测试结束,负责人输出测试报告,对整个测试过程和版本质量做一个详细评估,确认是否可以上线;二、测试执行阶段详述1、功能测试阶段功能测试是软件测试最基础的阶段,是进入...
            0 0 1436
            分享
          •   前言  Unittest是Python自带的自动化测试框架,提供了基本的控制结构和模型概念。  由于Unittest功能较为基础,因此在实际框架实战中往往需要对其功能进行扩充。  比如:  ·生成HTML报告  ·多线程并发(并且报告不混乱)  ·自动重试出错用例  ·为用例提供tags标签和level等级等,往往需要我们对Unittest框架进行二次开发和扩展,由于Unittest框架清晰的API,扩展和定制也非常方便。  unittest.TestResult类简介  TestResult类一般在TestRunner类中实例化,并穿梭于每个执行的测试套件和测试用例中用于记录结果。  T...
            1 1 963
            分享
          •   首先,时间已经不允许你进行大面积的专业复习,所以你应该做好能够立竿见影的准备工作:  1、整理好自己的仪表  先去理个发,让自己看起来精神一点,尤其是男生,整理头发,修修鬓角能够快速让人对自己建立一个较好的印象。  出门前女生化点淡妆,男生也可以抹点霜或者身体乳之类的,不要信男生用化妆品会很娘的那一套,一个浑身汗味的男生和一个散发淡淡香味的男生给人的亲近感是不一样的。 女生因为比较注重这方面,不再多谈。  面试时,挺胸抬头,能和面试官有目光接触。 很多测试人员体态都不太好,弯腰驼背的也不在少数,如果互相熟悉没什么大问题,但是对于初次见面的人,会给人精神涣散,意志不坚定的感觉。  2、了解公...
            0 0 234
            分享
          •       本文主要讲解对两个网站的漏洞挖掘过程,其中一个为爱拍社区,即http://www.aipai.com/ 希望通过本文,能让对安全测试和渗透测试有兴趣的同学有所启发,有所帮助。    首先是我们第一个站点,爱拍社区,该网站的漏洞地址为:http://www.aipai.com/spread.php?id=&code=aGVsbG8gd29ybGQ=&action=click&id=17    其中的code参数存在xss漏洞,当我们拿过来这个url的时...
            0 1 2114
            分享
          • 一、测试常见问题和流程篇1、介绍一下测试流程(重点,常见!)需求评审、测试计划、测试用例、用例评审、冒烟测试、测试执行、验收测试、风险评估、上线\观察、问题跟进、测试报告、复盘会议;根据自己的日常经验来回答,每个点的工作内容都需要清晰掌握,有可能就某个点如何工作进行提问。2、介绍一下测试方法按阶段:单元测试、集成测试、系统测试、验收测试按手段:黑盒测试、白盒测试、灰盒测试其他:冒烟测试、回归测试3、介绍一下测试用例设计方法(用例设计方法&测试方法需分清楚)黑盒测试用例设计:等价类划分法、边界值分析法、错误推测法、因果图法、正交试验分析法、流程分析法白盒测试:语句覆盖、判定覆盖、条件覆盖...
            8 8 817
            分享
      • 51testing软件测试圈微信