• 1
  • 1
分享
  • 思维导图在软件测试过程中的应用
  • 饭团🍙 2020-09-14 10:27:20 字数 3187 阅读 2079 收藏 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次...
            12 12 2360
            分享
          •   当前,系统测试主要集中在功能测试、性能测试以及安全测试三大方面,对于容量测试的关注比较欠缺,特别是磁盘容量空间。从系统测试业务连续性上考虑,容量测试是其中不可或缺的步骤,做好容量测试可以进一步优化信息系统服务能力,从而提供持续、合理的系统服务。  对于容量测试,首先需要明确几个概念。容量管理,是指根据当前和未来的业务需求,在恰当的时间、以恰当的成本提供所需的IT资源。管理对象是对环境中的业务应用系统、主机平台设备、开放平台设备、网络、机房环境设施等进行容量规划。容量评估,是指对系统是否能够达到要求的生产能力,并且有一定超负荷运行能力以满足未来市场的高峰要求的评估。  本文从测试阶段出发,针...
            0 0 1023
            分享
          • 面试题解读,轻轻松松过面试,我以一个过来人的身份,写下这篇面试常见问题。1. 最常见的就是,为什么想进本公司,你了解本公司的业务吗?再回答这个问题的时候是灵活的,首先,我有一技之长(表明自己的专业技能,展示自己的优点)来到贵公司,我在施展我的才能的同时又会事半功倍的完成公司交付的事情,再者,(说面试公司的优点)贵公司,在某一行业都是佼佼者,我希望进入这样强的公司,才能更快的让自己变强。2. 怎么考虑加班?我相信所有的人,肯定都是抗拒的,什么996,995,都是扯淡,我们谁不希望965呀,但是接受现实吧,同学们,告诉面试官:我如果有幸可以成为贵公司的一份子,那么就和公司荣辱与共,公司的任务,完不...
            0 0 1261
            分享
          • 手机App是当下互联网的主流模式之一,因此对于App相关测试需求也在逐年递增中,很多小伙伴没有从事过App相关的测试,有些注意点可能都不是很清楚,下面就我的App测试从业经验,分享给大家啦!目前工作中,测试App会涉及到一下几个方面:客户端、小程序、h5页面等,看似不同却又大相径庭。1、功能模块测试:功能模块测试其实最重要的是考察测试者的逻辑思维能力和对需求的理解能力以及一些页面交互性,输入输出的考虑等,所以以上三者是共通的,没有太大的区别。2、权限管理:1)相同点:需考虑权限允许的情况和权限不允许的情况;需要多测试无系统权限的页面2)不同点:App测试时需要考虑用户是否可以访问手机通讯、相册...
            3 0 2101
            分享
          •   fiddler抓手机app的请求,估计大部分都会,但是如何只抓来自app的请求呢?  把来自pc的请求过滤掉,因为请求太多,这样会找不到重要的信息了。  环境准备:  1.电脑上已装fiddler  2.手机和电脑在同一局域网  一、设置  1.fiddler>Tools>Fiddler Options>Connections 勾选Allow remote computers to connect。  2.记住这里的端口号:8888,后面会用到。  二、查看电脑IP  1.打开cmd,输入:ipconfig,记住这个IPv4地址。  >>ipconfig  三...
            0 0 1888
            分享
      • 51testing软件测试圈微信