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