做软件测试需要掌握哪些技能?小白一枚......

如题所述

要做一名优秀的测试工程师需要掌握的知识广而多。至少要具备如下几方面的能力:
1、必须掌握测试方面的理论知识。这点很重要,是首要基础。
2、具备编写程序的能力。不会写代码,发现了bug无法找到问题的根源也无法调试。
3、懂得网络方面的基础知识。这个主要是安全测试做准备。
4、必须掌握数据库方面的知识。这个是必须要掌握的。
5、懂一些底层的方面的知识。
6、心要静、细心耐心、责任心。心静不下来无法对bug展开发向思维及拓展想像。
7、测试工具不仅会用而且要精通。功能自动化测试和性能测试必须要掌握一个工具。
8、具备写作能力和表达能力。写作能力主要用于写test case或提交bug ,表达清楚开发人员或执行用例的人一看就懂。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-14
01 软件测试理论
作为一个软件测试人员,总不能不知道软件测试本身的东西吧。
你总要知道软件测试是什么?什么是测试用例?什么是缺陷?软件测试有些什么特点?这些仅仅是理论,还不关心会不会做。
再比如软件测试的定义,软件测试是测试程序?还是测试文档?还是测试软件等?
02 软件测试流程
如果要清楚软件测试流程,那就一定要知道软件工程、软件生命周期、研发模型、测试模型。
模型又有经典的瀑布模型、目前最流行的敏捷开发流程、V模型、W模型、X模型、H模型等,这些模型至少要随便知道三四种吧
除了这些,还需要知道在测试流程每个阶段都要相应地做些什么事吧。
03 测试文档
软件测试是技能型工作,不是研究型工作,了解了软件测试理论之后,你总会要做点东西吧,比如写写文档。
软件测试人员必备技能之一就是写文档,会总结。
软件测试有很多文档要写,比如测试计划、测试方案、测试用例、提交bug单、测试报告,有时每个迭代完全后,老大还会要求你输出几份经验文档出来,可见会写文档的测试人员是多么的必要。
04 计算机基础
软件测试工程师怎么说也算是IT人员,计算机基础总要会吧。
不然让你关个服务,你迷茫……
让你配置个环境变量,你再迷茫……
让你安装软件,卸载个软件,你搞半天,安装的软件全在C盘,卸载软件完全没卸干净,重装不成功,然后你再再迷茫……
让你在DOS命令窗口查个IP,然后再配个静态IP,你再再再迷茫
………………
计算机基础是软件测试人员必备的技能之一。
05 软件、工具
作为一个IT人员,你好意思说自己不会几个软件么?
那我们就一起盘点盘点,软件测试人员必须要会的软件:
office办公软件就不说了,软件测试要写这么多文档,office办公软件一定要会。
需求分析时,拆会测试点时,总要画一下思维导图,所以XMIND或其它思维导图软件总要会一个吧。
配置管理工具,不管是以前的SVN还是现在流行的git总要会一个。
远程连接工具,数据库和服务器基本都是配置机房,所以数据库和服务器的远程连接工具都要会,你总不能跑到机房去操作吧,如果你跑到机房去操作,那一定记得带台显示器去。
碰到不会的,总要查一下度娘和谷叔吧,你不会说这个人人都会,千万别这样!要不然怎么会有相同的问题,别人就能快速找到解决方法,而你搜索出来的网页总是找不到呢?
06 数据库
不管是MySQL,还是Oracle,还是SQLServere,还是DB2等等,数据库的特性、性能和优化可能不用知道,但是SQL语言总要会吧,谁让它们都认识SQL语言呢。
SQL语言又会为DDL、DML、DQL、DCL。
数据定义语言(DDL):
用于下定义和管理数据对象(库,表,索引,视图),包括数据库,数据表等,例如:CREATE DROP ALTER等语句。
数据操作语言(DML):
用于操作数据库对象中包含的数据,例如:INSERT UPDATE DELETE语句。
数据查询语言(DQL):
用于查询数据库对象中包含的数据,能够进行单表查询,连接查询,嵌套查询,以及集合查询等各种复杂不同的数据库查询,并将数据返回到客户机中显示,例如:SELECT语句。
数据控制语言(DCL):
用于管理数据库的语言,包含管理权限及数据更改,例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。
就算软件测试人员不需要关心数据库结构,可以不用DDL、DCL,但是针对数据(增、删、改、查)的DML、DQL语言一定要会吧。
就算你说INSERT、UPDATE、DELETE语句都很简单,照着格式直接使用就行,那SELECT呢。
SELECT语句不仅有简单查询,还有复杂查询。
复杂查询中包含多表查询、连接查询、子查询,以及包含各种函数进行的查询。
这些语句软件测试人员都要掌握吧。
07 LINUX
Linux做为做为服务器的操作系统,软件测试人员需要经常在LINUX上进行搭建测试环境。
如果你说公司的测试环境都是开发搭的,系统和软件是运维装的,不用了解Linux系统。
那你就大错特错了。
如果测试过程中,运行报错了,总需要在后台去看看日志吧,分析下是不是BUG,如果是BUG,总还需要定位一下吧。
如果Linux系统很卡时,你总要去查下进程,查下系统资源管理,或者杀死几个进程,重启下服务什么的。
那这些命令软件测试人员总都要会吧。
如果你说这些还都可以依靠开发和运维,那你就当我没说。
08 编程语言
既然是IT人士,如果出去说自己不会一门编程语言,好像很没面子一样的。
目前世面上编程语言有C、C++、C#、世界上最好的语言(PHP)、JAVA、Perl、Python等等上百种,那你总要选一门语言学会使用。
一般情况下都是选公司系统目前所用的语言。
但如果不知道怎么选,那我建议软件测试人员可以选JAVA和Python,JAVA经久不衰定有它过人之处,Python能在这么短的时间内火起来,也一定是有原因的。
如果没有任何编程基础,建议先学Python,Python更加贴近自然语言,学起来更顺手,更快。
09 行业
软件测试有一条原则是:测试活动依赖于测试内容。
那这个测试内容就是公司业务,在成为业务之前,俗称需求。
经常在JD中看到有支付行业经验优先,有金融行业经验优先,有电信行业经验优先,有电商行业经验优化……
为什么会这样呢?
那是因为测试人员一定需要了解业务,熟悉业务。
从事电信行业的测试人员需要掌握各类协议,比如HTTP协议、TCP/IP协议,还有可能需要熟悉交换机和路由器的原理。
从事金融行业的测试人员需要熟悉各种会计知识。
如果是测试嵌入系统的测试人员还需要了解硬件知识。
软件测试人员需要非常熟悉所测软件的业务,比谁都要熟悉。
第2个回答  2022-03-31

1.软件测试属于IT行业中容易入门的岗位,代码量较少。0基础进入IT行业,完全是ok的,IT行业分好几种有开发,测试,UI,自动化,测开,运维等这些岗位。在这些岗位里面测试相对来说还是比较容易上手学会的。因为开发、运维、自动化这些都对代码的要求挺高,0基础的话对代码认识不是一、两天就可以学好的。

课程内容主要有:

搭建Windows测试环境,JAVA编程,软件测试基础,数据库技术,用户界面技术,高效设计测试用例,阶段项目实训,搭建 Linux 测试环境,白盒测试,WEB技术,高效使用自动测试工具,软件质量保证,流行测试基础,企业级项目实训用例等!

学完可以从事:

功能测试工程师,性能测试工程师,安全测试工程师,白盒测试工程师,自动化测试工程师,接口测试工程师,测试开发工程师等。

3.互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。

想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。

祝你学有所成,望采纳。