测试师

测试师是做什么的?本页面为用户提供了测试师的岗位职责,以及本职位近些年的薪资待遇情况、就业趋势、招聘趋势、面试经验等信息,综合图表数据多方面解析该职位的热度。
2024-04-20 13:00:00 更新

测试师简介

岗位职责
重要观点 除此之外,G.J.Myers还给出了与测试相关的三个重要观点,那就是: 测试是为了证明程序有错,而不是证明程序无错误; 一个好的测试用例是在于它能发现至今未发现的错误; 一个成功的测试是发现了至今未发现的错误的测试。 分类 实际上,这里暗示了“软件测试”在不同侧面上的含义,也就决定了对软件测试不同的定义和不同的理解。根据作者多年的经验和理解,软件测试的不同视野,概括为如下5类: 软件测试的狭义论和广义论——静态和动态的测试 软件测试的辨证论——正向思维和反向思维 软件测试的风险论——测试是评估 软件测试的经济学观点——为盈利而测试 软件测试的标准论——验证和确认 广义论 G.J.Myers所给出了测试定义——“程序测试是为了发现错误而执行程序的过程”,实际是一个狭义的概念,因为他认为测试是执行程序的过程,也就是传统意义上的测试——在代码完成后,通过运行程序来发现程序代码或软件系统中错误。但是,这种意义上的测试是不能在代码完成之前发现软件系统需求、发现设计上的问题,把需求、发现设计上的问题遗留到后期,这样就会可能造成设计、编程的部分返工。增加软件开发的成本、延长开发的周期等。需求阶段和设计阶段的缺陷产生的放大效应会加大。这非常不利于保证软件质量。这种狭义论是受软件开发瀑布模型影响。 正是为了更早地发现问题,所以将测试延伸到需求评审、设计审查活动中去,也就是将“软件质量保证”的部分活动归为测试活动。实际上,在软件开发实际操作中,常常将软件测试和质量保证——这两种努力(efforts)合并起来。 延伸后的软件测试,被认为是一种软件测试的广义概念。这就引出软件测试的两个概念“静态测试”和“动态测试”,如 测试方法的辩证统一 (1)所述,这样就由静态测试和动态测试构成一个全过程的、完整的软件测试,而且静态测试显得更为重要。 辨证论 G.J.Myers的第2个观点“测试是为了证明程序有错,而不是证明程序无错误”,引出了软件测试的另外一个争论,软件测试究竟是证明所有软件的功能特性是正确的呢?还是其反向思维——对软件系统进行各种试探和攻击,找出软件系统中不正常或不工作的地方呢?从我个人理解,这两个方面都有一定道理,前者(证明所有软件的功能特性是正确的)是从质量保证的角度来思考软件测试,后者(证明程序有错)从软件测试的直接目标和测试效率来思考,两者应该相辅相成。在后者的思想背景下,我们认为,测试不是为了证明所有的功能可以正常工作,恰恰相反,测试就是为了找出那些不能正常工作、不一致性的地方。也就是说,测试的一般工作就是发现缺陷 (detect bug),即在软件开发过程中,分析、设计与编码等工作都是建设性的,而测试是带有“破坏性”的工作。 对于不同的应用领域,两者的比重是不一样的,如国防、航天、银行等软件系统,承受不了任何系统失效,因为一次系统的失效完全有可能导致灾难性的损失,所以强调前者以保证非常高的软件质量。而一般的软件服务应用则不同,强调后者,质量目标设置在“用户可接受水平”,不要国度追求质量,从而可以降低软件开发成本。作者建议,在我们实际操作中,可以分阶段实施不同的测试思想,在早期阶段集中在“证明程序有错”—— 发现Bug,后期集中在验证所有特性是否正常工作——降低风险,见作者的另外一篇讨论:测试执行中非常有效的策略 下面就是这两种观点的基本描述: 验证软件是验证软件是“工作的”,以正向思维,针对软件系统的所有功能点,逐个验证其正确性。其代表人物是软件测试领域的先驱Dr. Bill Hetzel (代表论著《The Complete Guide to Software Testing》)。 证明软件是“不工作的”,以反向思维方式,不断思考开发人员理解的误区、不良的习惯、程序代码的边界、无效数据的输入以及系统的弱点,试图破坏系统、摧毁系统,目标就是发现系统中各种各样的问题。其代表人物就是上面多次提到的G.J.Myers。他强调,一个成功的测试必须是发现Bug Bug的测试,不然就没有价值。 风险论 测试被定义为“对软件系统中潜在的各种风险进行评估的活动”,这就是软件测试的风险论。软件测试自身的风险性是大家公认的,测试的覆盖度不能做到1%。测试的这种风险定义一方面源于这层含义,另外软件测试的标准有时不清楚,“软件规格说明书(Specification/ Spec)”是其中的一个标准,但也不是唯一的,因为Spec中有些内容完全有可能是错误的。所以,我们常常强调软件测试人员应该站在客户的角度去进行测试,除了发现程序中的错误,还要发现需求定义的错误、设计上的缺陷,可以针对Spec 去报Bug。 但是,测试在大多数时间/情况下,是由工程师完成,而不是客户自己来做,所以又怎么能保证工程师和客户想得一样呢? 有人把开发比作打靶,目标明确,就是按照Spec 去实现系统的功能。而把测试比作捞鱼,目标不明确,自己判断哪些地方鱼多,就去哪些地方捞;如果只捞大鱼(严重缺陷),网眼就可以大些、撒网区域相对比较集中(测试点集中在主要功能-major features)。如果想把大大小小的鱼捞上来,网眼就要小、普遍撒网,不放过任何一块区域(测试点遍及所有功能——all features)。 在“风险”论的框架下,软件测试可以被看作是一个动态的监控过程,对软件开发全过程进行检测,随时发现不健康的征兆,发现问题、报告问题,并重新评估新的风险,设置新的监控基准,不断地持续下去,包括回归测试。这时,软件测试可以完全看作是软件质量控制的过程。 对应这种观点,产生基于风险的测试策略,首先评估测试的风险,功能出问题的概率有多大?哪些是用户最常用的2%功能——Pareto原则(也叫8/2原则)?如果某个功能出问题,其对用户的影响有多大?然后根据风险大小确定测试的优先级。优先级高的测试,优先得到执行,一般来讲,针对用户最常用的2%功能(优先级高)的测试会得到完全执行,而低优先级的测试(另外用户不经常用的8%功能)就不是必要的,如果时间或经费不够,就暂时不做或少做。 观点 “一个好的测试用例是在于它能发现至今未发现的错误”,体现了软件测试的经济学观点。实际上,软件测试经济学问题至今仍是业界关注的问题之一。经济学的核心就是要盈利,盈利的基础就是要有一个清楚的商业性目标。同样,商业性目标是否正确,直接决定了企业是否盈利的结果。多数情况下,软件测试是在公司内的执行。正是公司的行为目的,决定了软件测试含义或定义的经济性一面。正如,对软件质量的定义不仅仅局陷于“和客户需求的一致性、适用性”,而且要增加其它的要求——“预算内、按时发布、易于维护”。 软件测试也一样,要尽快尽早地发现更多的缺陷,并督促和帮助开发人员修正缺陷。原因很简单:平均而言,如果在需求阶段修正一个错误的代价是1,那么,在设计阶段就是它的3~6倍,在编程阶段是它的1倍,在内部测试阶段是它的2~4倍,在外部测试阶段是它的3~7倍,而到了产品发布出去时,这个数字就是 4~ 1倍。修正错误的代价不是随时间线性增长,而几乎是呈指数级增长的。 标准论 如果从标准论来看软件测试,可以定义为软件测试就是“验证(Verification)”和“有效性确认(Validation)”活动构成的整体,即软件测试 = V&V。 “验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性。验证过程提供证据表明软件相关产品与所有生命周期活动的要求(如正确性、完整性、一致性、准确性等)相一致。相当于,以Spec为标准进行软件测试活动,验证软件产品和Spec的一致性。 “有效性确认”是确认所开发的软件是否满足用户真正需求的活动。相当于,保持对软件需求定义、设计的怀疑,一切从客户出发,理解客户的需求,发现需求定义和产品设计中的问题。这主要通过各种软件评审活动来实现。 需要说明的是,软件测试的对象是产品(包括阶段性产品,如市场需求说明书、产品规格说明书、技术设计文档、数据字典、程序包、用户文档等),而质量保证和管理的对象集中在软件开发的标准、流程和方法等。 定义 究竟什么是软件测试呢?综上所述,软件测试的定义为: 软件测试是贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其目的是尽快尽早地发现在软件产品中所存在的各种问题——与用户需求、预先定义的不一致性。
查看全文

