• 1
  • 0
分享
  • 如何做好功能测试——软件测试圈
  • TIMI 2021-10-28 16:40:28 字数 2944 阅读 1118 收藏 0

不论你是什么时候开始接触测试这个行业的,你首先听说的应该是功能测试。通过一些测试手段来验证开发做出的代码是否符合产品的需求?当然你也有自己对功能测试的理解,但是最近两年感觉功能测试好像不太受欢迎,同时不少同学真的是功能测试都没有做好,就去尝试自动化测试,测试开发什么的,结果是越学越迷茫,这是为什么呢?究其原因是,你功能测试还没有学好呢!

我们通常认为的功能测试是根据需求,采取如下测试流程:需求分析,用例编写,用例评审,提测验证,Bug回归验证,上线与线上回归等来进行测试。如此日复一日,年复一年,响应了很多需求,可是想换工作的时候却得不到认可,大家想想是不是这种情况?下面我就以一个功能测试人员如何进行工作,来介绍一下功能测试应该用到的知识及相关的提升建议。

一、需求分析,发挥主动性

正常的需求在产出的时候,产品是要分析这个需求的价值,影响范围和实现代价的。可是现在很多情况是,需求来了就组织评审,然后开发测试与上线。产品主导型的开发模式非常常见,作为测试我们无法主导需求和项目。在需求评审的时候,作为一个测试人员必须了解这次需求的内容,影响到哪些现有的功能,涉及到的操作系统或是类别等,然后准确的评估出工作量,防止因评估不足造成后期测试不充分。

再者,关注开发和产品的讨论,如果开发说哪一部分比较难实现,最后如何实现?其中做出的变动和难点就是测试的时候必须重点关注的部分。不能因为这些暂时和你没有关系就不去关注,后期会带来麻烦。第三,需求评审结束后,要求产品更新此次评审过程中的所有改动部分,同时给出方案确保产品的任何改动都及时更新。第四,根据产品需求,设计测试方案及时间安排,此时可以粗粒度考虑,时间上要合理;同时与在会人员进行探讨。

二、用例设计与评审,做到不遗不漏

测试用例是每个测试人员工作过程中必须要完成的工作,不管你是用Excel,还是用FreeMind来写,在测试工作中一是用来指导测试工作,而且是相关业务的一个文档沉淀。可能你不太在意测试用例的编写,可是在我以往面试的经验中,有超过一半的人写的测试用例是不达标的。很多人写用例是用书本上的方法,什么边界值法,条件覆盖法等等,其实我们更应该关注用户,从用户的角度来写用例才对。

测试用例必须具备的测试用例名,执行步骤,预期结果这三点是必须要写清楚的。再者就是测试方案选择必须全面,作为功能测试人员你可能不会编写自动化测试脚本,不会性能测试,安全测试,但是你必须能根据需求想到要实施哪方面的测试。如面试的时候给你一个场景:一个全新的App要发版,如果让你来测试,你能想到哪些测试方案?如果你只能想到如何去测试app的功能的话,那你作为功能测试人员就是考虑不全面。此时的App的功能,App的性能,数据传输的安全性,接口或服务的功能测试,接口或服务的自动化测试与监控,接口或服务的性能测试,底层数据的存储与容灾情况都必须考虑在内。

设计用例的时候要设计两类,一类是开发自测和验收提测试标准的冒烟测试用例,一类是针对需求的全面测试用例。写完用例要主动联系相关人员进行用例评审,强调开发自测,在评审过程是及时修改不合适的用例。

三、测试流程,注重项目控制

其实项目的流程控制在需求开始的时候就应该重视起来,只是很多时候我们没有意识到这是测试的工作,有的是产品来控制,有的是专门的项目经理来控制。测试人员是一线的工作人员,不管你工作了多久,必须有关注整体项目的意识。如果你不关注项目进度,什么时候提测你什么时候开始测试,在测试过程中你就会遇到测试的内容和最初的需求不一致,增加新的内容从而增加工作量,或是产品和开发一起来压缩测试时间的情况,到时你想不加班都难。

需求一旦明确了由你来负责的时候,就要时刻按排期来关注项目的情况。中间变更需求的时候,要评估是否影响项目进度,如果影响了重新进行排期。如果开发提测试晚了,是否影响上线时间,如果可能会影响,马上就要给相关的人员发预警邮件,通知大家详细的情况。同时在测试过程中,发现了bug必须详细描述问题,不管是jira,禅道或是其他的bug管理方式,一个bug要写清楚以下几点:Bug问题描述,bug重现步骤,是否有前置条件,预期结果,实际结果,以方便开发去进行修改。同时给bug准确分级,实时跟踪进度,保证项目按期完成。

四、上线回归与项目总结

一个需求上线完成后,要及时进行线上回归,如果有必须提醒相关的人员进行自动化线上回归或是监控工作。同时必须回归我们在需求评审的时候考虑到的可能影响到的原有的功能,以确保新功能的完全上线成功。而作为功能测试人员,在一个项目完成后,不管公司有没有要求,要对项目做相应的文字总结。总结整个项目过程中遇到的问题,最后的解决办法或是当时讨论的处理办法,有哪些需要注意的问题?有什么可以借鉴的方案或是改进策略?项目中有没有通用性的问题等等。

如果公司有相应的项目总结方案,那测试的时候就要多关注一些数据,如冒烟测试是否一次通过,Bug数及不同级别的bug数,参与开发人员对应的Bug数,提测试次数,上线次数等等。而后借助于第三方工具进行图表化相应的数据,然后相关问题的总结,改进方案都需要进行详细的总结。

五,能力的总结和沉淀

