请选择行业
请选择职位
请选择省份
请选择城市

软件测试学习路线面试攻略(1)

时间: 2022-12-23 16:41   作者: xiaopo   点击次数: 
 
  自身技能积累篇
  入行软件测试的路有很多,诉求也是因人而已,你可以选择自学、培训入行,但按照全栈软件测试的要求准备,可以适用不同行业要求。
  1、学习方式
  培训方式入行,其实是最实惠、花费时间最少、有效的一种方式。
  如果你不能脱产培训学习,可以边上班边学习,充分利用好晚上、周末时间进行学习,充分利用网络资源,在技能积累足够的时候,选择跳槽即可。
  2、常见的测试工具
  测试工具永远是软件测试人员的得力助手,不能完全依赖工具,但也不能没有工具,在学习软件过程中,要著中软件测试工具的使用,下图覆盖初、中级软件测试工程师所需具备的测试工具,要想学好,下手学习吧。
  混在软件测试职业圈,工具千千万,不可能每个都会用,至少要知道有哪些工具可用,什么时候该用什么工具,每个工具能解决什么问题,然后再深入应用几款工具即可,下面就带大家总结一下。
  · 测试管理工具
  禅道:简单好用,市场主流,互联网行业居多
  Jira:简单好用
  QC/ALM:复杂,收费,电信/金融行业使用较多
  bugzilla:功能简单
  svn:代码和文档管理工具
  git:但是多分支管理比svn好
  · 接口测试工具
  Jmeter(开源)
  postman
  SoapUI
  推荐使用jmeter和postman。
  · 性能测试工具
  loadrunner:大而全,要学精通还是有点难度,重量级工具,过去和现在都是行业老大
  jmeter:基于java平台的性能开源测试工具,其实也很强大,而且比较好用
  Locust:基于python的一个性能测试工具
  · 白盒测试工具
  junit/testng:java下的单元测试框架
  unittest/pytest:python下的单元测试框架
  cppunit:跨平台的c++单元测试框架
  PhpUnit:Php语言下的单元测试框架
  TestBed:一个重量级的白盒测试软件,可以进行单元测试、集成测试、静态测试,军工行业常用
  Klockword:静态测试工具,军工行业常用
  · 持续集成工具
  Jenkins:比较常见的一种CI工具
  Hudson
  · 网络测试工具
  以HTTP/HTTPs协议为主,网络测试工具有:
  wireshark
  fiddler
  charles
  · app自动化工具
  appium:这个应该算是目前最流行的基于app的自动化测试框架了
  uiautomator:安卓自动化测试框架,基本上支持安卓的所有事件操作
  Monkey:安卓自带的测试工具
  MonkeyRunner:Monkey改进版,支持自己编写脚本测试,用Python语言
  Robotium:一款国外的Android自动化测试框架,用法比较
  · web安全测试工具
  appscan:算是用的非常多的一款工具了,扫描后能够将绝大部分的漏洞找出来
  fiddler:网络抓包工具
  burpsuite:暴力破解、抓包工具
  skipfish:这是一个轻量级的安全测试工具,处理速度很快,每秒可处理2000个请求。
  3、全栈软件测试技能要求
  先来看下软件测试工程师的技术进阶路线吧,从测试工程师入门,可以经历功能测试、自动化测试(app、web、接口)、单元测试,最后可以定位测试开发工程师发展。
  不要再道听途说,软件测试是一个点点点的行业了,那已经是老黄历了,如果仅仅是点点点,是没有任何竞争力的,给自己定个长远点的目标,勇敢的跨出一步吧。
  (1)通用软件测试技术及理论
  测试基础理论是我们迈入软件测试行业的基础,不少人会以为这些是无用的,作为十年的测试老兵负责人的告诉你,这些东西决定着你对软件测试理解的深度,决定着你将来能走多远。这些也是各种中高端软件测试技术、新技术的基础。
  · 软件测试常见概念
  · 软件测试的分类
  · 基于软件生命周期的测试
  · 软件测试流程
  · 黑盒测试方法
  · 测试用例设计
  · 测试用例执行及缺陷报告
  · 测试报告
  (2)测试环境配置
  测试环境配置、搭建也是一个测试工程师必备的技能,这就要求你要对Liunx系统、mysql数据库、docker等有一定的了解,至少这些知识可以作为测试的辅助,而不是包袱,也是你从测试工程师向测试开发工程师迈进的的基础。
  · Mysql数据库
  · Linux系统基础
  · shell基础
  · Redis数据库
  · 虚拟机测试环境管理
  · LAMP环境搭建
  · 云服务器搭建
  · docker环境搭建
  · k8s环境搭建
  (3)掌握至少两门脚本语言
  测试工程师还是要区别于开发的,开发可以在一个语言上纵向发展,但是作为测试工程师,就要要求掌握多种语言,以应付不同的项目、不同的团队要求。建议大家以python为首,java语言为辅学习,查看各大招聘网站,基本上也是以这两种语言为主的。
  · python基础语法(主攻python栈自动化测试技术)
  · java基础语法
  · html基础
  · js基础语法
  · svn
  · git/github
  (4)UI自动化测试(web、app、小程序)
  我们以python栈为主线,梳理自动化测试需要掌握的技术点,我们自动化又可以分为web端自动化技术、app端自动化测试技术及接口自动化测试技术。
  UI端的自动化测试技术在经过前面几年的发展及验证,存在着很多自身的不足、性价比低的特点,企业需求也在逐渐减少。
  · python基础
  · selenium
  · appium
  · requests
  · airtest
  · unittest
  · pytest
  · ddt
  · xlrd
  · pymysql
  · json
  · HTMLTestRunner
  · BeautifulReport
  · jenkins
  · git/github/svn
  (5)接口测试(短期内需求猛增的技术)
  接口测试是一种目前较为流行的测试方向,名字看起来特别的高大上,但是技术实现非常简单,通俗点就是把浏览器做的事情(打包请求),我们自己手动来打包,并完成发送,通常市面上的主流的测试工具都可以实现打包的要求。
  · 接口及接口测试的概念
  · HTTP请求报文
  · HTTP响应报文
  · TCP连接的三次握手、四次挥手
  · 接口测试文档的编写和分析
  · Fiddler/charles抓包
  · postman(商用工具,很好用)
  · jmeter(强大,接口、压力通吃)
  · requests(接口自动化,可以采用python+requests+pytest+ddt+git框架实现)
  (6)性能测试技术
  作为非功能性测试的技术,算是软件测试的半壁江山,前几年的辉煌,也在云服务慢慢被中小型企业接纳的今天,逐渐没落。
  但是作为性能测试工具老大哥的Loadrunner,还是那个老大,但也终显老态。
  jmeter市场份额也在逐渐增加,慢慢赶超Loadrunner。
  Locast作为后起之秀,背靠Python脚本语言,借助requests模块组织脚本,可能更容易看清性能测试的本质。
  (7)持续集成
  随着软件系统越来越复杂,软件测试越来越繁琐,传统的软件集成模式也不再适应。
  ·开发人员提交代码至svn
  · 测试人员检出源码
  · 编译打包
  · 上传服务器
  · 部署启动
  · 开发测试脚本
  · 完成测试
  针对这种情况,持续集成被引入到测试工作中,协助测试人员进行自动化部署、启动、测试,常用到的工具有,jenkins、docker、git/svn。

打印本页 | 加入收藏

上一篇:2022年终总结:谈谈我做测试开发的这些     下一篇:软件测试学习路线面试攻略(2)

关闭  
主要城市: 北京 上海 杭州 广州 南京 武汉 长沙
全部城市: