精华内容
下载资源
问答
  • 软件测试发展历史

    千次阅读 2017-06-14 11:42:57
    软件测试发展史 软件测试方法之所以没能完全标准化和统一化,主要原因是因为软件产业产品到软件测试有各式各样的软件。但是目前仍有很多各样软件测试方法都基本可用的常用概念和方法。我们这里介绍的思路和方法...

    软件测试发展史

    软件测试方法之所以没能完全标准化和统一化,主要原因是因为软件产业产品到软件测试有各式各样的软件。但是目前仍有很多各样软件测试方法都基本可用的常用概念和方法。我们这里介绍的思路和方法就是可用于多数应用软件的测试。有六个有关软件测试方法的基本概念是很重要的:白箱测试,黑箱测试,灰箱测试,有效用例和无效用例,边界条件以及等价类测试。

    20世纪60年代(软件工程建立前),为表明程序正确而进行测试。1972年在北卡罗来纳大学举行了首届软件测试正式会议。1975年John Good Enough和Susan Gerhart在IEEE上发表了《测试数据选择的原理》的文章,软件测试被确定为一种研究方向。20世纪80年代早期,“质量”的号角开始吹响。软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且包含软件质量评价的内容。制定了各类标准。20世纪90年代,测试工具盛行起来。到了2002年,Rick和Stefan在《系统的软件测试》一书中对软件测试做了进一步定义:测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命周期过程。



    展开全文
  • 规划测试人员的测试职业发展路径

    千次阅读 2018-08-10 09:37:20
    今天和大家谈谈测试职业规划的话题,分享我对测试职业发展的一些经验和想法,首先和大家分享一个生活中的故事: --------------------------------------------------------------------------------------- ...

    在测试培训过程中,经常会有学员问测试是否有前途?测试的前途在哪里?

     

    今天和大家谈谈测试职业规划的话题,分享我对测试职业发展的一些经验和想法,首先和大家分享一个生活中的故事:

     

    ---------------------------------------------------------------------------------------

    由于我经常出去培训,开车停车不方便而且累,因此我经常选择出租车出行,从而有机会与不同的司机交流和沟通。你会发现他们带给你的更多的是负面的情绪:抱怨社会不公、出租车行业难做、各种黑车和政府管理问题等,每天只能挣点辛苦钱。但是他们通常又不愿意接小单子,因为嫌钱太少。所以他们宁可停车被动等着或者茫无目的的绕圈,希望能碰到一个大户赚个100-200元的相对长途距离的客户。

     

    直到有一次我去浦东软件园上课,和出租车司机乔师傅聊了一路,给我的感觉和以前碰到的出租车司机完全不同,带给我的是满满的正能量:状态好、心态好。他说每天开车都很开心,和乘客聊天也有收获。乔师傅每天早上6点不到出门,晚上大概5点钟就可以下班回家,并且每周休息一天陪家人。每天平均大概能挣个900 - 1000元。而以前大部分司机和我说,他们累死累活每天大概只能做400 - 500元,而且起早摸黑的辛苦的不得了。

     

    到达浦东软件园之后,乔师傅和我互留了微信,我希望将来相对长途距离的乘车机会,都和乔师傅提前预约。乔师傅说他有好多老客户,都照顾他的生意。第二天我就预约了乔师傅的车子,他准时到达。他说早上5点半一个客户向他约车到浦东机场,由于昨天和我约好好了,他将这个客户转到朋友那边了。6点三刻接到我,加上我这单子,不到8点钟,已经赚了快400元的生意,内心真的很佩服乔师傅。

     

    同样的出租车行业和司机,人和人之间为什么差距这么大?乔师傅为什么每天挣得是普通司机的2倍?和乔师傅熟悉和沟通多了之后,慢慢了解乔师傅和其他司机许多不同方面:

    1. 熟悉路况:乔师傅说起路况那是了如指掌,什么时段什么地方会拥堵,拥堵大概多长时间,为什么会拥堵等。从我们测试的角度,相当于对你的测试对象的业务非常熟悉,这是做好工作的基础;

    2. 规划策略:乔师傅有几个手机,他住在颛桥。6点钟出门时,他就会用一个手机把自己的家定位到浦东张江。因此公司在调度车时,往往会把浦西到浦东的客户分配给他。嗯,这是比较长途的路程,性价比不错。将乘客送到浦东之后,他再将自己的家定位的颛桥,同样地,公司会将从浦东到徐家汇、闵行区的客户分配给他。所以,乔师傅可以在早上2个小时,就能做到300 - 400的生意,真是太厉害了;

    3. 维护车辆:我坐进乔师傅的出租车,第一感觉是好干净啊。乔师傅每天你都会擦洗车子,特别是内部的垃圾和套面整理。每天出门都会带有备用的座位套,万一有乘客弄脏了座位,直接就用备用的换掉,一直保持车的干净清爽度;另外,每周必定要清洗车子。因此车子不仅看着清爽干净,而且一点气味都没有,让客户的体验很好;

    4. 心态好:除了规划了很好的接送乘客的策略,乔师傅还心态好。不管是短途还是长途的乘客,都会非常热情周到。而不是像有的司机,接到短途乘客骂骂咧咧一路,或者态度恶劣;乔师傅的一句话:“有时候你需要去帮助人家,尽管人家距离很短钱很少,但他们是需要帮助的人。”因此,他在市区地铁边上,会通过抢单做一些非常短距离的生意;

     

    乔师傅还自学了英语,以方便和非母语乘客沟通。假如将单子转给朋友,晚上专门打电话给朋友,提醒他要提前到地点接送乘客,同时要求对乘客客户有礼貌。乔师傅车上随时都准备了塑料袋、雨伞甚至热茶以备客户不时之需。从这些细节体现了乔师傅的与众不同,而且由于积累了越来越多的老客户,提前预约不断,从而使得他有更多的机会选择高性价比的客户出车。

    ----------------------------------------------------------------------------------------

     

    每个人都希望是自己所在的行业是有前途,比如:15年前的通讯行业,或者现在的互联网企业。但是行业的选择有时候并不是个人能完全确定的,因此你进入的行业可能并不是热门行业,甚至是衰退的行业。所以除了关注行业是否有前途之外,更多的需要考虑的是个人是否有前途的。我的观点是行业可以是没有前途的,但是个人一定是可以有前途的(我一直记得以前高中读书时校长讲得一句话:学校好并代表你牛;而学校不好,并不代表你不牛;关键的因素在于你自己的选择!)。

     

    当然,假如你极端抵制测试工作,换个不同的职位角色应该是更好的一个选项。假设我们对测试工作并不完全抵制,此时探讨测试是否有前途是有意义的。前面已经提到:行业可能是衰退的,但是个人一定是可以有前途的。因此,将问题从“测试是否有前途”换成“考虑如何才能提升你的能力,比讨论测试是否有前途”或者“假如测试有前途,如何才能更好的规划我的测试职业发展”等问题,对测试人员更有实际指导意义。

     

    根据我的测试培训经验和不同学员之间的沟通,总结了下面的四个步骤O2EP以规划和实施测试人员的职业发展路径,该思路属于通用的解决问题的一种思路:

    1. 确定目标O

    2. 理清障碍O

    3. 选择榜样E

    4. 行动计划P

     

    同样,我选择一次培训过程中的对话来解释上面的4个步骤。在一次深圳“问题驱动的软件测试设计”公开课授课过程中,有个学员提到了“测试是否有前途?如何让测试变得有前途?”这个话题。下面是模拟的对话过程:

     

    学员:郑老师,你觉得我还是有些喜欢测试工作的,但是不知道该如何规划我的测试职业发展?

     

    我:嗯,不错,你还是喜欢测试工作的。我通过我总结的4个问题O2EP提供一个思路,帮助你规划和实施你的职业发展方向。

    学员:什么是O2EP?

     

    我:第一个O,指的是确定目标。我的第1个问题:你在短期,比如2年内希望达成什么目标?

    学员:哦,2年内我想成为一名测试经理;

     

    我:好,接下来第二个O,指的是理清障碍。我的第2个问题:你觉得2年内成为一名测试经理,目前 碰到的最大障碍是什么?或者什么方面使得你无法成为测试经理?

    学员:我感觉测试管理方面的经验不足,导致做测试计划、测试监控等任务,无法有效实施;

     

    我:嗯,接下来是E,指的是选择榜样。我的第3个问题:在测试管理方面,你觉得公司内或者周围朋友中,有谁做得比较好?你与他之间的主要差距在哪里?

    学员:我觉得XX测试经理就做得不错!

     

    我:好,接下来是P,指的是行动计划。我的第4个问题:那你觉得你与XX测试经理主要的差距在哪里呢?

    学员:哦,XX测试经理在测试知识和经验方面非常丰富,测试过程中碰到的问题,他都能提出自己的见解和解决思路。

     

    我:那你打算如何做得更好呢?

    学员:多学习测试知识,增加测试经验和测试技能,然后应用的测试实践过程中。

     

    通过我与学员之间的问答,可以让学员快速了解他目前存在的不足,以及如何去快速弥补不足。测试是否有前途,关键是你对自己的要求有多高,明确你的长远和短期目标,管理好你的时间和执行能力,坚持不懈最终一定能让自己变得有前途。

     

    但是,测试实践过程中,很多人实际关注的是测试职位的发展,例如:从测试工程师到测试经理,而不是真正测试职业的发展。测试职位只是职业发展中的一小部分,为了实现更好的职业发展,除了职位之外,还需要我们构建内部动机让自己真正喜欢测试工作;构建测试知识体系让自己更结构化系统化的解决问题;应用学习深度模型和费曼技巧让自己高效学习;应用学习金字塔原理让自己更快更好的将知识转换成技能和能力。测试人员的职业发展规划,不仅是行业领域知识、测试技能,同时包括动机培养、学习能力、沟通能力、思维能力和解决问题能力的综合培养和应用。知道做什么,能做什么,并且喜欢做什么,那这个应该就是适合你的测试职业发展。

     

     

    [本文提到的测试过程、测试技术、测试管理、结构化思维、解决问题步骤等内容,将在后续的文章中陆续推出,敬请关注并欢迎大家与我对文中内容进行探讨!]

     

     

    展开全文
  • 测试工程师职业发展漫谈

    万次阅读 多人点赞 2019-09-03 08:44:24
    这篇文章发表于两年多前,现在读起来仍然是深有启发,很多地方到了两年后的今天仍然有指导意义,测试人员的思维确实不应该局限于测试行业,而应该放眼于整个软件行业和互联网行业的发展与变迁(我们的思维就是用来...

           转载自https://testerhome.com/topics/6911的一篇文章。原作者2007年工作至今,而我2006年工作至今,差距却如此之大。这篇文章发表于两年多前,现在读起来仍然是深有启发,很多地方到了两年后的今天仍然有指导意义,测试人员的思维确实不应该局限于测试行业,而应该放眼于整个软件行业和互联网行业的发展与变迁(我们的思维就是用来打破的):

    1. 测试行业发展背景

    过去微软引领的大测试时代

    我们可以回顾一下,中国最早对 IT 工程的启蒙和测试定位的探索大多来自于微软。当年的大背景是微软故意放任 Windows 的盗版,并积极的输出他自身的 IT 生态技术栈到中国。中国从政府到民间几乎全部使用了 Windows。中国有大量的微软认证的 VP 等各种专家。

    微软和他的附属生态带给中国测试行业的影响,简单总结下:

    • 强调工程的严谨性。CMMI 一统天下。无数中国公司为了通过这个认证费尽脑汁。大部分公司通过它也不是为了自己的规范,而是为了能拿到政府或者国外机构的外包业务。

    • 测试和研发的比例。因为都是客户端产品。如果交付出去出现质量问题是很难解决的。所以测试被放在一个非常重要的位置上。测试与研发比一度是 1:2

    • 外包公司发展迅猛。短短的几年。中软,东软,软通动力,博彦等公司迅猛的发展起来。

    • 测试技术的启蒙和发展。主要是自动化为主。在十年前的年代,听一些前辈说,有公司做性能测试,就是有人用哨子吹下,然后一屋子的人就开始一起点。所以当 QTP 和 LoadRunner 出现后,就迅速占领了市场。

    互联网时代的测试发展

    当互联网世界开始爆发,测试行业的主要变化是:

    • CMMI 逐渐被互联网公司忽略。国内崛起的公司有自己的业务,他们不屑于不实用的认证,开启了自己独特的野蛮发展的节奏。这也是之前在外企工作的白领有优越感的一个原因。

    • 测试技术大发展。不再是简单的自动化测试,技术开始更加细化。比如单元测试,代码动静态测试,接口测试,持续集成,各种端的自动化测试。大家也不再迷信 UI 自动化,而分层自动化,持续集成,测试即服务等理念开始流行。

    • 测试工程师技术型转变。以前的测试工程师就是点点点,不会要求技术的。但现在 BAT 等一线公司已经全部推行技术笔试了。可以说,不懂开发基础的测试人已经难以发展了。点点点测试工程师已经退化到只能用于用户端的功能校验工作了。

    • 测试研发比:从 1:2 下降到了 1:3、1:5。

    移动互联网+创业浪潮时代的测试发展

    移动互联网爆发,IT 研发技术栈和云计算服务也发展迅猛,这让小公司的生产力有飞跃性变化,也催生了一场席卷全球的创业浪潮。这股浪潮起源于硅谷,并迅速通过"Copy to China"模式烧到了中国。另外一个是中国大环境的变化,导致了外资企业生存困难,很多优秀的企业都从中国撤离。

    这期间的测试行业发生了如下的变化:

    • 服务于国内企业的测试工程师开始增多。外包测试工程师,外企工作白领测试工程师都被外企撤离影响到了,开始逐渐转到国内公司。外企工作的优越感逐渐丧失,国内的工程师开始崛起。

    • 敏捷理念盛行。SCRUM 和 XP 理念被迅速的普及。Scrum 迎合了产品管理的需求,XP 迎合了工程化发展的需求。各自发展都很迅猛,然后逐渐衍生了更深入的 CI CD 和 devops 等模式。

    • 测试研发比。下降到 1:8 甚至更低。其实 BAT 都向往 google 的 1:10。只是国内目前做不到。

    • 大质量部模式被打散。为了提高运作效率,QA 或者测试工程师团队被逐渐分拆到各个具体业务部门。大质量部模式消失意味着测试工程师的发展开始遭遇天花板。很多人还没能体会到这个模式带来的巨大影响。

    • 测试技术新发展。测试平台得到了很大的发展。研发工程师,技术型测试工程师也开始逐渐发挥价值。比如新型的全链路压测,全链路监控,各种接口测试和 mock 平台,各种云测和专项测试平台。独立的测试服务公司也开始层出不穷。

    大数据和智能时代

    人类已经进入 DT 和 AI 时代。大数据,机器学习,深度学习,图形渲染等技术栈也已经成熟了。随之而来会形成新的生产力并落地到测试行业(AI时代的全链路监控开始应用、AI自动化测试开始出现在游戏测试中),这个阶段大家刚开始感受到。我暂时不做评论。

    2. 测试行业发展总结

    之所以列举过去的行业变化,其实是为了告诉大家,不要认为目前的模式就是行业的长期现状。目前不同企业仍然是处于不同的理念和不同的历史阶段中。没有绝对的对错,只有适合与否

    这些变化都是围绕着几条核心的主线发展的:

    业务发展

    业务发展带来了对质量和速度的追求。这是整个行业发展的主线

    业务发展的需求影响到了产品研发和测试。它和资本一样是贪婪的,无时无刻不在追求着突破瓶颈。追求更快更好的发展。它决定着很多公司的生死和很多行业工程师的前途。研发,产品,QA 都是要为业务服务的。

    技术发展

    技术是生产力的重要组成部分,技术的发展是自带加速度的。每次质变都会带来一些行业重大的变更。技术的成熟度决定了测试行业的成就能做多大。

    作为测试工程师要善于利用当前的技术栈打造符合当前需求的解决方案。

    管理发展

    公司主体在追求简单高效的管理上是永不止步的。技术和工具的每前进一步,就意味着组织沟通的能力在增强。管理这个方向会逐渐的扁平化。高层管理会越来越少。一线管理会越来越多。

    作为测试行业比较尴尬的一点是大质量部模式的消失,让测试行业的发展开始遭遇天花板。如果 Hold 不住研发和产品,在测试行业发展的人是没法往上有很好的晋升的。

    3. 测试工程师职业发展关键因素

    薪酬数据参考

    我根据测试人才的基本属性并用实际的例子总结,按照 8 年跨度(08年-16年),总结了行业的一些典型人才的职业发展现状(鉴于隐私要求,模糊了相关数据,与真实情况略有偏差)。

    我手里也有更多的数据,之前也一直想搞个决策树模型,但是一直没完整的做出来。这次就先简单列举这几个典型的案例,简要分析下测试人的职业发展关键因素。

    职业上升的关键因素

    • 技术能力决定了你的薪资增长加速度。在月薪 1-3w 中间。技术能力助力会较多。

    • 管理能力决定了你的薪资阶层。月薪 2-5w 是管理层基本薪资。后面的要靠公司的股票和奖金。

    • 业务能力决定了你的地位和长期回报。对业务的把控决定你在团队的影响力和重视度,也关联期权和股票的数量。

    • 运气和选择决定了你的人生轨迹。选择的好就能获得最大回报。

    • 股票或者期权回报是超过工资的。选择一家靠谱的可持久的公司很重要。

    作为个人发展,我的建议是扎实的提升你的技能,培养好你的人脉和软实力。至于运气和选择不用焦虑,如果你有能力,自然会有高人拉拢你。比如之前就经常有朋友联系我,说是 XX 公司要发期权了,XX 公司要上市了,跟我们一起干吧。人品好,技术好,大家都会喜欢与你为伍的。

    职场发展建议

    • 切莫在不该有的年龄追求权利

    这会断送你的整个前程。在一些面试场合,如果面试官问你愿不愿意做管理,如果你回答是,那么面试基本就挂了。一定要确认面试你的人是不是真的希望你走管理路线。大多只是测试你是不是真的是个实干家。

    过早参与管理工作也会导致个人技能发展的不健全。这会为以后带来隐患。过于追求权力必然也会引发办公室政治和各种利益斗争。所以请谨慎面对这个毒苹果。

    • 在薪资和工作机会之间做合理的权衡

    每家公司都有自己的薪资体系。你要参考这个数据来合理的确定自己的薪资,不要有幻想。不要觉得别人因为某次成功的忽悠拿到多就懊恼。

    一个优秀而扎实的工作经历会让你受益一生,会为你的简历增光不少。对于这种机会降薪也值得去。

    一个合理的节奏是,刚参加工作 1-2 年内主要是积累能力,薪资能糊口即可。2-5 年,可以适当的跳槽追求更好的待遇或者更闪光的工作履历。5年以上,就是要物色好的机会一飞冲天了。

    如果跳槽太多,一些大公司也会非常的在意,会影响你的面试。比如工作经验不到一年或者两年就跳槽的人,很容易被 BAT 认为轻浮。

    4. 当下测试行业的发展

    表面"衰落"的测试行业

    鉴于过去的大形势变化,不懂技术的测试工程师会逐渐被淘汰出局。一波测试工程师的失业潮是在所难免的。虽然早期我也呼吁身边的人赶紧脱离落后的业务体系,脱离落后的测试技能,但是看到很多人越来越生活艰难,也是挺心痛的。

    包括测试工程师的需求越来越少,招聘职位也越来越少,典型的新崛起的巨无霸公司比如 Facebook 早期都没有 QA。甚至前几年一度有 QA 团队是否值得存在的争论。表面看起来是测试行业衰落了。

    有趣的是,大家讨论 QA 团队是否值得存在的初衷,是为了更好的保证质量。这还是挺耐人寻味的。绝大多数的公司,都是非常支持 QA 部门的存在的,问题在于 QA 团队的存在的价值到底是大还是小。

    过去陈旧的测试体系,落后的测试人员能力,冗长的测试流程是被整个 IT 行业诟病的一个关键。当研发的生产力在逐渐的提升,运维的部署在逐渐的自动化,QA 所带来的价值和耗费的成本就越来越不能忽视了。甚至成为了一个项目的最大的成本。

    这是任何一家公司都无法忽视的问题。早年阿里巴巴的高管曾经集体去硅谷拜访新崛起的巨无霸,得到的结论就是他们的流程和执行力比国内强很多。甚至 Facebook 早年都没有 QA 就成长为大公司了。所以阿里就迅速推动了流程的裁剪。这部分包括裁撤 SQA,裁撤需求分析师,裁撤项目经理,削减 QA 名额。进入产品,研发,测试三足鼎立的最简模式。

    QA 会不会被撤掉也取决于这个部门的价值。所以不要想当然的觉得"存在即合理",现在部分的公司已经在试验"无 QA"的模式了。互联网行业唯一不变的就是变化。

    比如一个典型的例子,在搜索,推荐,机器学习等方向的算法测试是很重要的领域,是需要专业的测试工程师参与的。这个行业能容纳很多的测试团队。但是测试行业这些年就没形成对这个领域的正确测试方法,结果最后丢失了这个市场。现在都是研发自己保证了。因为找不到合格的测试工程师去保证这个业务。

    同样在性能测试领域也是如此,随着性能测试平台,全链路压测,性能监控,AB Test,云压测这类技术和服务的出现,性能测试工程师的需求也会缩小。越来越多公司里的性能测试都已经变成研发主导了。丢失了这块的业务,性能测试 QA 的需求量自然会受影响。

    一定要记住,业务空间决定 QA 的生存空间,这是所有行业都通行的道理。如果你不能满足业务需求,就会被淘汰出局,要么选择退守防御要么选择勇于接受挑战。

    那测试行业的未来是什么样的那,很多人会担心。不过我还是整体乐观的。因为我喜欢整个行业,这些年也一直在进行不断的思辨。这里说下我的看法。

    测试从业人员的规模

    从业人员规模跟生产力负相关,跟业务规模正相关。以后能有多大取决于技术和业务规模的双重因素。

    首先是大环境因素。随着各种行业的互联网化,IT 行业在扩大, 外卖,美甲,甚至是无人机汽车航天产业都将成为科技公司。研发的队伍会扩大,QA 的队伍自然也会整体扩大。前提是 QA 自己要跟得上时代。

    其次是随着生产力提升自然就不会需要这么多人的。哪个行业都这样,测试行业并不特殊。就跟汽车行业一样。早年堆人,然后堆工具,堆技术,上机器人,改进流程。

    行业技术改进,测试技术改进,测试工具和测试服务的改进,都会一定程度提高了测试效率,减少了成本。这种改进会导致 QA 的团队更精炼高效。

    人数多意味着大家的价值跟富士康工厂里的工人一样廉价。追求高附加值才是正确的路。这对公司和测试团队都是双赢的。

    第三个因素是行业地位。Devops 的流行是推动了研发和运维的密切合作。一旦这个阶段完成,产品的生产部署会非常的流畅。随之而来的就是问题会越来越早的暴露,大家对质量会更加的重视。到时候就会进入一个新的时代,DevQA

    运维逐渐会管道化,Dev 和 QA 会成为新的主角。只是到时候能撑大局的不一定是现在的软件测试工程师了,会是新时代的测试工程师。

    测试行业会越来越专业。人才,技术,工具,开源平台,服务会越来越多。越来越完善。术业有专攻,专业化分工仍然是大趋势。

    技术层面上也会有创新。以前的测试只能留下测试用例和业务知识文档,没有什么连续性积累。

    随着接口测试,质量监控,覆盖率分析,业务建模等技术的突破, QA 也会形成自己稳定可积累的业务数据, 并逐渐形成自己的平台和业务。

    业务空间 + 技术门槛的双重因素,是我坚信 QA 部门能长期存在的一个核心原因。

    5. 迎接测试行业的变化

    测试行业的管理会逐渐扁平化

    几乎大部分的互联网公司都在分拆业务和 QA 团队,从而提高执行力。所以管理上百人的总监职位会越来越少,而管理百人以下的总监会越来越多。不排除少量的巨无霸仍然没有改变。或者有些烧钱的初创公司倒行逆施。

    其中这些测试管理者会遇到一些新的挑战,比如更高层是研发出身居多。不懂研发体系几乎没有发展空间了。测试管理体系失去了上层建筑,对未来的影响还是深远的。会有阵痛,但是结果肯定会是好的。

    测试技术人才需求增多

    原因是多方面的。大公司因为分拆的问题。不再有统一的测试技术支撑部门,所以分拆之后的每个团队都需要组建对应的职能团队,对测试技术人员的需求反而会增多。

    中小型公司也苛求质量保证效果,不止是要好,而且要求更快,也需要大量的技术人才。这几年通过各种招聘网站的招聘 JD 的描述也能看得出来。

    外包测试的灾难和新生

    原来做欧美日韩外包业务的公司会因为国内互联网的发展逐渐式微,他们需要转型做国内。但是国内对外包业务也大多排斥,而且外包业务在效率沟通管理上都有诸多弊端。其自身也无法承载对测试工程师的培养和长期发展。所以这几年会有大量的外包测试工程师转型。

    这方面需要有新的优秀的外包服务公司。能做到有自己的测试服务,测试技术和高级的测试研究工程师才行。比如东软也开始做自己的各种云测平台之类的,就是一种为了迎合新时代的变更。

    不懂开发的测试工程师已经是新时代的文盲

    第一个是工作上已经没有太大的晋升空间。第二个是也很难跳槽。最好的结果是凭借多年的经验转管理。

    我跟行业的很多测试经理交流过,大部分工作超过 6 年的人,在测试执行上会倦怠,在测试技术的改进上已经无法入门,还不如招实习生。相对来说,有技术基础的人在工作 8 年以上仍然会保持自己的学习热情。

    所以未来测试团队的架构基本会是多数业务测试工程师 + 少数测试专家 + 测试经理的管理模式。

    以前不识字的是文盲,后来是不识英文的是文盲,在继各国呼吁加强对 IT 技术的重视后,新时代的文盲就已经快是不懂开发的人了。TesterHome 社区成立的初衷就是希望唤醒整个行业对测试技术的重视。

    测试行业的门槛增加

    以前处于发展期,行业对人才的苛求是第一位的。现在随着大公司发展稳定,招人已经稳定了。

    他们基本只在 211 院校校招。社招也看学历。初创公司多是融资烧钱为主,在学历上和阅历上也是看的很高。能够不拘一格降人才的公司会越来越少。

    我之前推荐了不少同学去其他优秀的公司,其中有一部分同学就是技术不错,但是学历未过关。所以希望大家技能和学历上能够好好的重视这个问题。除了学历门槛,如上一条所说技术门槛也存在。所以加油吧,少年!

    测试行业的薪资在提高

    测试行业经过自身的净化洗涤会有新生。典型的变化就是薪资从以前的 3k-15k 的范围,整体提升到 1w-3w 之间。

    技术含量的提升,责任的提升必然会带来整体的回报。现在测试工程师只要技术好,学历没问题。工作 3 年拿个两三万的月薪是很平常的。

    研发工程师进入测试领域

    这些年整个 IT 行业对测试行业的发展非常不满意,通俗点讲,大家都觉得测试很 Low,但是又不能没有。研发提交项目给测试的心情就跟以前过年要去火车站排队买票一样。要申请测试资源,给测试讲解业务和实现,遇到比较 low 的或者新入职的,连搭建环境都不会,还得手把手教。

    研发只是修改一行代码,QA 或者测试那边就炸锅了。各种流程足以让研发头发都能掉好几根。

    作为参考对比,再思考下运维。当年部署个环境跟提交测试很像。要申请运维的介入,要申请机器资源,然后提交部署文档,还要明确基础环境,依赖库等各种细节的版本号。

    遇到本地行发布环境却不行之类的问题还得跟运维撕逼。当年运维行业还流行着一句," 人 " 才是最关键的发布保证者。

    而现在随着持续交付和 DevOps 的流行。发布都已经做到"丝般柔滑"了,一键发布,自由选择灰度,平时的发布甚至都不需要运维参与。尝试了新模式的甜头后,对测试行业的弊端已经很难忍受了。

    所以在优秀的测试工程师和测试架构师难找的情况下,已经有越来越多的公司选择直接用研发工程师来顶了。他们的追求很简单。单测->接口测试->基础的冒烟测试,能够做到自动化就可以了。如果能像运维那样做成测试即服务就更完美了。

    总结

    我一直坚信,QA 的价值是非常的大,测试行业在经过这次调整后也会发展的很好。至于说未来能有多辉煌,就要看大家的努力了。

    6. 测试职业发展建议

    测试行业和其他行业的发展没有本质的区别。这些年都已经规范化了。一般的公司都会有两条路线发展。一个是 P 或者 T 简称的技术路线,一个是 M 的管理路线。

    每个方向都有很大的发展空间,级别也是很多,年薪也是从 20w 到 100w 以上都有。稍大的公司大都是并行发展的。小公司可能就只有管理路线可走了。所以做技术的同学,最好是在大公司发展,去小公司就要适当调整自己工作重心。

    测试技能发展

    首先技能和技术只是过程,业务的质量才是目标。

    一个合格的优秀的测试工程师,应该是能做到如下几点:

    • 懂业务。能扎实的保证业务质量。不排斥用脑力和体力去保证质量。

    • 懂技术。能够做深入的自动化或者分析工作。能够利用工具和技术解决问题。

    • 懂架构。能够跟研发和产品进行正常的交流,保证产品需求和实现都没问题。能带团队走上更好的发展。

    成长为测试开发工程师

    而随着敏捷开发、DevOps、持续交付的流行,软件测试人员必须成长进阶为测试开发工程师,同时具备一定的开发和运维能力。

    测试开发工程师会通过测试左移,更深入介入开发工作,提前与开发人员一起制定测试计划,推动代码评审、代码审计、单元测试、自动化冒烟测试、测试精准化分析以及研发自测等来保证研发阶段的质量。

    测试开发工程师会也通过测试右移,参与配置部署,将自动化测试用例配置到持续交付链中,并全流程监控发布后的应用质量。总之,作为 DevOps 关键角色,测试人员将推动开发和运维共同实现高效交付高质量产品的目标。

    但这里想强调一点,并不看好只开发测试工具的测试开发工程师。开发一款测试工具,设计一个更好的测试框架,发明一种更先进的测试手段。这是个人成长带来的自然成果,但不是目标。

    很多人会觉得开发测试工具的测试开发是有前途的,其实也不是。只是他碰巧赶上了测试行业的技术转型期的需要。我记得在百度的时候,好多负责单测工具,单测框架的维护团队,经常凌晨两三点还在修复 Bug。但是几年过去,这些人的努力大多没有很好的回报。

    这是因为他们做的事情脱离业务目标太远。一旦完成目标,他们也容易被“管道化”,成为边缘角色。这个行业除了极少数技术的狂热爱好者,能够找到自己在行业的技术地位外,大多数人都应该去追随业务的发展。业务才是测试的根基

    测试行业和以前的战国时代一样,成为一个统帅团队叱咤风云的将军,还是成为一个打造兵器满怀工匠精神的铁匠,都是值得尊敬的。在冷兵器时代排兵布阵管理就是王道,在热兵器时代下技术和科技是重要力量。这个需要看每个人的爱好和追求。明确自己的发展方向和爱好就可以。

    关于测试技术路线,我的建议是:

    • 多读书。能系统的了解很多东西。

    • 多看别人的代码。他山之石可以攻玉。别人的开源代码里面藏着很多的经验和智慧。要善于学习。

    • 早期多造轮子。这是一种不断演习的强化锻炼。可以强化自己的技能。

    • 多承担开源维护工作。尽可能的参与开源社区的维护工作。跟这些人的协作你能学习到很多有用的实践知识。能够强化自己的沟通协调和架构设计的能力。

    • 多泡论坛交流。闭门造车,敝帚自珍,固步自封都是没什么成长的。跟这些保守的人交流你也学不到太多。

    • 打怪升级。从部门里一件件的改进做起,实现把技术转化为生产力。

    测试管理发展

    以前纯做测试团队管理的人估计是很难适应互联网行业的变化了。可能要面临着诸多的挑战。需要加强自身的能力建设。

    不少早年做了管理的同学现在有些其实都开始后悔了,弄的高不成低不就。现象就是总监升不上去。经理级别没亮点也不能升级别。业务发展一般,团队也没变化,而跳槽最怕遇到笔试或者技术测验。

    真正能做好测试管理的精英还是蛮少的。如果踏入这个行业,应该多关心如下的事情

    • 能帮你做事的人才和团队:没有给力的队伍是做不好的。

    • “混圈子”:结识更高级别的 CXO。这是将来的发展需要的。

    • 多读书:多学前人的管理和沟通经验,跟得上行业发展的步伐。

    • 修身养性:魅力、气场、名望、实力、人品都是取信于人的关键。

    管理相对技术在大公司向上发展是比较难的。一般跳槽到初创公司是最容易变现的。比如一个 BAT 的测试经理,月薪不过是 2w 多的样子。跳槽到创业公司做测试管理。月薪就到 3w-5w 了。甚至能力上去,直接跳槽过去当高管和 CTO 的也不少。管理这块,我就不班门弄斧了。

    结语

    以上只是侃侃而谈,没有什么深度,仅供参考。因为帖子过长,原来提到的一些技术话题,我先暂时剥离出去了,以后再写独立的技术篇。

    展开全文
  • 中国近几年软件业迎来了一个超高速发展期,其中软件测试发展也成为业内关注的话题,越来越多的高校毕业生投入到软件测试行列中,这表明软件测试有可能会成为下一个IT行业的发展风口。除了软件测试人员数量需求和技能...

    中国近几年软件业迎来了一个超高速发展期,其中软件测试发展也成为业内关注的话题,越来越多的高校毕业生投入到软件测试行列中,这表明软件测试有可能会成为下一个IT行业的发展风口。除了软件测试人员数量需求和技能经验要求外,测试人员能不能把握最新行业动态趋势,掌握最新测试技能和知识变得尤为重要。

    随着人工智能(AI)、虚拟现实(VR)、增强现实(AR)等新技术的出现,对于测试人员来说,扩充在这些技术方面的知识将变得更加重要。在测试基于这些技术的应用程序时,需要完全不同的思维方式、测试设置、测试环境/基础件,这可能是 2019 年测试人员要面临的最大挑战。

    作为测试人员,我们需要有好奇心和开放的思想来适应变化,学习和阅读最新的技术趋势,并做好迎接我们测试过程中遇到的任何问题的准备。你必须随时保持对市场行情的好奇和热情,跟随趋势做出改变,做到与时俱进。

    在这里插入图片描述

    2019年测试新趋势大概分为以下几个类:

    一、人工智能AI+测试

    利用AI(深度学习等)系统来辅助测试工作绝对是最近几年最为热门的一个测试趋势,其中包括测试用例,测试数据和测试代码的自动生成、大规模测试结果分析、自动化探索性测试、缺陷定位等,美国已经有多个公司推出了商用的AI测试工具。

    虽然已经有很多公司开始研究AI辅助测试,也有很多工具问世,但是它们都存在一个很大的问题:准确性不够高。由于现在AI学习算法本身存在一些问题,其学习并生产的测试用例和验证条件的准确率都不是很高。

    AI辅助测试分为三步:

    1、通过深度学习模型自动生产测试用例的输入,人工验证输出。

    2、通过深度学习模型自动生产测试用例的输入,并通过规则模型自动验收输出。

    3、通过深度学习模型自动生产测试用例的输入和输出,并自动验证输出。

    现在业界基本上能实现第一步了,有部分公司已经可以实现第二步了,而对于第三步,只有少量大公司实现了,并且准确度还不是很高,所以AI辅助测试还有很长的路要走。

    在这里插入图片描述

    二、新型业务和架构系统的测试

    随着AI系统、区块链、微服务以及大数据等系统的出现与繁荣,对其进行专项测试也将是一个测试领域的趋势。这其中会涉及到一些新的挑战,比如测试AI系统可能会用到和以前完全不一样的方法与理论体系;测试区块链的时候如何模拟真实环境来进行测试;微服务在规模变大的情况下,是不是需要使用到与以前不一样的测试策略与一些特殊的测试技术;大数据系统如何在测试环境下,模拟真实的大规模数据,并进行业务测试等。

    三、测试基础设施

    随着软件系统规模的增大,测试环境的搭建变得越来越复杂,其成本也越来越高。而且在很多实际的项目中都对测试环境有一些特定的需求,比如每轮测试之前,回滚上一轮测试影响到的所有数据;或者可以快速将集群中的多个节点上的被测系统回滚到之前的某个版本等。随着这些需求的增多以及成本压力的增加,建设现代化的高效的测试基础设施已经成为了一个大型系统的必然趋势。比如可以利用Docker,Ansible等来搭建高效的测试基础设施等,然后它还有另外一个新的名字:TestOps。

    四、产品环境下的测试

    去年阿里云和腾讯云都发生不同类型的线上故障,其中阿里云对于其在2018年6月27日线上故障的说明中写到:“这一功能在测试环境验证中并未发生问题,上线到自动化运维系统后,触发了一个未知代码bug”。由此可见对于大规模、高复杂度的服务器系统来讲,仅仅是在测试环境进行测试已经无法满足质量需求了,如何在产品环境下进行测试必将会在现在以及未来云时代中占据重要位置。

    五、基于故障注入的测试(混沌工程)

    随着云平台越来越庞大,越来越复杂,普通的测试用例已经很难满足高可用的需求了,所以基于故障注入的测试(FIT-Failure Injection Testing)也越来越重要。其中Netflix甚至在其产品环境中大规模的使用FIT,而不仅仅是在测试环境中。Netflix在其官方博客中发表了多篇关于故障注入测试的文章。在未来云的系统的越来越多、越来越复杂的时代,对于一个追求质量的系统,基于故障的注入的测试肯定是必不可少的。

    六、安全开发流程与自动化安全测试

    现在一谈到安全,一般都是聊渗透测试或者是安全防护,比如WFA等,很少有人谈到安全开发和开发流程中的安全测试。其实安全开发才是最有效的安全防护办法,比如早在本世纪初微软就提出了自己的安全开发流程SDL(Security Development Lifecycle),但是由于微软的SDL十分笨重,成本也十分高,导致在其当前需要敏捷和快速开发软件的互联网时代很难推广。

    其中BSI就是结合了敏捷方法论和实践的一种安全开发流程,并需要在开发流程中嵌入各种不同类型的安全测试,比如基于业务功能的安全测试,基于威胁建模结构的白盒安全测试,以及基于各种黑盒自动化的安全扫描和测试等,对于需要持续交付的敏捷团队特别适合。

    七、可测性分析与设计

    现在很少有公司会对系统进行可测试分析和设计,只有一些大型公司的部分大型系统会使用它。其实可测试是一个非常古老的话题,就像契约测试早在上个世纪80年代就被提出了,但是由于其对于中小型项目的投资回报比不高,很少有公司会用到。直到规模化微服务的出现和盛行,契约测试这个老古董也逐渐成了一个新的热点。但是随着软件规模的增加,特别是当云平台等大型系统成为一种趋势时,通过提高其可测试性来使其各种测试更加有效也将成为一种趋势。

    八、敏捷测试

    敏捷测试也许在国外很多公司(比如Atlassian,Netflix,Google等)已经是常态了,但是在国内,在未来很长时间内还是一种奢望。其中测试前移、测试驱动开发(业务功能级别的ATDD),以及预防缺陷优于发现缺陷等理念和实践,使得敏捷测试能有效的减少缺陷代码和返工,从而有效节约开发成本,提高交付速度和软件质量,所以敏捷测试中的各种实践也一定会在国内成为一种趋势。

    总结:虽然测试方法、测试分析和测试策略非常重要,但是随着技术的发展,测试领域中技术占比越来越大。虽然还需要长时间的发展或者还没有大规模被业界所采用,但是其中大部分都依赖技术的发展。所以,在未来想发展成为一名高级测试工程师或者测试专家大佬,除了需要精通传统的测试方法、测试分析、测试策略以外,技术可能也是无法避免的一项技能。

    展开全文
  • 测试职业的发展方向

    万次阅读 2017-12-13 19:49:56
    正因为如此测试可以发展的方向选择面就非常广了,既可以继续在测试的道路上前进,也可以往其他职位转型。本篇就讲一下测试职业的转型及未来发展方向。   基本上测试发展可以分为3类: 1. 技术类 ...
  • 软件测试职业发展规划

    千次阅读 2019-03-13 13:05:00
    【原创】软件测试职业发展规划 之前有同学问我软件测试工程师应该如何发展,感觉有些迷茫。问我什么时候应该学自动化?什么时候应该学性能?我是学习java好,还是学习html?还是python? 下图,我给出了一个测试...
  • 测试职业发展前景之职业发展方向

    千次阅读 2019-04-04 10:08:21
    软件测试员的职业发展一般3年为分水岭,3年后的发展方向大体上可以分为管理路线、技术路线、管理+技术路线。 测试初级阶段: 测试工程师,属于软件测试职业生涯的初级域,其适用范围是入行软件测试3年内的常规测试...
  • 随着人工智能的发展与应用,AI测试逐渐进入到我们的视野,传统的功能测试策略对于算法测试而言,心有余而力不足,难以满足对人工智能 (AI) 的质量保障。 结合在人脸检测、检索算法上的测试探索、实践的过程,本文将...
  • 软件测试前景和发展方向

    万次阅读 多人点赞 2018-06-15 15:08:12
    2019最热门的软件测试趋势 毛哥(译) 放眼全球,了解技术发展的边界和趋势,有助于组织和个人的发展及竞争力的提升,偶尔看到国外某网站的一篇文章,读来颇值得参考,简单翻译过来,分享一下。 也许这篇文章会给...
  • 测试行业的发展趋势和看法

    万次阅读 多人点赞 2019-02-20 15:49:46
    [ 声明:本文为博主梳理改编,转载请注明出处:... 我是从开发半道转去做测试的,当时刚从事测试这个行业的时候也是意气奋发,对未来充满无限憧憬,但是在这个行业摸爬滚打了十多年后,渐渐发现这个行业不...
  • 软件测试职业发展方向

    万次阅读 2012-10-09 13:52:25
    软件测试职业发展方向  最近准备研究一下软件测试职业的发展方向,一是增长自己的知识,二是为自己的职业规划做个参考,在网上找到一篇很好的东东,将它整理了一下,放上来吧,以备以后查看。 软件测试职业...
  • 软件测试职业发展规划图

    千次阅读 2015-11-03 22:28:24
    以下是一张软件测试职业发展规划图,希望即将从事该行业或已走在测试道路的童鞋们能对此有一个较清晰的认识:
  • 测试工程师职业发展

    千次阅读 2017-06-04 08:26:09
    测试工程师职业发展 腾讯公司---吴凯华Email: wukaihua@vip.qq.com PDF 文件使用 "pdfFactory Pro" 试用版本创建 w蔞ww凫.fineprint.cn 个人介绍 个人介绍 现任腾讯互联网产品线测试
  • 软件测试行业3大发展方向

    万次阅读 2018-02-22 17:02:09
    随着企业对软件测试人才的日渐重视,有意向从事软件测试的小伙伴越来越多,未来几年无论是软件测试发展还是人才培养都将进入一个全新的时代。在新的互联网发展背景下,企业将对软件测试人才提出新的需求。如何抓住...
  • 软件测试行业发展及软件测试人才外包 ---领测软件测试网专访领时科技(北京)公司测试经理:包顺勇 领测软件测试网作为软件测试行业的专业媒体,一直致力于关注软件测试行业最新发展。最近网站记者对领时科技测试部...
  • 软件测试的自我发展规划

    千次阅读 2018-05-14 11:01:31
    而软件测试发展历程是一个广泛且笼统的范围,想要胜任真正的软测工程师,就必须不断的去学习各个方面的知识,如前端、后台、业务流程等等。下面将从三个大的方面来描述软件测试的晋升方向:一、技术方面技术知识...
  • 本文借此总结一下自动化测试概念、换代历史和未来发展趋势。 自动化测试的概念 广义上来讲,自动化包括一切通过工具(程序)的方式来代替或辅助手工测试的行为都可以看做自动化,包括性能测试工具(l...
  • 以及个人对测试发展的整个过程的一个分析,希望对大家有帮助   一、测试发展过程 我认为一般的测试过程发展:测试执行->测试用例撰写->自动化测试实现->测试流程与平台实现。<br /
  • 软件测试工程师发展之路

    千次阅读 2011-05-18 16:07:00
    软件测试工程师发展之路
  • 软件测试行业发展现状及前景

    千次阅读 2019-04-30 10:29:06
    软件测试行业发展和前景,这是很多准备踏入这个行业的伙伴最想了解的一个事情吧,今天我们就来聊聊这个话题。 在文章开始之前,我给大家准备了一份软件测试的学习资料,大家可以加群:679433150进行领取,进群暗号...
  • 目录:导读 一:前言:人生的十字路口...入软件测试这一行至今已经10年多,承蒙领导们的照顾与重用,同事的支持与信任,我的职业发展算是相对较好,从入行到各类测试技术岗位,再到测试总监,再转行入测试讲师做技...
  • 软件测试工程师发展方向知识架构体系图,会告诉你该往哪里努力:01Linux必备知识linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有linux能力。02互联网程序原理自动化必经之路:前端开发...
  • 性能测试高端发展方向

    千次阅读 2008-03-11 22:40:00
    根据个人的理解,性能测试高端发展有如下一些方向: 性能调优,架构评估,性能监控,容量规划,应用性能管理。性能调优偏重系统级调优、代码级调优,需要非常熟悉系统架构、profile工具(如jprof, gprof ) 。有开发...
  • 那么,专业的软件测试员作为时下企业抢手的‘香饽饽’,也是有着很好的职业发展前景的! 软件测试工程师发展方向有哪些?除了按照测试资历和能力分为助理软件测试工程师(或者是实习软件测试工程师)、初级软件测试...
  • 关于测试工程师的职业发展思考

    千次阅读 2018-03-13 19:40:13
    关于测试工程师的职业发展思考 2017年,因华为裁员、中兴员工坠亡等事件,“IT吃青春饭”,“中年危机”…一词又在网络上掀起了一股巨浪。那些面临即将走上IT工作岗位,或已在IT工作岗位的青中老年们,不得不开始...
  • 软件测试工程师发展前景好吗?

    万次阅读 2018-04-03 18:08:57
    软件测试管理是大家比较熟悉的软件测试职业发展路线之一,比较流行的设置包括测试组长、测试经理、测试代表、测试主管、测试总监、测试部长等。不同的公司中相同职位的工作范围可能略有不同,按照管理级别的高低,...
  • 行为驱动测试历史发展与现状

    千次阅读 2018-03-09 18:51:29
    行为驱动开发(Behavior Driven Development)即BDD,是一种敏捷开发方法,通常应用在自动化测试中,或者也可称为行为驱动测试。... 下面以自动化测试开发模式的发展过程来说明下行为驱动测试历史发展与现状...
  • 假如将软件测试作为职业,那么其职业发展的过程类似于“烧开水”的过程: 第一个阶段是不断添柴,即不断努力学习。对于测试人员而言,就是不断地学习软件测试知识、技能和积累经验教训。假如锅下面没有柴火,水是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 515,035
精华内容 206,014
关键字:

测试发展