软件测试主要学哪些软件啊?
混迹于软件行业15年有余,这么长时间了,一直想写一篇关于软件测试的经验分享的文章,但苦于工作原因迟迟未下笔。最近终于有了些闲余时间,遂决定把自己的心路历程及所感所想记录下来,与各位同行共勉。
以我多年的工作经验来看,软件功能测试是基础,未来发展方向主要有两方面(技术专家、测试管理)。
一、技术专家发展路线有如下三方面,可供参考:
1.从功能测试到性能测试专家:性能测试专家需要掌握一门编程语言、性能测试工具、系统架构、网络、数据库、服务器硬件等知识。性能测试分为前端性能测试(单用户操作系统响应速度),后台性能测试(多用户并发场景)。后台性能测试包括三个阶段:测试(性能测试场景分析设计、脚本编写或者录制、测试执行)、分析(根据性能测试目标分析测试数据,找出性能瓶颈)、解决方案(根据性能瓶颈,给出系统调优解决方案);
2.从功能测试到自动化测试专家:自动化测试专家可以向自动化测试工具、框架开发方向发展,即测试开发工程师。自动化测试工程师需要掌握一门脚本语言(如,Python),掌握一些测试工具(如,webdriver、testng、appium等),web前端知识(html、jquery、css等);
3.从功能测试到安全测试专家:安全测试对测试人员要求更高,要想在这条路上走的更远,建议是从事过开发、或者是对计算机、信息安全非常有兴趣的人去深入研究这方面的技能、知识。普通测试人员只能做比较简单的安全测试,无法深入;
二、测试管理方面发展,需要具备以下知识,仅供参考:
1.对软件测试流程流程、质量管理过程、项目管理要非常熟悉;
2.对功能测试、用例设计、专项测试技术有要了解(即使走上管理岗位也需要这些知识,不然无法服众);
3.良好的沟通能力、人际关系处理能力、有责任心、能抗压;
4.懂得如何管理团队,如何提升团队的能力,如何激发团队成员的工作热情等
三、软件测试工程师必备基础技能汇总
上面我总结了下软件测试的两大块发展方向,下面再来说一下成为一名合格的软件测试工程师需要具备哪些技能?
1、最佳隐形技能
★★开发语言知识背景
对被测试对象使用的语言有一定的了解,这样有助于测试工作的开展
计算机语言都具有一定的共通性,只要你深刻了解了一门语言,其他语言也不是难事
★★★数据库的熟悉使用
能够自行编写大部分的SQL语句来辅助测试(SELECT,DELETE,UPDATE),对于存储过程可也多了解,在无程序辅助的情况下,它是制作数据的最好帮手
主要在日常测试工作中,提取数据库中的数据验以证测试结果的有效性、制作测试数据、批量修改测试数据等
★★★被测试对象业务的熟悉度
对于被测试对象业务流程的了解越多、越深入越有利于测试工作的开展
2、测试理论
★★软件测试的基本概念,及软件测试存在的理由
不需要死记硬背,但能知道软件测试是做什么
★★★★软件测试的整体流程
能详细说出软件工程中完整的软件测试生命周期,及一些软件测试模型(双V,V模型)
★★★软件工程中软件生命周期
软件工程中软件生命周期的主要过程,以及软件测试在生命周期中的阶段及作用
★★★★★测试用例设计的几大基本方法
做到对于件测试中经常使用的测试用例设计方法能脱口而口,同时结合实际工作中的例子进行描述、解释
★★★★★软件测试的几大类型能
根据实际项目,很快地说出某个被测试对象需要测试哪些类型
★★★★★缺陷管理策略
缺陷的完整生命周期,有可能出现的一些其他环节
一个缺陷需要包含的内容,不可重现缺陷、缺陷不被认可等问题出现时的处理策略
★★★★★白盒测试(仅针对白盒测试)
★★★★★对代码有足够的驾驭能力
★★★★★熟悉各种白盒测试用例设计方法,了解各个方法的优劣,根据业务需求熟悉的使用最恰当的方法进行测试用例设计
3、测试工具的使用
★★★★★缺陷管理工具
Jira、Mantis、Bugfree、QC(TD)
JIra、Mantis、Bugfree都为开源软件
缺陷工具的基本使用本身简单,对于未使用过的缺陷工具,也要能快速的上手使用
★★需求管理工具
Rational RequisitePro
Cloudtopo Topo
需求管理工具,一般用于大中型项目的需求管理
★★自动化工具
★★自动化测试基本流程
能清楚的说出自动化测试的基本流程,及自动化工具的基本原理
★★自动化测试工具
QuickTest Pro(QTP) from HP
QTP为目前市场上很成熟的一款产品,以其强大的功能而占有主要的市场份额,但因价格昂贵,不少公司无法接受
SELENIUM、WATIR 开源自动化测试工具
对于QTP昂贵的价格且不开源,开源的自动化工具可谓备受青睐
★★自动化测试脚本设计
说自动化测试,其实主要的重点在测试脚本的设计
设计脚本需要有一定的语言功底,如QTP默认使用的是VBS脚本,如果你对VBS熟悉,那么这款工具你可以算掌握了1/3
★自动化测试框架了解、设计
测试框架就像大厦的基石,后续的扩展、丰富都要以此为基础,自然作为自动化测试的难点
刚接触自动化测试的同学可多了解
★★性能测试工具
LoadRunner(LR) from HP
QA Load、WebRunner
★★性能测试原理及流程
★★性能测试脚本录制、调优
性能测试的重点工作之一录制、调优脚本
需要有一定的语言功底,如LR默认使用的是C语言,有C语言功底的同学学起来自然是有百利而无一害
★★性能测试场景设计
性能测试的又一个重点场景的设计
场景的设计是否正确、合理,直接关系到最后性能测试结果的有效性
★★性能测试结果分析、性能分析(重点)
性能测试中的重中之重,也是性能测试的目的
通过性能测试结果数据,分析被测试对象中存在的问题,对被测试对象做出相应的调优后重新测试,直到被测试对象的性能参数达到要求。
4、计算机知识
★★★★★了解并能使用常见操作系统
Windows系列、Mac系列、Linux系列
★★TCP/IP协议
知道TCP/IP协议的内容,以及对应层的功能
★★★★常用快捷指令的使用
在日常工作中能很快的使用运行中的快捷动作,如notepad,mspaint,ipconfig,regedit等
熟练计算机中各种键盘操作(键盘操作的效率至少是鼠标的3倍)
四、总结
以上就是我的一些经验之谈,对于在软件测试中依然找不到方向的朋友,个人建议如下:
1.对技术有高度热情、喜欢学习新知识的人,选择一个专项测试领域,不断积累,最后走测试专家路线;
2.善于沟通、有想法、思路清晰,内心不甘平庸的人,可以往测试管理方向发展。
发展方向想清楚了,就需要用行动去积累其岗位所需的知识、技能,机会总是留给有准备的人。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有