关于测试的一点思考

从2010年开始做测试至今也有六个年头了。从最开始的跟着别人设计好的测试用例一步步的测试执行到现在独立完成一个项目的测试计划、设计、执行、自动化交付等,期间做过大大小小的项目不知道有多少。六年来,其中的酸甜苦辣也只有自己知道。虽已不是测试小白,但距测试专家的程度还有很远,在此记录下一些关于测试的想法,梳理下以后的努力方向。

首先关于软件测试职业以后的发展情况。当前有人或公司提出全栈工程师的概念,即从最开始的需求到最后的交付都由开发人员独立完成,其中包括软件测试,所以以后专职的软件测试人员将不再需要了。对于这种观点我不赞同。大型软件都是有很多模块组成共同完成用户的需求,因为精力及时间有限,很多一线开发人员往往都是只专注于自己负责的一部分,不可能对全部的模块都了解,因此,让开发自己做测试设计,从整个软件角度来看,不一定能够测试充分(虽然,测试做的测试设计也不一定能够覆盖充分);另外,对于测试自动化的脚本开发及其维护,开发也不一定会有时间来做。所以,不需要专职的测试这个结论不成立。

其次,当前的软件开发环境也对测试提出新的挑战,仅仅按照设计出的模拟用户场景来进行测试的工程师会越来越没有竞争力,因为大部分的用户场景,开发人员自己测试的时候都能够覆盖到。因此,测试想要自己有竞争力,除了了解用户场景外,还要懂代码(至少能够看懂)了解产品功能的实现,了解模块间的关系,以及测试自动化能力(将大部分基本功能的测试交给自动化来实现)。

所以,一个好的测试工程师必须具备以下能力:

(1)业务能力:你只有比开发更懂业务,才能赢得开发的尊重。但是代码都是开发自己写的,对于某个模块,你不可能比开发更了解。这似乎是个矛盾。但是开发不可能对全部的业务都了解,所以测试要发挥自己的优势,我不可能比你了解的深,但是我可以做到比你了解的更全面。这就要求测试要阅读了解产品各方面的文档,必要时从代码角度了解产品的实现(不需要深入分析代码内部实现,只需要通过代码了解产品各模块的衔接即可,了解各模块的衔接,也为以后代码修改的影响性分析提供依据,从而开发出测试对应用例);

(2)测试设计能力:毕竟自己是专职做测试的,测试理论必须要过关,这样才能够知道并度量做了哪些测试,覆盖程度怎么样,才能够对项目作出有用的评价;

(3)测试自动化能力:为了降低测试的重复以及后续模块的维护,采用自动化测试时完全有必要的,所以自动化能力也是测试必须掌握的一项能力;

(4)C语言以及Linux操作系统的了解:Linux操作系统和C是密不可分的,所以要了解Linux操作系统,就要了解C语言。这是开发人员的基础,但是想要成为一名优秀的测试人员,也必须对此有了解;

(5)其他:问题跟踪能力,团队协作能力,沟通能力,也非常重要。

以后的两年,为成为一名优秀的测试工程师,加油!!!

时间: 2024-10-12 21:47:11

关于测试的一点思考的相关文章

关于APP测试的一点思考

1  系统入口部分要细化测试用例颗粒度  充分准备好测试数据   真实覆盖线上场景 比如注册验证码的获取  国内 国外手机  一般国外手机发送短信 打电话都要加上区号 2 新版本发布   有新功能上线   要做好老版本的兼容 未完待续 原文地址:https://www.cnblogs.com/dwtt/p/10789006.html

有关盒模型的一点思考

有关盒模型的一点思考 盒子模型是css中一个重要的概念,理解了盒子模型才能更好的排版. 其实盒子模型有两种,分别是标准 w3c 盒子模型和 IE 盒子模型. 他们对盒子模型的解释各不相同,先来看看我们熟知的标准盒子模型: 一.w3c盒子模型 看下面的图,根据色块,右外倒内,分别代表margin.border.padding.content(即网页内容部分) 二.IE盒子模型 与w3c盒子模型的组成部分类似,IE盒子模型也包括上图几个部分 但是不同的是,IE盒子模型把border和padding归

关于工作习惯的一点思考

