• 0
  • 0
分享

  填一份51Testing行业调查问卷吧?内含2019-2022年的技术趋势和热点。点击下方链接,不仅能帮助你更了解测试行业,还能免费获得实战课程~链接:http://vote.51testing.com/


  编写测试用例是测试人员的基本功,可是在学校的时候我们好像也没有相应的课程来教我们相应的设计方法。后来我们从网上或是一些软件测试相关的书上会看到不少介绍编写测试用例的方法,如:等价类划分,边界值分析法,错误推测法,判定表法,正交实验法等,可是我们工作后这些方法好像不太好用。

  曾经我面试过一个同学,在面试过程中让他写了一个登录功能的测试用例。他使用等价类划分法来编写测试用例,写的超级多,我不能说不正确,可是最后还是把他给passed掉了。为什么呢?真正工作中是要以需求为主,从实际出发,不能以书本知识照本宣科的嘛!

  一,编写覆盖全面的测试用例

  在测试工作中,我们应该事实求是,接到需求后然后按如下几个方面来设计测试用例:

  1,分别设计不同类别的测试用例

  测试用例需要先区分类别,然后再进行设计。如冒烟测试用例,主要用来支持开发自测试,以及开发提测后,测试人员用来验证提测质量。冒烟测试用例主要覆盖需求核心业务流程,如果测试用例通过不过,会影响测试工作的正常开展。全功能测试用例,覆盖整个需求的测试用例,用来在测试过程中执行用例,来验证开发的代码是否符合产品的需求,发现可能存在的问题。不同类别的测试用例有不同的用途,需要分别来对待的。

  2,从用户角度出发,编写测试用例

  虽然我们了解到很多设计测试用例的方法,可是在实际工作中不能完全按着这些方法来实施的。这个需求的目的是什么?比如说一个活动页,需要展示给用户我们推荐的商品优惠活动,从而增加商品的销量。所以我们的测试用例就要从这个目的出发,检测商品信息展示情况,商品的优惠信息,商品相关的操作,跳转与交互信息是否符合要求。活动页的兼容性如何,是否符合各种场景,活动页的并发性以及相关交易的安全性,都是测试用例设计的出发点。

  3,边界值,意外情况,异常用例的编写

  从用户角度出发编写用例后,再需要辅助边界值法,将意外情况,边界值等异常测试用例添加进来。如上面提到的活动页需求,对于活动时间边界,库存边界,优惠限制条件边界等等,都需要补充相应的测试用例去验证的;同时,性能边界,安全边界也是我们需要考虑的地方,只有补充了这些边界,才不会造成遗漏的地方。

  4,根据业务流程,编写流程相关的用例

  有的时候我们的新需求只是一个业务流程的一部分,在通过相应的方法编写测试用例,验证了本次需求的核心功能,边界条件后,还需要考虑相关的具体业务流程。编写业务流程相关的测试用例,来验证本次需求对业务流程上下游的影响,能否正确传递数据。本次需求可能影响到的地方,测试用例也必须覆盖得到。

  5,根据代码实现方案编写用例

  根据代码实现的方案编写测试用例,如编码采取前后端分离的方式实现的。我们就可以分开测试,后端接口和服务从代码层来保证接口或是服务功能的正确性和完整性。然后前端的测试用例主要关注业务逻辑,数据和样式的显示即可。根据接口和服务的使用场景,来设定测试用例的侧重点和粒度,这样也可以做到测试前置。

  6,根据业务经验编写用例,新业务,影响到的业务

  测试人员必须对你的业务有充分的了解,这也是一个测试人员必备的能力。然后地遇到新的需求的时候,可以从参加需求评审的时候快速评估出本次需求可能影响的范围,从而对相关要影响的地方添加用例覆盖,进行回归测试。如一个需求是对某接口响应时间的调优,我们就需要对调用这个接口的所有业务进行相关用例覆盖,测试的时候进行回归测试。有这样的技术敏感度,业务熟悉度,才能做到不会遗漏影响到的功能。

  二,测试用例设计工具

  测试用例设计工具很多,常用的有FreeMind,Excel,testlink和公司自主研发的用例管理平台。

  1,FreeMind,思维导图,用来设计测试用例,按用例涉及的功能模块,用例场景进行分别设计。中心主题为本次需求的名称,分支主题为各个功能模块,子主题为每个测试用例的名称,下面可以为各个测试点,最终节点为预期结果。

  2,Excel,来组织测试用例。不同的公司有不同的用例模板,通常情况下有下面几个列内容:用例ID,用例名,用例级别,用例描述,前置条件,测试步骤,预期结果和测试结果等。当然还有各个公司重点关注的列内容,按要求进行设计用例即可。

  3,testlink,开源用例管理平台。左侧树型结构管理用例和测试用例,右侧显示具体的用例信息,有名称,摘要,编码,步骤动作,期望的结果,执行方式等等,不过现在使用的公司不多了。

  4,公司自主研发的用例管理平台。不少大型公司,有相应的技术积累的公司,会开发自己的测试管理平台,当然也少不了用例管理功能。测试用例记录信息和上面介绍的Excel差不多,不过可能会和其他功能有相应的对接,增加一些儿信息。按要求进行填写用例即可!

  三,积极组织用例评审

  通过上面介绍的几种方法,我们编写了功能测试用例,自认为覆盖比较全面。可是我们对需求理解有没有出入,真的是覆盖到了需求涉及的方方面面吗?其实在测试之前,我们是不太容易确定的,所以进行用例评审是非常必要的。

  1,用例评审的重要性

  进行用例评审最重要的目的就是,通过用例评审,让开发,产品对我们编写的用例进行查漏补缺,同时达到三方理解一致。以便开发同学能很好地使用冒烟测试用例进行自测,同时大家也能对通过我们测试用例测试过的产品的质量充满信心。不会在测试完成后,对我们的测试范围,测试覆盖率产生怀疑,提早发现测试用例设计中可能存在的问题。

  2,如何组织用例评审?

  在需求评审结束后,测试人员开始编写相关的测试用例,同时在开发提测前必须完成测试用例评审工作。选择大家都合适的时候,组织测试用例评审会议。保证项目参与人员,测试,产品,开发,项目负责人,如果有跨部门协作,其他部门相关参与人员最好也能参加。通过用例评审,再次验证大家对需求的理解是否有出入,同时对用例设计提出不同的意见。

  3,用例评审要做的工作及注意事项

  在会议上,测试人员讲解测试用例设计的依据,方法,以及具体到每一个测试用例的执行过程和作用。在讲解的时候,与会人员,产品,开发可以随时提出不同的意见,大家进行讨论,同时提出测试用例的优化方案。会议主持人做好记录,分析出有异议的地方产生的原因,优化的方案,需要调整的地方。会后通知相关人员进行相应的调整,同时根据用例评审的结果,优化测试用例,并将修改完成的测试用例发给相关人员,尤其是冒烟测试用例必须发给开发,作为开发自测试的标准。

  4,用例评审成功的考评点

  组织测试用例评审的时候,什么时候算成功呢?测试人员在讲解完测试用例后,产品,开发和其他相关人员提出了自己的建议;测试人员根据建议给出修改方案,最终得到了大家的认可。开发人员自测试时执行冒烟测试没有困难;测试用例覆盖内容没有遗漏;测试用例存在异议的地方完美解决;测试用例修改优化点都有合适的优化方法。

  四,用例评审后的测试用例管理

  1,测试用例共享:产品,RD,QA

  测试用例评审完成后,测试根据评审时的各种建议,优化测试用例。优化完成后,将冒烟测试用例发送给产品,开发人员,供开发人员提测之前进行自测。同时,将测试用例通过项目管理工具,平台等分享给项目的相关人员。

  2,测试用例的维护及管理

  在项目实施的过程中,难免会出现各种意外的情况;如产品在项目实施过程中,对需求进行了调整,当然这种情况要严格控制;开发人员因为技术问题,如果做了相应的调整;测试过程中发现了bug,修复方案和最初的需求有出入等情况下,测试用例也必须同步进行调整,否则测试用例便失去了价值。

  3,产品上后的测试用例管理

  产品上线后对线上进行回归测试,以保证新功能上线后对其他功能没有任何影响。同时完成需求上线后,需要召开项目总结大会,大家一起讨论项目实施过程中遇到的问题,解决方案,以及对后续如何避免这样的问题的产生。在项目评审完成后,反向优化测试相关文档,测试用例,项目总结文档等,做好项目文档的管理和传承工作。

  五,总结

  通过上面的介绍,我们介绍了一下如何编写测试用例,如何进行用例评审,以及测试用例评审完成后要做的后续工作。当然如何编写覆盖更加全面的测试用例,以及测试用例得到相关参与同事的高度认可,这个是一个长期的过程。本文介绍的只是相关的理论方法,具体的实施措施,需要根据具体业务场景,对业务的理解程度,不断提升,这也是高级测试工程师的成长之路哟!



