关于软件测试的三点思考

用户头像
卓然
关注
发布于: 2020 年 05 月 29 日
关于软件测试的三点思考



参加了公司的”联现技术咖项目”,在极客时间上获得了很多课程的学习机会。以前自己在极客时间就学习过单次课程,这次公司提供了系列的课程,收到课程单既开心又忐忑,开心的是有机会系统学习,但内容确实多,恐有所辜负。

 

先急所需,我从事软件测试工作,就先学习了软件测试相关课程,重点学习了《软件测试52讲——从小工到专家的实战心法》。这个订阅专栏通过图文+音频的形式,从软件测试基础、软件测试技术、测试架构、测试新技术、互联网架构核心知识五大模块系统阐述了测试工程师必须具备的核心测试理念和技能。软件测试涉及的面很广,茹炳晟老师在选材上很用心,做到了重点覆盖,部分内容又能点到为止,建立了全而实用的测试技术框架,对参加测试工作0-5年的测试工程师具有非常强的启迪与指导意义。个人学习完专栏后,受益匪浅,弥补了一些忽视的技术短板,明晰了以后的技术学习路线,也对软件测试进行了几点思考。

 

软件测试的价值是什么?可能很多人认为测试就是把软件运行一下,检查一下功能点,找bug(缺陷),提交bug。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。从定义中,我们可知,测试是对软件质量的度量,软件测试最重要价值的是保障软件质量。这是我非常想和广大测试工程师、开发工程师、产品经理分享的最重要的测试思维认知。只有以软件质量保障为顶级原则,测试工程师才能真正做好、做深软件测试工作。找bug、提缺陷只是软件测试工作中的一小段过程,测试脚本化、自动化都只是测试手段。随着软件系统越来越复杂,软件迭代越来越快,软件开发潜在bug的可能性也会越来越高,软件测试作为软件研发流程中保障质量的最后一关,也显得越来越不可或缺。

 

软件测试人员的价值在哪里?上文中提到了软件测试的价值,那么软件测试人员能否保证软件质量呢?软件测试人员拿到需求书、需求分析书,开始撰写测试案例、评审测试案例,执行测试,找bug、提bug,再做回归测试,项目/变更上线。这一套测试做得很全面,但项目/变更在生产上还是时不时出点问题。软件测试人员很苦恼,测试工作繁杂而又紧张,一套测试流程走下来,身体累,如果再出生产问题,心更累。从心而论,软件质量贯穿于整个软件研发周期,单凭软件测试人员,不能百分之百保证软件质量。软件测试人员从事测试活动是对软件产品的质量做出系统、全面、有效的反馈,开发人员依据这些反馈信息,进一步完善软件产品,进而提升软件的整体质量。有价值质量反馈体现为深入的、系统的和犀利的质量相关的见解。软件测试人员在日常开展功能测试、性能测试、安全测试等测试活动,都是为了提供有价值的反馈,如产品缺陷、设计优化和用户体验优化。

 

如何成为有价值的软件测试人员?这个问题和软件测试人员的核心竞争力是什么问题类似。茹炳晟老师按照一项能力对测试工程师的重要程度的顺序,依次归纳了测试工程师要具备的七项核心竞争力,包括:测试策略设计能力、测试用例设计能力、快速学习能力、探索性测试思维、缺陷分析能力、自动化测试技术和良好的沟通能力。测试开发工程师的核心竞争力包括:代码开发能力、测试系统需求分析能力和宽广的知识体系。以上是茹炳晟老师基于现有的日常测试活动概括出来的测试人员应具备的能力,我非常认同。按照以上能力要求,主动培养并在工作中积极践行,肯定能成长为优秀的测试从业人员。当前软件规模越来越大,软件测试往往由多人合作完成,并及时反馈给开发人员,我只想在此强调一下:协作意识和服务意识。

 

在学习专栏的基础上,对软件测试的价值、软件测试人员的价值和软件测试人员的未来发展展开了思考与大家分享。在接下来的时间里,我也将继续有规划地学习课程,并做持续的学习总结,希望能学有所得。

 

路漫漫其修远兮,吾将上下而求索。



用户头像

卓然

关注

卓然独立,雅行修省,越而胜己,崇德向善 2018.07.17 加入

还未添加个人简介

评论 (2 条评论)

发布
用户头像
测试工程师的七项核心竞争力,不知道是否有哪个更为重要这样的说法呢?
2020 年 05 月 29 日 13:31
回复
个人觉得这七项能力于软件测设人员符合“水桶理论”,每一块都不能缺;快速学习能力和良好的沟通能力是职场人士的基本能力,在测试职业发展的不同阶段,所侧重的能力不同,初阶时,测试用例设计能力、缺陷分析能力在工作中体现得明显;进阶时,讲究效率会偏重自动化测试、进行探索式测试,再进一步,会更关注测试策略设计能力的培养
2020 年 05 月 29 日 19:12
回复
没有更多了
关于软件测试的三点思考