在我们找工作的时候,很多做功能测试多年的同学一般很难通过面试,这里面的原因究竟是什么?其实最核心的原因是,你不具备相应工作年限应该具备的能力。

测试工具的使用:在你以往的工作经验中,有没有总结过什么样的需求或是项目应该使用什么样的测试工具,而不是仅仅使用公司提供或是指定的工具?有没有分析过同类的工具的优缺点?如果一个类似的全新的产品,你能否围绕着工作需求,准备相应的测试工具来辅助测试?什么样的测试工具在测试项目的时候可能存在问题,问题的解决办法是什么?

问题的总结:在测试工作中总结部署环境出现502或是404产生的原因及解决办法?产品的哪儿块功能容易出现问题,或是开发怎么实现相应的功能可能出现问题?产品的功能模块之间是如何工作的,修改部分功能后可能会对其他模块产生影响?哪个版本的编译器打包的产品容易在哪些方面出现问题?等等相应的问题总结有没有做,如果做了,在接到相应的需求后就能快速的评估测试范围,选择测试方案,规划测试时间等。

技术的沉淀:技术不仅仅指的是编码能力,像平时我们部署环境出现问题后,最后的解决方案的总结;测试过程中日志出现空指针的排查;项目测试过程中遇到的问题及解决方案;一些常见问题的排查及解决方案等等。要在工作中善于积累,从而指导自己的工作或是为同事提供解决问题的思路与办法。

时常问自己一句话:离开现有的平台,我还有什么?这个才是你的资本,对公司业务的熟悉,公司现在工具的使用等等,对你来说是没有任何优势可言的。而对同类业务流程的掌握,项目的整体把控,快速了解业务并能根据需求选择测试方案,引进现有的测试工具提高测试效率,测试过程中遇到问题的预判和解决办法等才是功能测试人员必须具备的能力。这些方面你做到了吗?业务专家也是不想做编码的测试人员一个很好的选择,不要整天抱怨功能测试如何如何,要充分认清行业现状和自己的优缺点,做好职业规划。


作者:清道夫

链接:https://zhuanlan.zhihu.com/p/34995652

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   概述  从去年4月份开始,已经发现我们的提测版本质量存在问题,于是陆陆续续向上反馈希望通过自测环节来把控提测版本质量问题。  为此,经过前期的一些探索我们开展了如下工作成果,增加自测流程:  · 整体汇总单体测试测试点V1.0  · 通用测试checklist 清单  · 单体测试宣讲  问题分析  在经过上述实践后,我们发现了一些不足之处。从不同角度深入分析,我们意识到在某些方面仍需改进。  排除一些主观因素外,存在问题现象有2点:  1、不能匹配所有项目  部门大部分项目为web 项目,有些功能清单能覆盖到,有的项目非web型,并且调用第三方平台,针对这种...
            0 0 1109
            分享
          • 一、软件测试的目的1)软件测试是为了发现错误而执行程序的过程。2)测试是为了证明程序有错,而不是证明程序无错。(发现错误不是唯一目的)3)一个好的测试用例在于它发现至今未发现的错误。4)一个成功的测试是发现了至今未发现的错误的测试。注意:1、测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征。可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,通过分析也能帮助我们设计出有针对性的检测方法,改善测试的有效性。2、没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。详细而严谨的可靠性增长模型可以证明这一点。例如BevLittlewood发现一个经过测...
            0 0 3384
            分享
          • 新浪科技讯北京时间10月31日早间消息,据报道,美国科技巨头上周纷纷公布财报,但除了苹果之外其它科技巨头表现都不好。Alphabet、亚马逊、Meta、微软的市值合计蒸发超过3500亿美元,因为巨头们对三季度的评价并不好,对今年余下时间也没多少信心。在过去10年里,这些科技巨头顺风顺水,现在不一样了,它们面临营收增长放缓、控制成本等挑战。美国高通胀、加息、经济衰退阴云密布。在此等大背景下,苹果的营收和利润倒是高于预期,正因如此,上周五苹果股价大涨。Meta成了反面典型,2022年它的股价大跌。上周Meta股价表现很糟,算是2012年上市以来最糟,5天下跌24%。该公司三季度业绩未达预期,每用户...
            0 0 1260
            分享
          • 项目背景项目:XX网站环境:Windows需求:并发登录的性能测试场景:1s增加2个线程,运行2000次(线程数20,Ramp-Up seconds 10,循环次数100)。分别看20、40、60并发下的表现监控:成功率、响应时间、标准差、CPU、mem、io等。资源监控需要在Windows下部署监控agent(serveragent)测试步骤1.Web Tours开启关联、注册账号在开始菜单找到并点击Start HP Web Tours Server(或者在本机安装loadRunner的路径下找到\HP\LoadRunner\WebToursStartServer.bat,双击运行)。在开始...
            10 10 1654
            分享
          • 在我们做UI自动化的时候,经常会遇到图片验证码的问题。当开发不给咱们提供万能验证码,或者测试第三方网站比如知乎的时候,我们就需要自己去识别验证码。OCROCR是一种图像文字识别的技术,例如图中的验证码,我们用肉眼识别就是c5s3,但机器可不比咱们肉眼。所以我们要利用ocr技术,让我们的Python脚本自动通过图片识别出对应的文字。常见的识别类库在Python中其实有许多识别类库,这里只介绍博主自己实践过的成功率还不错的:百度ocr。简单的说,就是百度提供了一个SDK,让我们传入图片数据,从而拿到识别的结果。ocr的细节我们不需要关心。申请开通OCR首先我们得有一个百度账号,这个相信大家都有,没...
            0 2 6983
            分享
      • 51testing软件测试圈微信