测试人员需要具备哪些基本技能

测试人员需要具备哪些基本技能或者素质。这个问题在几年前常见于软件测试工程师笔试题上。对这个问题,我觉得应该有新的解读。现在我们日常工作中需要应对的是,测试和开发的交叉领域,测试和运维的交叉领域。而不再是点点点就完事儿。

另外,不管你的职位名是叫测试人员也好,测试开发人员也好,本质上都是一回事儿。这里列的大多是硬技能。其实不管你每一项掌握得多么薄弱也好,最少这些要有一点点基本了解。这些基本都有一点点懂之后再选主攻的技术方向不迟。

一、基本技能:编程语言

1.掌握python的基本用法。能写简单的脚本或小型的应用。即使你现在做测试需要写的测试代码是纯java系的,也同样建议你学习一下python。特别是未来你面对一些测试和运维交叉的领域时(比如部署和维护一些测试服务器及web应用),掌握python非常有用。

2.要懂点java。Java系的工作机会目前比python多。一点Java都不懂也可以找到好工作,但要是懂的话机会更多。另外你也可能遇到用java做主语言的测试框架,这类框架很多公司都有。如果你所在的公司用java做开发,那么你还可以处理一些测试与开发交叉的领域的问题。另外面试常见问题很多和jvm之类的有关。

二、基本技能:计算机网络

1.对计算机网络的基本了解。比如各层的主要协议。我们测试现在最常接触到的可能是HTTP,TCP,IP。这些应该最高优先级去了解。

2.相应的,抓包工具,如fiddler,wireshark,tcpdump之类的,应该至少要会用。

3.着眼未来,你很可能遇到测试和运维的交叉领域。比如,云计算平台上测试环境的网络规划和环境出问题时的调试。需要了解更多的网络知识和常用命令。

三、基本技能:操作系统

1.还是为了应对测试和运维的交叉领域,要维护自己的测试环境。一定要熟悉linux基本概念和命令。

2.可以写简单shell脚本。复杂的可以交给python。

3.如果你现在或将来打算做移动app测试,那么对应的ios或android系统也要有所了解。

四、基本技能:前端基础

1.为了应对一些测试和开发的交叉领域务必要掌握一点前端的基础。html,css,javascript,bootstrap,jquery。应用于要做一
些web自动化测试脚本的时候。不过即使对于一点web测试都不做的人,这一条的优先级可以放低,但你还是可以开发一些基于web的小工具,或者学了用来美化自己的测试报告。

五、基本技能:需求分析

1.小到你拿到手的每一个任务,大到你所在做的项目的需求。掌握基本的需求分析方法,对任务发布者提出合适的问题、把任务分解、划分优先级。最怕拿到任务什么问题都问不出来的人。

六、基本技能:搜索

1.有很多人遇到问题只会问人。这挺好,但问之前搜索一下就更好了。

七、基本技能:英语

1.不懂英语就缺了一大块资料来源。如果你不在外企工作,不求英语多厉害,至少得看得懂文档和stackoverflow。

  1. 如果要去外企,还要能听说读写。也不求多厉害,老外说话能听懂80%就够了。剩下的靠猜。其实外企并没有真的每个人都听说很流利。至于读写,要求更低了。读不懂可以借助字典。写不出可以套用句式。

八、基本技能:数据库

1.这块是我的短板。可能专职做性能测试的人会更多地遇到这块。还有一些做接口测试的人也会遇到需要对比数据库数据的场景。

九、基本技能:配置管理基础

1.最基本的git要会用。常用命令要熟。其中一些和操作系统、网络基础有交叉。比如git里面免密码登录。还有常见的git流程策略,比如feature branch。
2.老系统可能还在用svn。svn的命令也可以了解下。

十、基本技能:算法基础和设计模式

1.平时用不到,纯粹是为了应对面试的。可以通过背书和刷题来提高。另外特别提示一下,设计模式,在python写的测试框架里最好别用(除非你真的知道你在做什么,很多人只是为了使用一下刚学的设计模式。。。)。我遇到过无数的老测试代码和框架,都因为作者滥用设计模式变得非常难以维护。特别是在python上,很多功能根本不需要设计模式就能很好地实现。我在同一个公司的两个不同部门看到过为了十分类似的两个命令行程序设计的两种python测试框架。其中用了命令模式的那个框架完败(除了作者都不会有人想维护这个东西,我怀疑作者原来是写java的)。


  • 15
    点赞
  • 170
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 测试工程师需要具备以下几项技能: 1. 软件测试方法和技巧:测试工程师需要了解不同的测试方法,如黑盒测试、白盒测试、回归测试等。 2. 编程能力:有些测试工程师需要编写自动化测试脚本,因此需要具备一定的编程技能。 3. 问题诊断能力:测试工程师需要能够识别和定位软件问题,并且能够提供有效的解决方案。 4. 沟通能力:测试工程师需要与开发人员和其他团队成员保持密切合作,以确保软件质量。 5. 学习能力:测试工程师需要不断学习新的测试工具和技术,以确保测试过程的效率和有效性。 6. 记录和报告技能:测试工程师需要能够记录测试过程和结果,并且能够提供有关软件质量的准确报告。 ### 回答2: 测试工程师在软件开发生命周期中起着关键的作用,他们需要具备以下技能: 1. 熟悉软件测试原理和流程:测试工程师需要了解软件测试的基本原理和流程,包括测试计划编制、测试用例设计、测试环境搭建、测试执行、缺陷管理等。他们需要具备完整的测试思维和方法论。 2. 掌握测试工具和自动化测试技术测试工程师需要熟悉测试工具的使用,例如性能测试工具、负载测试工具、代码覆盖率工具等。同时,他们还需要掌握自动化测试技术,能够编写脚本自动执行测试用例,提高测试效率和准确性。 3. 扎实的编程基础和调试能力:测试工程师需要具备扎实的编程基础,能够阅读和理解源代码,编写自己的测试脚本。同时,他们也需要有良好的调试能力,能够快速定位和解决问题。 4. 准确的问题复现和归档能力:测试工程师需要能够准确地复现和归档问题,为开发人员提供清晰的问题描述和关键信息,帮助开发人员尽快修复问题。 5. 良好的沟通和团队合作能力:测试工程师需要与开发人员、产品经理等团队成员密切合作,准确理解需求和功能,及时反馈问题,并与团队共同解决问题。 6. 持续学习和自我提升意识:测试工程师需要保持对新技术测试方法的学习和探索,提升自己的技能水平。他们需要具备学习能力、沉淀总结能力和持续追求卓越的意识。 总之,测试工程师需要具备软件测试的基本理论和技能,熟悉各类测试工具和自动化技术具备编程基础和调试能力,能够准确地复现和归档问题,同时还需要有良好的沟通和团队合作能力以及持续学习和自我提升的意识。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值