软件开发和测试工作似乎被分等级了,请教各位,在你们眼中,测试工作的地位如何?

在国内,测试就是“低人一等”

产品和开发,往往视测试为“保障部门”

举几个例子:

1、开发交付产品给测试,说的是:点点看,看下有没有问题。产品过来补刀:时间比较紧,半天时间够了吧?

2、多轮迭代之后,用例库存下了巨量的测试用例。老板希望每次上线,你都来一遍回归测试,你质疑能否发现新的缺陷,可你又说不出所以然来;

3、产品上线了,运行过程中出现一个生产问题,最后反馈到你这里,你恍然大悟:艹(一种植物),为什么如此简单,当初却没有想到?

不得不承认,很多测试工程师,太水

或者说,大部分的“点工”,都不能称之为“软件测试工程师”

回想一下,培训机构的宣传是不是写到“测试很好入门,上手很快”、“做测试不用写代码”、“做测试不用加班”、“做测试没有年龄限制,越老越吃香”?

你搁这儿清明烧报纸,糊弄鬼呢?

这种局面下,又何谈测试人员的能力,何谈核心竞争力,何谈能够被团队所重视呢?

那么说,什么才是软件测试工程师的核心竞争力呢?

懂业务、懂技术、懂架构

懂业务要求能够从用户的角度,通过测试设计保证业务质量;

懂技术要求具备一定的技术水平,能够通过技术设计去提升质量和效率;

懂架构要求能够认识和识别架构中的质量和风险,保证产品需求和用户需求,以及后期产品发展的需要。

但是目前国内各个层级的测试工程师均具有非常明显的“痛点”:

功能测试工程师,很多情况下不懂业务,工作中更像是盲人摸象,而且做功能的,往往刚入行不久,会被第一份工作的业务所限制。换句话说,就是很有可能离开这个领域,又是从零开始。因此功能测试的核心竞争力在于,对产品的理解,对需求的理解,以及产品背后的实现逻辑。

性能测试工程师,痛点在于很多场景下只会套用工具,只会跑出数据,具体怎么分析数据,进而调优,就熄火了。举个例子:

我拿到了一份“流氓”的性能测试报告,上面只写了响应时间、TPS是多少,然后罗列了一下压力机基本配置情况,比如40个并发相应时间是5秒,TPS是260。

那么,我该怎么判断这次性能测试的有效性:

1.场景是否合理?

2.压力是否传递均匀或者传递到指定目标?

3.是否有干扰因素,或者说那些数据是否有效?

4.有没有一些可信的判断方法?

这些问题的出现,其实就是反映出了目前在做性能测试的一些误区:

  • 只测不调,无法给出研发和运维人员执行建议
  • 无法定位问题,缺乏清晰的逻辑和数据证明价值
  • 性能测试工具≠性能测试
  • 性能测试技术体系落后(loadrunner),急需拥抱开源软件

自动化测试工程师自动化测试的魅力在于围绕产品提升效率,而不是只是将手工测试用例转化为自动化测试用例。

功能测试往往非常推崇去做自动化测试,因为他觉得这是新的提升效率的方法;

自动化测试却想的是能够多了解一些业务,多了解一些产品;

本质上他们都在追求自己当前角色下所不具备的能力。

这是好事,但是也是坏事,坏就坏在盲人摸象始终是局部看法。

因此自动化测试工程师的核心竞争力一定是围绕产品质量,提升测试效率,通过不断的技术创新、应用,不断提高测试整体流程能力。

测试开发工程师,对于想进阶到测试开发的从业者来说,最大的短板在于开发技能的不足,首先很多做测试的都是半路出家或者非计算机专业,对于编程语言等基础知识是比较薄弱的,因此做测试开发需要大量的开发工作积累。

做开发工作并不是说会语言,真正的开发能力,一定是来自于项目实践。

有人问测试开发是懂测试的开发,还是懂开发的测试?我更倾向于是懂开发的测试。市面上不缺优秀的开发人员,但是能够从测试的角度,去提炼测试的需求,并把遇到的难点,结合业务做成提高效能的工具,这样的人才是非常稀缺的。

因此测试开发的核心竞争力,一定是是对测试的生态的理解,以及对工具需求的提炼,以及把这些提炼出来的需求以最简单的方式最容易落地的方式来做实现。

因此,我给测试从业者的建议就是:

1、培养全面的测试能力;

2、建立良好的质量意识;

3、拓展测试技术的深度与广度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为面试者,我在软件开发工作中遇到了一些困难,但通过以下方法和策略成功地解决了它们: 1. 缺乏经验和知识: - 面对新的技术或领域,我可能会遇到缺乏经验和知识的困境。但我会积极主动地学习和研究相关文档、教程和开发指南,以快速掌握所需的知识。 - 我还会主动向同事、导师或开发社区中的专家请教,寻求帮助和指导。他们的经验和见解对我解决问题非常有帮助。 2. 复杂的需求和技术挑战: - 在处理复杂的需求和技术挑战时,我会采用分析和拆解问题的方法。首先,我会仔细阅读需求文档并与相关人员进行讨论,以确保我充分理解问题的核心。 - 接下来,我会将大问题分解为更小、更具体的子问题,并制定解决方案。这样可以更好地管理复杂性,并逐步解决每个子问题。 - 我会利用调试工具和日志来定位和排查问题,并运用测试驱动开发(TDD)的原则编写单元测试,确保我的解决方案的正确性和稳定性。 3. 时间和资源限制: - 在开发过程中,时间和资源的限制可能会带来压力。为了应对这种情况,我会优先级规划和任务管理。 - 我会与团队成员和相关利益相关者进行沟通,确保共享目标和期望,并合理分配资源和任务。 - 如果必要,我会寻找自动化、重用代码、使用开源软件或寻求外部帮助等方式来提高效率和加快开发进度。 4. 团队合作和沟通: - 在多人协作的环境中,团队合作和沟通是至关重要的。我会积极参与团队讨论、会议和代码审查,与团队成员保持紧密联系。 - 我会倾听他人的观点和建议,并尽力与团队达成共识。在解决问题时,我愿意分享我的思路和经验,并接受他人的反馈和建议。 总结: 在软件开发工作中,我遇到了各种困难,但通过积极学习、分析问题、合理规划、有效沟通以及与团队合作,我成功地克服了这些困难。我相信团队合作、持续学习和灵活应对是解决问题的关键,我将继续努力成长,并为团队的成功作出贡献。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值