软件测试⼯程师必备的27个基础技能
混迹于软件测试这么长时间了,⼀直想写⼀篇关于软件测试的经验分享的⽂章,但苦于⼯作原因迟迟未下笔。最近终于有了些闲余时间,遂决定把⾃⼰的⼼路历程及所感所想记录下来,与各位同⾏共勉。
以我多年的⼯作经验来看,软件功能测试是基础,未来发展⽅向主要有两⽅⾯(技术专家、测试管理)。
⼀、技术专家发展路线有如下三⽅⾯,可供参考:
1.从功能测试到性能测试专家:性能测试专家需要掌握⼀门编程语⾔、性能测试⼯具、系统架构、⽹络、数据库、服务器硬件等知识。性能测试分为前端性能测试(单⽤户操作系统响应速度),后台性能测试(多⽤户并发场景)。后台性能测试包括三个阶段:测试(性能测试场景分析设计、脚本编写或者录制、测试执⾏)、分析(根据性能测试⽬标分析测试数据,出性能瓶颈)、解决⽅案(根据性能瓶颈,给出系统调优解决⽅案);
2.从功能测试到⾃动化测试专家:⾃动化测试专家可以向⾃动化测试⼯具、框架开发⽅向发展,即测试开发⼯程师。⾃动化测试⼯程师需要掌握⼀门脚本语⾔(如,Python),掌握⼀些测试⼯具(如,webdriver、testng、appium等),web前端知识(html、jquery、css 等);
3.从功能测试到安全测试专家:安全测试对测试⼈员要求更⾼,要想在这条路上⾛的更远,建议是从事过开发、或者是对计算机、信息安全⾮常有兴趣的⼈去深⼊研究这⽅⾯的技能、知识。普通测试⼈员只能做⽐较简单的安全测试,⽆法深⼊;
⼆、测试管理⽅⾯发展,需要具备以下知识,仅供参考:
1.对软件测试流程流程、质量管理过程、项⽬管理要⾮常熟悉;
2.对功能测试、⽤例设计、专项测试技术有要了解(即使⾛上管理岗位也需要这些知识,不然⽆法服众);
3.良好的沟通能⼒、⼈际关系处理能⼒、有责任⼼、能抗压;
4.懂得如何管理团队,如何提升团队的能⼒,如何激发团队成员的⼯作热情等
三、软件测试⼯程师必备基础技能汇总
上⾯我总结了下软件测试的两⼤块发展⽅向,下⾯再来说⼀下成为⼀名合格的软件测试⼯程师需要具备哪些技能?
1.最佳隐形技能
python基础知识测试
开发语⾔知识背景
对被测试对象使⽤的语⾔有⼀定的了解,这样有助于测试⼯作的开展
计算机语⾔都具有⼀定的共通性,只要你深刻了解了⼀门语⾔,其他语⾔也不是难事
数据库的熟悉使⽤
能够⾃⾏编写⼤部分的SQL语句来辅助测试(SELECT,DELETE,UPDATE),对于存储过程可也多了解,在⽆程序辅助的情况下,它是制作数据的最好帮⼿
主要在⽇常测试⼯作中,提取数据库中的数据验以证测试结果的有效性、制作测试数据、批量修改测试数据等
被测试对象业务的熟悉度
对于被测试对象业务流程的了解越多、越深⼊越有利于测试⼯作的开展orderby是什么功能
2.测试理论
软件测试的基本概念,及软件测试存在的理由
不需要死记硬背,但能知道软件测试是做什么
软件测试的整体流程
能详细说出软件⼯程中完整的软件测试⽣命周期,及⼀些软件测试模型(双V,V模型)
软件⼯程中软件⽣命周期
软件⼯程中软件⽣命周期的主要过程,以及软件测试在⽣命周期中的阶段及作⽤
测试⽤例设计的⼏⼤基本⽅法
做到对于件测试中经常使⽤的测试⽤例设计⽅法能脱⼝⽽⼝,同时结合实际⼯作中的例⼦进⾏描述、解释
软件测试的⼏⼤类型能
根据实际项⽬,很快地说出某个被测试对象需要测试哪些类型
缺陷管理策略
缺陷的完整⽣命周期,有可能出现的⼀些其他环节
⼀个缺陷需要包含的内容,不可重现缺陷、缺陷不被认可等问题出现时的处理策略
⽩盒测试(仅针对⽩盒测试)
对代码有⾜够的驾驭能⼒
熟悉各种⽩盒测试⽤例设计⽅法,了解各个⽅法的优劣,根据业务需求熟悉的使⽤最恰当的⽅法进⾏测试⽤例设计
3.测试⼯具的使⽤
缺陷管理⼯具
Jira、Mantis、Bugfree、QC(TD)
JIra、Mantis、Bugfree都为开源软件
缺陷⼯具的基本使⽤本⾝简单,对于未使⽤过的缺陷⼯具,也要能快速的上⼿使⽤
需求管理⼯具
RationalRequisitePro
CloudtopoTopo
需求管理⼯具,⼀般⽤于⼤中型项⽬的需求管理
⾃动化⼯具
⾃动化测试基本流程
能清楚的说出⾃动化测试的基本流程,及⾃动化⼯具的基本原理
⾃动化测试⼯具
下载android studioQuickTestPro(QTP)fromHP
jfreechart 极坐标设置线条颜QTP为⽬前市场上很成熟的⼀款产品,以其强⼤的功能⽽占有主要的市场份额,但因价格昂贵,不少公司⽆法接受SELENIUM、WATIR开源⾃动化测试⼯具
对于QTP昂贵的价格且不开源,开源的⾃动化⼯具可谓备受青睐
⾃动化测试脚本设计
说⾃动化测试,其实主要的重点在测试脚本的设计
设计脚本需要有⼀定的语⾔功底,如QTP默认使⽤的是VBS脚本,如果你对VBS熟悉,那么这款⼯具你可以算掌握了1/3⾃动化测试框架了解、设计
测试框架就像⼤厦的基⽯,后续的扩展、丰富都要以此为基础,⾃然作为⾃动化测试的难点
刚接触⾃动化测试的同学可多了解
性能测试⼯具
LoadRunner(LR)fromHP
QALoad、WebRunner
性能测试原理及流程
性能测试脚本录制、调优
性能测试的重点⼯作之⼀录制、调优脚本
需要有⼀定的语⾔功底,如LR默认使⽤的是C语⾔,有C语⾔功底的同学学起来⾃然是有百利⽽⽆⼀害
性能测试场景设计
性能测试的⼜⼀个重点场景的设计
场景的设计是否正确、合理,直接关系到最后性能测试结果的有效性
性能测试结果分析、性能分析(重点)
性能测试中的重中之重,也是性能测试的⽬的
通过性能测试结果数据,分析被测试对象中存在的问题,对被测试对象做出相应的调优后重新测试,直到被测试对象的性能参数达到要求。
4.计算机知识
了解并能使⽤常见操作系统
Windows系列、Mac系列、Linux系列
TCP/IP协议
知道TCP/IP协议的内容,以及对应层的功能
hasownproperty的作用
常⽤快捷指令的使⽤
在⽇常⼯作中能很快的使⽤运⾏中的快捷动作,如notepad,mspaint,ipconfig,regedit等
熟练计算机中各种键盘操作(键盘操作的效率⾄少是⿏标的3倍)
四、总结型钢梁与型钢柱图集
以上就是我的⼀些经验之谈,对于在软件测试中依然不到⽅向的朋友,个⼈建议如下:
1.对技术有⾼度热情、喜欢学习新知识的⼈,选择⼀个专项测试领域,不断积累,最后⾛测试专家路线;
2.善于沟通、有想法、思路清晰,内⼼不⽢平庸的⼈,可以往测试管理⽅向发展。
发展⽅向想清楚了,就需要⽤⾏动去积累其岗位所需的知识、技能,机会总是留给有准备的⼈。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。