怎样开始入门学习软件测试
2023-07-11 广告
风景
生命就是在不断的学习
65 人赞同了该回答
如今测试行业是国内新兴起的一个行业,但是,这个行业已经在国内存在有好多年了,只不过是现在越来越多的公司都想提高自身产品的质量,才有测试行业大幅兴起的景象。我是从事了3年多的测试工作,也带过很多新人,总结下来学习软件测试要先看几个方面你能达到多高的指标。
第一:你的基础
1)电脑操作和主流软件使用的基本能力;
2)对编程语言是否接触过,是什么程度;
3)软件测试的理论知识;
4)学习能力;
5)解决问题的能力;
其实在工作当中远不止这些,你还要有优秀的沟通和协调能力,有很多时候需要与其他部门的同事和领导确认各种信息,一遍又一遍的确认,这里有很多情况需要处理。
在此,我还想给几点建议:
1、如果你的自学能力较弱,就找个培训机构学习,我们公司比较喜欢用培训机构出来的人。
2、如果你自学能力强就找些专业教材,结合网上的资料来学习,尤其是www.besttest.cn软件测试自学与分享平台的资料很全,还有QQ群交流可以相互提升学习的动力。但是需要你有坚持的毅力。
3、测试分为几个方向除功能测试外,还有性能测试、手机测试、安全测试、自动化测试等几大方向,选择一个离你最近的,但是基本都要先学会功能测试才能拓展其他的方向。
4、如果有开发功底或至少一门开发语言的功底如JAVA,C,VB,PHP都可以帮你在测试行业有更高的发展,获得更好的收入。
发布于 2013-12-09
笑笑爱笑smile
银行业务方向
27 人赞同了该回答
2015年股市很火爆,互联网金融揭竿而起,软件测试与开发也受到众多想跨行业工作者的喜爱,众所周知,软件行业工资高于平均薪资水平。最近有朋友和网友向我咨询软件测试的事情,大意是:小白如何入门软件测试行业,且听我说。
我从事软件测试行业整整5年,先说点我的测试经历,让大家对软件测试有些认识,其次说说小白如何跨行从事软件测试,最后推荐些软件测试方面的书。
NO.1我的软件测试经验
作为一枚女汉子,大学学计算机科学与技术专业也是十分痛苦的,刚入学就学习C++,老师口中各种鸟语,听不懂啊毕业找工作肿么办,就这么糊里糊涂的学了3年的计算机语言c++、java、c#、oracle数据库、linux操作系统,时刻担心毕业=失业。
害怕大四找不到工作,我在大三暑假就开始准备实习,留意教务处发布的各公司实习岗位;刚好A公司来校宣传找实习生,A公司主要做银行系统,招测试与开发,听说测试门槛低,逻辑思维有条理、能看懂代码就可以。第二天直接去参观公司并且报名考试(2011年各种城镇银行成立,公司大量缺人手,招聘了大量物美价廉的学生),下午公司打电话说我通过了,明天开始实习培训。
由于态度积极主动(面试人员之后说的),实习了几天就进入了项目组实习--银行系统;从实习到转正一路走来累啊,学校学习的只是很基础的知识,工作中远远不够。
城镇银行--麻雀虽小五脏俱全,学习了业务:存款、贷款、卡、大小额支付、票据、中间业务、网银、信用卡等;工作中需要搞配置库svn、缺陷管理工具qc、部署版本、操作数据库、linux系统命令、重现生产bug等。
当时这个公司开发人员很忙,测试人员测试出bug,首先得自己对照需求,看日志定位,然后找开发解决。非常感谢当时的师傅领我入门。
别人的大四在宿舍睡觉、看电视剧、打游戏,而我每天7点起床倒2趟公交车去实习,现在想想当时真的很拼,每天累的焦头烂额,一脸痘,但是很值。
由于在这个公司学到很多技能,2013年通过了北京一家大行的面试(大行--人员外包),区别与项目外包,一会给大家解释)。大行工作内容如下:
评审文档:大行文档超级多很细,比如:需求说明文档、设计说明书、组建设计说明书、动不动就上千页。刚开始评审各种文档,其实就是找某些功能描述模糊不清或多种描述的,然后整理成excel和需求人员确认。
web界面测试:类似与银行的网银系统,点击系统,如有报错直接丢给开发,测试人员只需要描述错误即可。看不到数据库、看不到后台、看不到报错日志,每天汇总案例执行个数和bug测试情况,天天整理一堆excel文档,时间久了会感觉自己像机器人,没有激情。
很多时候在大行恨不得一份工作5个人来干,每天很闲,姐姐还很年轻好不好,需要工作带来的成就感,想看代码、想了解单元测试、性能测试、linux、数据库,身边的同事各种跳槽(人员外包没出息啊,随时换工作地点、不让玩手机、不让干这不让干那、跳槽加薪啊)憋屈,姐下决心辞职不干了---ByeBye‘A’公司。
2014年5月换到了B公司,项目外包--理财系统,公司有自己的产品(理财、基金、支付、P2P)项目经理很nice、主管也很nice;理财之前没有一点基础,从头学起(和比我早到1月的实施美女共同学习,成长蛮快的),也和业务人员经常打交道,学到很多。
第一次用loadrunner做性能测试加班到凌晨2点,这是平身第一次啊,实体环境中调通了脚本并且跑起来了,明白了性能测试场景设计、TPS、通过事务数、最大并发用户数等,了解了性能瓶颈如:查询耗时、实时写日志、缺少索引、硬盘等;最近在配合各个渠道做测试,理财处于中间系统,接一堆外围渠道,宝宝心里苦。
我的测试经历讲完了,想必大家已经了解了从事软件测试需要的一些基本技能。
NO.2软件测试人员的工作地点
以我现在的公司为例,公司分为产品部、实施部、测试部等;
产品部人员一般在自己家公司工作,有时候会出差到现场去解决问题,自己家公司环境好、自由,公司有微波炉、下午茶、水果等。
实施部人员一般在客户现场做实施(公司把理财产品卖给客户,需要实施维护),现场工作的宗旨是:客户虐我千百遍,我待客户如初恋。客户会不定期有个性需求,实施人员维护。环境一般般,在现场就会有银行的人管着。
测试部:有的在公司做产品测试、有的在客户现场做测试,比如我在客户现场,科技部人都还不错,相处蛮愉快的。
软件测试工作性质分3种:
1、找个非外包公司,公司自己给自己做项目,比如链家app等,人员很和谐,在自己家公司做项目很幸福。
2、进入大点的公司,做项目外包,项目外包对测试人员较严格,功能测试、性能测试都得会,人员比例:10个开发1个测试。
3、刚培训完人员外包,有些公司专卖人员,某些银行给价2.5万每人月,公司横竖都是赚。缺点:人员管理松散,找不到组织。
NO.3软件测试入门
如果你身处北上深,想跨行做软件测试,前途还是很光明的,这些城市需求多,提升很快,尤其是越来越多的创业公司,找工作不难。
如果你身处某些二线城市,尤其是平均工资较低的情况,不建议转行做软件测试,大家转行是为了挣钱,除非你学习后想去北上深发展或是特别爱好。
1、如果你的亲人在做软件测试,这是个特别好的资源,买本软件测试的书籍,让他教你;他个人电脑里会有他公司的资料需求、设计文档、测试案例、被测系统、数据库等,利用周末时间在家教,先看需求了解业务--找出测试点-写案例,然后自己跑系统。之后教数据库的增删改查语句以及一些简单的linux操作命令。
我同事利用周末时间已经把他弟弟、他女朋友都培训成了软件测试人员,现在工资相当不菲。
2、培训班
众所周知,培训班费用很高,如果你学过c语言,了解软件开发与测试流程,就自己买本书多看,网上关于软件测试的资源很多,多看,多投简历,必定会找到份工作。
如果你是其他专业毕业,对计算机软件一点都不了解,那就可以考虑报培训班学习,至于报哪个班,大家上网自行搜索,最好去知乎找答案,满满的都是干货。
3、工作态度:
跨行业进入软件测试,隔行如隔山,想必大家都会珍惜这份来之不易的工作,首先端正态度入职新人都会有老员工带着,一般公司都有配置库,里面有各种文档,测试案例、测试bug文档等;
多看测试文档、你的师傅加班时你就在旁边看着帮助他干点零碎活,很快熟络之后工作中遇到问题也会积极帮助你,不懂就要问,多问多思考,最好和他要套测试环境,自己跑案例,遇到问题多记录。微软的OneNote很好用,记录问题可以分各个页签。
NO.4测试流程
1、需求分析
需求分析是软件工程中的一个关键过程,只有吃透需求,后续工作才能得以开展。每次有新需求要求参与讨论,否则后期测试各种疑问(测试人员和开发人员思考问题角度不同),讨论时记录关键点,整理在OneNote里,以便日后查看。
2、写测试案例
如:地铁里的自动贩卖机,提炼测试点,然后写测试案例;
有效的等价类有:
金额正好,顺利出货
金额超出,找零出货
金额不足,提示,并吐出货币
金额足够,取消交易
假币,吐出
无效等价类:
放入金额,不出货,不找零
放入金额,不出货,退钱
金额超出,出货,不找零
金额超出,不出货,找零
金额不足,出货,找零
金额不足,出货,不找零
金额不足,不出货,不退钱
金额正好,不出货,退钱
金额正好,出货,找零
金额正好,不出货,找零
不投金额,直接出货
测试案例设计有很多种方法,大家可以看书学习。
3、执行测试案例
把2的测试点,完全形成文档,在测试环境执行每条案例。
4、测试bug追踪
测试过程中难免会出现bug,如果有bug先自己对照着需求自查,看日志,确认无误,找开发人员看代码,记录测出的bug,实时更新bug状态;
5、写测试报告
主要写测试背景、测试目标、测试案例覆盖率、测试周期、测试bug修复率等。
NO.5测试书籍
《软件测试 原书第二版》老外写的,佩螣译,机械工业出版社 ,实习时培训老师介绍的,众多测试书中最好的一本入门书,此书浅显易懂,很全面的讲解 ,适合软件测试入门的同学学习,我也会经常翻阅。
《软件性能测试过程详解与案例剖析(第2版)》段念,清华大学出版社,想学性能测试,然后百度搜索的答案,买了这本书,真的很不错;银行业务数据量大所以需要压力,第一次做看的这本书,加班到凌晨2点,终于成功了,内容丰富,有大量的案例供大家参考,每次做性能测试,都会看,每次都有不同的收获。
《Google软件测试之道》老外写的,人民邮电出版社,未来是软件测试开发工程师(SET)的天下,抓紧时间学点开发知识。
《探索式软件测试》老外写的,清华大学出版社,如果你抱着未来手工测试人员会消失,不妨看看这本探索式测试。
题外:虽然软件测试人员有时会被开发人员鄙视,但是没有测试过的程序他敢上生产?bug一堆一堆的,做测试很好,未来测试会越来越被重视的!!!欢迎大家围观
2020-10-26 · 百度认证:西安菁英教育科技官方账号
初级阶段
初级阶段需要掌握四个方面的内容:
一、软件测试的基础知识,编写测试用例的方法及测试流程
二、掌握禅道、SVN等必要工具,及缺陷定义和测试计划编写方法
三、web测试与app测试的方式方法与协议
四、接口测试postman工具的操作使用,前端基础知识H5及CSS
中级阶段
中级阶段需要掌握六个方面的内容,从中级开始就是涉及到一些工具的使用
一、QTP自动化工具的环境搭建
二、loadrunner性能工具的环境搭建
三、jmeter性能工具的环境搭建及接口压力测试
四、jmeter脚本增强,app/web性能测试
五、fiddler抓包工具的操作使用、Jenkins自动化部署工具
六、数据库MySQL、SQL语句
高级阶段
高级阶段逆序哟啊具备一些分析和洞察力,如下:
一、业务分析能力
1.分析整体业务流程
不了解整个公司的业务,根本就没办法进行测试
2.分析被测业务数据
了解整个业务里面所需的数据有哪些?哪些是需要用户提供的?哪些是自己提供的?有哪些可以是假数据?有哪些必须是真数据?添加数据的时候可以用哪个库?
明白了整个软件的数据库架构,才能知道哪一个数据是从哪一个表里头带出来的,它的逻辑是什么,有没有连带关系。
3.分析被测系统架构
用什么语言开发的?用的是什么服务器?测试它的话需要用什么样的环境进行测试?整体的测试环境是什么样的?
如果缺少了,需要进行环境搭建,架构搭建。一般去一家新公司之后,架构是搭建好的,了解它即可,熟悉之前的这些老员工们使用什么样的架构发表去做的。
4.分析被测业务模块
整个软件有哪些模块,比如说首页面、注册页面、登录页面、会员页面、商品详情页面、优惠券页面等等
明白有多少个模块需要测试,每个模块之间的连带关系,进而怎样进行人员分工
5.分析测试所需资源
我需要几台计算机,需要几部手机,手机需要什么样的系统,什么样的型号。
比如测一个网站的性能的时候,电脑的配置达不到测试并发5000人的标准,要么升级电脑的硬件配置,要么多机联合,多机联合时需要几台电脑,都需要提前筹划。
6.分析测试完成目标
我的性能目标是什么样的?我的功能目标是什么样的?我要上线达到的上线标准是什么样的?性能目标,比如我要达到并发5000人的时候,CPU占用率不能高于70%,内存占用率不能高于60%,响应时间不能超过5秒功能目标,比如整体的业务流程都跑通,所有的分支流程都没有问题,所有的接口都能够互相调用,整体的UI界面没有问题,兼容性没有问题等
把这些问题都弄清楚,测试的思路会非常的清晰
一.对知识的培训
软件测试工作来说,所需专业知识可分为基础工作知识和专门工作知识两类。基础工作知识包括软件测试的基本技术和方法、软件测试的文档规范等在专业内通用的知识,学习的成果也比较容易客观衡量。
二.对技能的培训
技能对于软件测试来说十分重要,也很复杂。对于原来具有业务背景和软件开发、维护背景的人员来说,在软件测试工作中,肯定会优先使用已经掌握的技能,这样能够使得测试工作比较快地上手。了解业务、了解技术实际上是对被测对象不同角度的了解,是软件测试技能的重要组成部分,只有结合了专业的软件测试技能,才能够实现全面、协调、可持续的软件测试效果。仅仅从技术和业务角度进行测试,则往往在测试的效率和回归测试等等方面难以达到软件测试发展的要求。
举个例子:接口测试工具jmeter/postman等等,先通过工具了解接口测试流程以及方法,再结合自己的业务,发现当前测试工具解决不了的问题。后期再结合业务开发平台,不断思考和实践。
三.具备总结能力
作为一名软件测试的工作者,总结能力非常重要,在日常工作中我们会踩各种各样的坑,将这些遇到的问题总结汇总形成经验并分享给他人,在竞争中也能够更加突出,在之后的工作中可以时不时翻出来看看,每次都会有不一样的收获。
想要做好软件测试,就要从细节方面做起,毕竟细节决定成败。全方面提高自己的能力,才是能够在这个行业站稳脚跟的关键。
第 一阶段 软件测试环境配置与管理
主流测试环境搭建配置管理,测试工程师的基本功之一
Windows测试环境配置管理
1、操作系统基础
2、网络体系结构
3、网络协 议与配置
4、SVN配置管理
5、Windows Server环境搭建
Linux测试环境配置管理
1、Linux基础
2、Linux命令
3、Linux环境搭建
4、Linux网络配置
5、Vi编辑器
6、Linux软件包管理
7、Linux Shell
8、Linux内核配置
前导阶段课程,使学生获得软件测试基础环境搭建、配置、管理的能力
第二阶段 数据库测试技术
互联网行业与金融行业的主流数据库技术讲解,同时免费获得MS Sqlserver数据库学习视频
Mysql数据库技术
1、MySQL数据库介绍
2、MySQL命令行客户端
3、MySQL图形化客户端
4、DDL
5、DML、DQL
5、多表联合查询与子查询
6、排序、聚合和分组
Oracle数据库技术
1、Oracle数据库介绍
2、服务器与客户端配置
3、PL/SQL应用
4、DML与DDL语句
5、索引和约束
6、事物和锁
经过学习获得在常见数据库中操作数据的能力,具备测试数据建造与数据库测试的必备能力
第三阶段 应用程序测试技术
全栈软件测试技术学习阶段,掌握软件测试的流程、原则与方法论
应用程序通用测试技术
1、软件测试基本概念与意义
2、软件测试过程模型
3、常用软件测试方法
4、软件测试生命周期与流程
5、软件测试计划方案编写
6、软件测试需求分析与跟踪
7、软件测试用例设计方法
8、黑盒测试用例设计方法
9、白盒测试用例设计方法
10、缺陷识别与缺陷跟踪系统
应用程序全栈测试技术
1、WEB测试方法
2、易用性测试方法
3、安全测试技术
4、金融行业软件测试
5、通信行业软件测试
6、测试评审
7、测试总结
8、软件质量管理
此阶段经由学习,掌握各种常用软件的通用测试技术与测试方法,具备从事手工测试工程师的从业资格
第四阶段 测试编程技术
面向对象开发语言Java,为后面的自动化测试与性能测试学习建立基础,并同时免费获得C++学习视频
JAVA开发技术
1、初识JAVA语言
2、表达式与数据类型
3、语句结构与数组
3、类与对象
4、构造方法的定义与调用
5、this、static属性、方法
6、抽象类、接口与多态
7、final修饰符、方法
8、JAVA中的包机制
在此阶段经由学习,学生掌握基础的软件开发过程与技术,了解软件开发工具,具备自动化测试的基础能力
第五阶段 测试进阶技术
各种主流测试工具的学习与掌握,为面试高薪测试岗位做好准备
性能测试技术
1、性能测试基础
2、初识HP LoadRunner
3、HP LoadRunner脚本录制与调试
4、HP LoadRunner场景设计与监控
5、HP LoadRunner测试结果分析与调优
6、Jmeter工具介绍
7、Jmeter脚本录制与调优
8、Jmeter性能测试实战
9、Jmeter测试结果分析
自动化测试技术
1、自动化测试基础
2、自动化测试框架构建
3、HP UFT工具介绍
4、HP UFT脚本开发与增强
5、VBScript语言
6、HP UFT测试对象集合
7、Selenium工具介绍
8、Selenium IDE详解
9、Selenium脚本开发
10、Selenium测试实战
经由在此阶段的学习与掌握,使学生具备在专题测试方面的技术能力,为面试高薪职位做好准备
第六阶段 移动端测试技术
学习移动端测试技术,提升测试技能,挑战高端测试技术岗位
移动端测试技术
1、Android开发概述
2、Android测试环境搭建与配置
3、常用UI布局介绍
4、常用控件介绍
5、初识HTML5
6、HTML5常用标签与实现
7、CSS3基础
8、Robotium工具使用
接口测试技术
1、Python语言基础
2、Python基本操作
3、Python数据结构
4、Python函数详解
5、Python类与对象
6、接口测试方法
7、接口测试实战
经过在本阶段的学习,掌握移动端测试的各项技术。为挑战高薪职位做好准备