作者:潜龙9527    

来源:http://www.51testing.com/html/22/n-4476822.html


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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   一直在51Testing网站上学习别人的测试之路,现在也想分享一下自己的经历。  结缘测试  和大家不同的地方在于,作为一名生物医学工程专业毕业生,我都是在医疗行业打转。  我的软件测试之旅分为两段,第一段是一份实习,从2019年9月到2020年1月,第二段是毕业后的第一份工作,从2020年4月到今天。  实习之路  虽然从时间上来看,我的软件测试之旅接近两年,尤其是第一份实习,虽然时间跨度有四个月,但因为当时学校导师给的压力很大,而且又赶上写论文,经常请假,因此我真正的到岗日期只有41天。  虽然时间短,但这份实习经历让我了解到什么是软件测试,算是迈入软件测试领域的第一步。  在后来的秋...
            0 0 921
            分享
          • 数据库中的delete 与drop的区别, 从下面的例子开始: delete :  delete from 表名  where 条件 drop  :  alter table  表名  drop 字段               drop table  表有的同学从从上面的例子,可以看出来,  delete  删除的是 数据,drop删除的是  表;这个没错,  但是, delete&n...
            1 0 10567
            分享
          • 读者提问:我们公司的项目一个功能打一个版本分支,按理来说开发改问题的时候我们可以测其他功能的,但是开发又说不行。这样比较耽误测试时间,影响项目正常上线,不知道这是什么原因是造成的呢 ?阿常回答:建议增加一套开发环境通常每个开发会有自己的功能特性分支,然后有一个主分支是对应生产环境,另一个分支对应测试环境。猜测你们是缺少开发环境的,所以开发验功能只能在测试环境操作,这就耽误了测试人员验证其他功能。阿常碎碎念:以上问答始发于 2022/3/24 「软件测试圈」,来源于小布丁向阿常的提问
            0 0 1037
            分享
          • 基于主机的集中式架构核心系统面临着成本高昂、处理能力接近极限、技术封闭与弹性伸缩不足等方面的挑战。分布式核心系统,以构建主机+开放融合式架构为目标,搭建开放平台分布式核心系统应用平台,对原有的关联系统实现透明,对外提供统一的服务。分布式核心系统在扩展性、低成本、降低运行风险等方面具有明显优势。那么,分布式核心系统如何测试呢?小伙伴们,赶紧一起来看下吧!一、联机交易测试新架构下,开放平台继承主机(应用模块A)功能,搭建开放平台应用体系(开放系统A),服务于开放平台其它应用;与主机应用无关的功能从主机剥离,下移到开放平台,减少主机消耗。其总体架构如图1所示。图1 分布式核心系统总体架构根据原主机应...
            0 0 2958
            分享
          • 功能测试(Function test)输入正确的用户名和密码,点击提交按钮,验证是否能正确登录;输入错误的用户名或者密码, 验证登录会失败,并且提示相应的错误信息;登录成功后能否能否跳转到正确的页面;用户名和密码,如果太短或者太长,应该怎么处理;用户名和密码,中有特殊字符,和其他非英文的情况;记住用户名的功能;登陆失败后,不能记录密码的功能;用户名和密码前后有空格的处理;密码是否以星号显示;用户名和密码全不输入时和只输入某一项时的错误提示;登陆成功后是否在当前窗口打开页面。界面测试(UI Test)布局是否合理,2个testbox 和一个按钮是否对齐;testbox和按钮的长度,高度是否复合要...
            0 0 1191
            分享
      • 51testing软件测试圈微信