软件测试工程师,一个即将消失的职位?

软件测试岗未来是否会消失?这是一个问题,因为它决定了软件测试人员这个群体未来会走向哪里?作为测试群体的一分子,笔者认真梳理了这个问题并得出个人观点,供各位测试同仁参考。


一、软件测试的由来

1936年,英国数学家阿兰·麦席森·图灵提出一种抽象计算模型:图灵机??蒲Ъ医愕目ㄆ酱莞剂榛?,图灵机通过计算给出计算结果。这一时期的软件多以计算为主,规模小复杂度低,尚未出现专职测试员。

1957年,美国科学家约翰·巴科斯开发出第一套高级编程语言Fortran,Frotran被广泛应用在科学计算领域,这时的Frotran程序有主程序和子程序的概念。同时由于摆脱了卡片纸的约束,程序的代码规模呈现出几何级的增长。如何证明程序是正确的、完备的,就成了一个无法回避的问题,测试活动由此而诞生。软件测试不同于调试,软件测试旨在发现软件的缺陷,其目的是要鉴定软件的正确性、完备性。

这么看来,软件测试活动存在的原因是因为程序代码规模的增加和复杂度的提高??此坪侠硎导什蝗?!笔者大学期间曾参与开发了一套学院选课系统,该系统前台有二十多个功能,后台有十几张数据库表。这套选课系统与早期的Frotran程序相比,代码规模和程序复杂度都高出很多。但是,我们却并没有软件测试活动这个环节。原因很简单,因为这个程序没有真实客户,学生算真实客户吗?答案是不算,如果学生A使用选课系统出现异常,我们会告诉A你的操作有问题,你应按操作说明再试一遍或者重启下电脑。假如我们有时间、有精力,我们会排查并修正这个异常。

因为没有真实客户或者我们不关心使用者是否会喜欢我们的系统,是否会不用我们的系统(实际他们也不得不用),所以我们也不担心这个系统是否会在某一时刻出现异常,是否会流失这些使用者。

然而,这些在商业社会却行不通。商业社会中,如果一个软件没有客户,那么这个软件就失去了存在的必要性。一个未经过严格软件测试的程序冒然投入商业社会,那么软件上线之日就注定会丧失客户。没有客户就意味着没有收益,没有收益软件开发活动就无以为继。所以软件开发离不开软件测试活动。

概括而言,软件测试活动本质上就是服务客户。给客户提供一个操作便捷、功能强大、运行平稳的软件,营造一个良好的用户体验是软件测试活动追求的重要目标。

二、软件测试的发展

早期的软件测试活动以手工测试开展,随着软件行业的迅猛发展,软件规模和复杂度日益剧增。如何更好、更快的将软件投入市场,抢占商业高地,吸引更多客户成为软件开发项目团队不得不考虑的问题。

应对这一问题,纯手工测试方法就需要投入更多的人力、物力。受限于人力的投入极限,软件测试活动压缩有限。受限于测试人员技能层次不齐,软件质量无法有效保障。

为了更好的解决这一问题,人们开始尝试借助于一些小工具辅助测试工作。这就是自动化测试的萌芽。随着此类辅助工具功能的不断增多和相关理论的不断完善,接口自动化测试应用而生。

接口自动化测试的工作原理是通过接口测试工具模拟客户机向应用服务器发送服务请求报文,应用服务器解析请求报文。然后加工数据,将加工结果放在应答报文中发送给客户机。

这种测试方式主要用于测试系统间和系统内部各个模块之间的交互关系和处理逻辑是否正常。其重点关注数据交换和逻辑处理,缺乏对UI层的测试。而UI界面恰是用户直观面对的,是用户体验产品的直接入口。忽视了UI测试就会造成测试链条的断裂和无法保障的用户体验,这极易造成用户的流失。

为了解决这一问题,界面自动化测试应运而生。界面自动化测试是从用户角度出发,通过识别界面元素对象,然后调用元素对象其相应操作,模拟用户输入、点击等操作。

接口自动化测试和界面自动化测试共同组成了自动化测试,自动化测试是对手工测试的补充和升级。自动化测试的出现使得测试活动和软件开发活动达到真正意义上的并行进行。通过一些自动化测试技术和框架,项目团队可以轻松搭建出适合自己系统的自动化测试平台。借助这些测试平台,编码完成的程序可以达到即测即得。这极大压缩了测试活动工时,提高了测试响应速度。

为了进一步向客户提供更好的产品体验,测试活动也由单纯的功能测试扩展出性能测试、安全测试和用户体验测试等。

三、测试岗位的未来

持续不断升级的软件测试活动促使软件测试方式从纯手工测试演化到现在的手工测试+自动化测试,以及未来可期的智能化测试。