最近项目发布新的版本,一个月要求四个人完工上线.我负责实现接口和相应的数据处理,从整体的任务比重上看能站到20%左右.我平时做事情比较赶,也就是属于拿的活差不多有个大体了解,就开始干,到功能实现为止.所谓的功能实现,就是能拿到相应的数据,至于数据整不正确,我一点兴趣都不感.所以整个项目下来,当别人在忙着写前端实现的时候,我就开始闲了,能到别人去调我的方法的时候,才发现我的方法,这里少个判断,那里数据错位... 昨天客户要求在下班前发布新版本,并且把老版本的用户数据同步到新版本上,由于数据结构做了

"简单设计"的一点思考

简单设计是Xp技术实践中开发实践的核心实践,“简单也是价值观中智力色彩最强烈的”,然而,提到简单设计,大家更觉得像原则或者价值观,感觉上还是比较泛,我们不妨从下面的几个角度看一下  1. 为什么要简单设计 <1>. 简单的代码更容易读懂. <2>. 好的设计更能应对变化.  这两点是基于成本和收益考虑的,这里的价值是时间及金钱.更快的满足需求,减少复杂带来的故障排查.修复成本,代码大量修改或者重写成本.  2. 什么是简单设计 对一个团队来讲,简单设计就是团队中每个人都能轻松的读懂

基于http协议通信的APP安全策略的一点思考

声明一点,我没做过过任何商业APP,以下想法仅仅是个人业余时间的一点思考,若你是专业人员,不吝赐教. 概述 微信开发过程中,会使用到微信服务器提供的API,这些API都是基于HTTP协议调用的,为什么我们自己的APP服务器不采用这种方式呢? 这种方式最直观的好处就是,API设计得足够好时,服务器只需要开发一次,无论前端是 WEB,APP ,APK...都通过http调用API请求数据并响应. 这种方式类似于传统C/S模型的开发,服务端/客户端定义相同序列的数据结构(称之为通信协议),差别在于现在

周志华:关于机器学习的一点思考

https://mp.weixin.qq.com/s/sEZM_o5D6AhyMgvocbsFhw 演讲:周志华 整理:肖琴.闻菲 [新智元导读]机器学习如今大获成功的原因有哪些?如何才能取得进一步的突破?南京大学周志华教授在AI WORLD 2018大会上分享他关于机器学习的一点思考:我们需要设计新的.神经网络以外的深度模型:让智能体在弱监督条件下也能够学习,以及考虑开放动态任务环境下的学习. 播放 震撼!AI WORLD 2018世界人工智能峰会开场视频 南京大学计算机系主任.人工智能学院院

关于后台系统自动生成的一点思考

大量实践发现后台管理程序,其实90%的代码都是相同的,当然是在抛弃复杂逻辑业务的情况下,那么如何能高效的节约这些时间呢,那就是接下来我要说的,对于后台系统自动生成的一些思考. 适用情景: 1.表编号id为自增(基于现在大部分表编号都是自增的情况): 2.没有太复杂业务关联关系,比如表的某一个字段,存储了一个json对象,为了平衡后台用户使用,需要友好的分段展示给用户的定制ui界面:还比如表中存储了外键的多个id,但为了方便用户使用,只能已标签name的方式,给用户展示,等等这些超强业务黏合逻辑的

关于前端的一点思考

关于前端的一点思考 Author:tkorays 最近写前端代码,写着写着就突然开始惆怅.忧伤.愤怒.发狂,我TMD到底在干什么啊! 很多东西写了n遍了,但是还是在不停地写着.自己写过的代码也不想再修改完善.重新利用,只是觉得,可能重新写一遍可能要好点.面对这很多库以及框架,虽然喜爱,但是也是有所顾忌,我只要使用其中的一个功能,根本不需要引入这么大的整个库. 事实上,我们可能在动手写任何代码之前,先要思考下,我们到底要的是什么! 0x00 界面真的需要这么炫酷么 在使用某个界面库之前,我们可能先

关于Emit中动态类型TypeBuilder创建类标记的一点思考

  利用TypeBuilder是可以动态创建一个类型,现在有个需求,动态生成一个dll,创建类型EmployeeEx,需要继承原dll里面的Employee类,并包含Employee类上的所有类标记.   网上有很多例子, //创建TypeBuilder. TypeBuilder myTypeBuilder = myModBuilder.DefineType(typeName, TypeAttributes.Public); myTypeBuilder.SetParent(type);   大概