测试师工资

整体分布
历年变化
最低:¥2,001
最高:¥79,900
月收入平均值约
¥18,346
高于平均值约占
0%
月收入中位数
¥18,346
近半年趋势
持平
解读:测试师在全国的平均月薪为¥18,346,中位数为¥18,346,其中¥12k-17k工资占比最多,约23%。
来源于1123673份样本

测试师就业

同比上月,人才热度
+4.33%

测试师招聘

同比上月,职位数量
+0.14%

测试师面经

外贸业务员面试一般,共3轮面试
匿名用户
面试了职位:外贸业务员
未通过感觉没戏
产业园环境一般,面试过程如下 电话沟通,约了线下面试,面试是在厂里,只有一部电梯能上,得绕路现场面试填信息表,表格很详细,包括家庭信息等等自我介绍(这家蛮注重口语水平)围绕简历内容提问,问题中规中矩,主要问上家公司业务以及离职原因还问了mbti公司产品耳机质量emmm(只耐三个月),售后服务也不好,只能说虽然是外贸岗,选品还是很重要的...查看更多
01-03 发布
面试:Java。总体感觉比较正常,整体难度中等,应该是通过了。
冒险湾纪念册机械工程师
面试了职位:Java
确定通过感觉靠谱
都是一些java基础的文题
01-03 发布
面试:财务主管。总体来说体验还行,难度大概中等水平,确认通过。
看准53109
面试了职位:财务主管
确定通过确定通过
面试很正规,人力面试后,财务领导面,问的问题很专业,所以真的是有经历并且自己很懂自己的专业才行,至少要把自己的简历内容很透彻的掌握,以免被问住。财务领导面试很有压迫感,但是只要你能尽力回答不怯场,努力往自己懂得方向靠拢就没问题。
01-03 发布
面试:底盘工程师。有了很好的初印象,问的常规问题,收到offer了。
玖拾玖
面试了职位:底盘工程师
确定通过确定通过
一面 电话面试,问的问题很简单,先自我介绍,然后问学习成绩,学的最好的科目,为什么选择来比亚迪,然后介绍了一下岗位和工作内容,问我能接受这些工作吗?后面的有些记不清了,总之很简单。现场面试,学校报告厅。一面通过后,二面问了一下项目、性格特点这些,总之都是些很常规的问题。总体感受:很简单,感觉主要看学历,目前985本硕,先拿这个保底了。...查看更多
01-03 发布
查看更多 1422062 条面试经验
寻找更多岗位洞察

小程序

看准APP

公众号

看准公众号

APP

看准APP