不同的测试方式催生了不同的测试岗位。按照测试方式划分,测试岗位分为使用手工测试的测试工程师(TE)和使用自动化测试的测试开发工程师(SET)。从测试内容上看,测试工程师侧重承担功能测试(手工执行)、用户体验测试。测试开发工程师侧重承担功能测试(自动化执行)、性能测试、安全测试。

TE or SET 那一个会是软件活动下一阶段持续推进的关键?或者说哪一角色在软件活动未来的持续升级中不可或缺?

《Google的软件测试之道》对测试工程师的定义是评估软件应用对用户的影响以及软件产品整体目标上的风险,是一种面向用户的测试角色。从笔者的项目经历来看,测试工程师是在程序开发完成后执行测试。主要两大职责是:1)检测程序质量,验证项目活动是否可以进入验收环节;2)从用户角度体验产品(用户体验测试)。

从时机上来看,测试工程师在产品开发完成后进行测试。测试活动作为一个独立的阶段存在,这就天然造成了项目开发周期的延长。在软件产品竞争日趋激烈的商业环境中,意味着产品会流失更多潜在客户。近年流行的敏捷开发主要目的就是通过进一步压缩项目周期,提高产品迭代频率,适应日新月异的客户需求,进而获得更多客户青睐。从这种大趋势上看,测试工程师已丧失时机优势。

从职责上看,测试工程师职责一是:检测程序质量。随着CMM、DevOps这类软件过程管理标准的不断完善和自动化测试在软件开发过程中的深度嵌入融合,项目团队开发出的产品质量日却稳定。使用测试工程师检测产品质量,判断是否可进入验收阶段已变得不再必要;测试工程师的职责二是:用户体验测试。用户体验测试的内容和业务(产品)人员完成的业务(产品)验收测试内容存在高度的重合。

归纳而言,从时机和职责角度看,测试工程师这一角色存在的必要性在逐步降低。未来商业公司从节约成本等现实角度从发,完全可以将测试工程师的角色任务分解给业务(产品)人员和测试开发工程师。

《Google的软件测试之道》对测试开发工程师的职责描述是通过开发适合自身系统的质量测试平台,验证程序功能的正确性。从笔者的项目经历来看,测试开发工程师在软件开发工程师进行详细设计时就开始开发自动化测试案例和工具,测试活动深度嵌入开发过程,与开发人员并行开展工作。当前的测试开发工程师在完成系统功能测试之余,通?;剐璩械O钅康男阅?、安全测试等。

从时机上看,测试开发工程师的存在,使得测试执行可以不用作为一个单独的活动阶段存在。这大大缩短了项目的开发周期,适应日趋激烈的商业环境,适合主流的产品迭代要求。

从职责上看,业务(产品)人员通常不具备功能测试(自动化方式)、性能测试、安全测试技能,无法替代测试工程师的职责。经过系列测试培训指导的软件开发工程师(SWE)具备替代测试开发工程师的能力。但是两者迥然不同的思维方式(SWE重创造,SET重破坏)和SET繁重的工作任务,使得现实中一名工程师无法同时肩负SWE、SET两类角色的任务。

更重要的是当前的自动化测试尚处于发展的初期阶段,自动执行自动核对尚未成熟,距离智能化测试相距甚远。自动化测试还有很长的路需要走,作为推动自动化测试前进的中坚力量,测试开发工程师在测试活动中的比重会逐步提高。此类岗位角色在未来很长一段时间内都具备不可替代的重要价值。

四、总结

以上是笔者根据个人项目经历和认识得出来的观点,笔者的个人建议是身处测试工程师岗位的同事在完成手工测试之余通过积累自身的业务知识转型成一名业务(产品)人,或者扩展编码、自动化测试相关技能化身成一名测试开发工程师。对于身处测试开发工程师岗位的同事建议不断提高自身技术、扩展测试技能,适应未来不断发展进步的软件测试活动。

以上是笔者根据个人项目经历和认识得出来的观点,目的是警示和指引广大测试同行尽早做好自身职业规划。诚挚的建议身处测试工程师岗位的同事在完成手工测试之余通过积累自身的业务知识转型成一名业务(产品)人,或者扩展编码、自动化测试相关技能化身成一名测试开发工程师。对于身处测试开发工程师岗位的同事建议不断提高自身技术、扩展测试技能,适应未来不断发展进步的软件测试活动。

无论如何不断学习和进步才是我们应对未来风云变幻的关键,现在扩展的每一种业务、技术能力,都是为未来准备的一条可选之路。

最后:【可能给予你帮助】

这些资料,对于考虑【软件测试】技能进阶的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你



测试资源免费领~~~

?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,128评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,316评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,737评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,283评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,384评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,458评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,467评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,251评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,688评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,980评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,155评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,818评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,492评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,142评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,382评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,020评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,044评论 2 352

推荐阅读更多精彩内容