青岛软件测试培训班
青岛软件测试培训班
- 上课时段:详见详情
- 教学点:1个
- 开班时间:滚动开班
- 课程价格:请咨询
- 已关注:748
- 优惠价格:请咨询
- 咨询电话: 400-008-6280
找出软件Bug,提高软件质量,无论什么年代,任何软件系统都不可能永远没有缺陷,所以软件系统在上线之前都会进行测试工作。
软件测试行业发展好,人才需求大
软件测试入门容易、工作轻松,有前途更有“钱”途(历年平均薪资数据来自职友集)
只需四个理由说明 选择优就业多么正确
EXPERIENCE | CITIES | CAMPUSES | STUDENTS |
20年 IT教育经验 | 319 覆盖地市 | 1669家 学习中心 | 培养449万 学员 |
零基础?想深造?想转行?软件测试很合适
计算机类专业,但不愿做编程/专业基础比较薄弱的人;非计算机类专业但是对软件测试感兴趣的人。都可以选择软件测试。 | 软件测试课程没有门槛,0基础人员也可以学习,细心、耐心就可以。 | 主要是提升和更新自己的技术。在功能测试基础上+自动化测试(用代码测代码)、接口测试、专业的测试工具等,可以监测数据,深入了解原理。 | 软件测试课程没有高门槛。没有基础,餐饮、汽修专业等都可以尝试。转入软件测试行业,可以拿IT行业的薪水! | 软件测试兼容性很强,可以结合自己的专业,根据自身特点,掌握软件测试之后加以运用,更上一层楼! |
第一阶段 测试基础 | 主要学习内容: 计算机基础,软件测试核心理论,全链路黑盒测试方法,Linux操作系统,数据库,Docker,项目实训 可以解决的现实问题 掌握软件测试核心理论,掌握通用黑盒测试方法,体验企业真实的工作环境和测试流程 掌握Linux基础命令和高级命令,包括用户管理,权限管理等,能够搭建基于Linux系统的测试服务器 掌握主流关系型数据库和非关系型数据库,掌握数据的增删改查等操作,能够独立完成企业级项目的数据库环境搭建和配置 项目实训 企业级大型电商项目-IWebShop环境部署 |
第二阶段 Python编程 | 主要学习内容: Python基础包括Python解释器的下载和安装,Python环境变量配置,Python编码格式等 Python中的变量,标识符,关键字,数据类型,运算符 Python流程控制语句 字符串包括字符串切片,字符串函数,字符串的拆分,Format函数的使用 Python容器包括列表,元组,字典 函数包括函数调用,函数各类参数 模块包括模块导入原理,Time模块,Random模块,包的导入 面向对象包括面向对象原理,面向对象特征:封装、继承、多态 文件操作包括读写操作,文件编码格式 异常包括捕获和抛出异常 可以解决的现实问题 掌握Python基本语法,熟悉常用的Python库,掌握Python函数的封装和调用,掌握Python文件的操作和异常的处理,掌握面向对象的概念和特征,奠定良好的自动化脚本编写基础 项目实训 自动抽奖程序 ,自动生成验证码程序,猜拳游戏 |
第三阶段 Web端测试 | 主要学习内容: Web端功能测试,项目实训,Web端自动化测试,项目实训 可以解决的现实问题 完成企业级项目的功能测试,从需求分析,编写测试计划,编写测试用例,用例评审,交叉测试,提交缺陷,分析缺陷产生原因,编写测试报告等,全面掌握Web端功能测试全流程 熟练掌握自动化测试工具Selenium,并实现基于测试框架的Web自动化测试,能够搭建自动化测试环境,独立编写自动化测试脚本,掌握真实业务场景下的自动化脚本设计方法 项目实训 企业级大型电商项目-IWebShop功能和自动化测试 |
第四阶段 移动端测试 | 主要学习内容: 移动端功能测试,项目实训,移动端自动化测试,项目实训 可以解决的现实问题 熟练掌握移动端专项测试的测试方法,实现移动端App功能测试,掌握移动端小程序环境部署及测试方法,体验企业级移动端完整测试流程 熟练掌握自动化测试工具Appium在移动端自动化测试中的应用,能够搭建自动化测试环境,独立编写自动化测试脚本,熟练掌握真实业务场景下的自动化脚本设计方法 项目实训 移动自习室功能和自动化测试,小U商城小程序测试,百度地图、高德地图、抖音、快手等App稳定性测试 |
第五阶段 服务端测试 | 主要学习内容: 服务端核心测试理论,服务端测试工具Jmeter,服务端抓包工具Fiddler,服务端自动化测试框架Python+Requests+Pytest+Allure,持续集成工具Jenkins,服务端安全测试,项目实训 可以解决的现实问题 理解接口的概念和作用,掌握接口测试必备基础知识,理解HTTP协议接口工作原理,对接口测试形成直观认识 能够搭建测试工具Jmeter的应用环境,熟练掌握使用Jmeter进行服务端测试 在服务端测试中熟练应用Jmeter的参数化方式、关联方式提升测试效率 熟练使用Jmeter的断言方法及报告生成,独立完成真实业务场景下的服务端接口测试 熟练使用Fiddler对服务端业务数据进行抓包分析,掌握对接口数据进行拦截与分析的方法,实现对服务端的弱网测试 熟练应用Requests库编写服务端自动化测试代码应用Pytest框架组织接口测试用例,熟练使用DDT框架进行参数化处理,能够在企业级的服务端测试中,对服务端自动化测试的框架进行搭建与设计,并独立完成服务端的自动化测试 项目实训 国内某知名高校学生MIS系统接口项目实战,电商易果生鲜项目服务端测试 |
第六阶段 性能测试 | 主要学习内容: 服务器端性能测试,项目实训,手机端性能测试,项目实训 可以解决的现实问题 掌握性能测试计划和用例的编写,熟悉Loadrunner和Jmeter的使用,能收集测试数据,进行结果文件的分析,查找系统性能瓶颈,全流程的掌握性能测试 熟练掌握Perfdog工具在移动端性能测试中的应用,能监控和分析数据,发现性能瓶颈 项目实训 飞机订票系统、稿件管理系统性能测试、移动自习室、高德地图、抖音、快手、美团、支付宝、微信等App性能测试 |
第七阶段 就业指导 | 主要学习内容: 简历制作,项目指导,面试指导,对学员进行简历指导及多轮模拟面试,企业双选会,企业内推,就业推荐,就业跟踪 可以解决的现实问题 掌握简历制作方法,提升学员沟通表达能力,让学员明晰职业发展规划,结合自身特点,应用面试技巧,找到适合自我发展的工作 |
第八阶段 附赠网课 | 主要学习内容: 白盒测试,缺陷管理工具,QTP自动化测试工具,Jmeter拓展,Fiddler拓展,接口测试工具Postman,抓包工具Charles 可以解决的现实问题 使用白盒测试方法进行代码审查,使用Jira实现测试项目的需求和缺陷管理,掌握QTP自动化测试工具的使用,实现Jmeter接口测试进阶,使用Fiddler辅助接口测试,使用Postman实现接口测试,使用Charles抓包定位问题,模拟弱网,测试,辅助接口测试 项目实训 电商平台,Jira缺陷管理系统,订票系统,国内某知名高校学生MIS系统接口项目 |
软件测试培训资料
性能测试大致分以下几个步骤:
需求分析
脚本准备
测试执行
结果整理
问题分析
今天要说的是最后一个步骤——“问题分析”;
需求描述
有一个服务,启动时会加载一个1G的词表文件到内存,请求来了之后,会把请求词去词表里做模糊匹配,如果匹配到了就向一个后端服务发送一条http请求,拿回数据之后,返回给客户端的同时,向mysql记录请求的唯一标识和一个请求次数的标记;
其中有几个关键函数
模糊匹配(fuzzyMatching)
后端请求函数(sendingRequest)
拼装请求函数(buildResponse)
记录mysql请求次数标记(signNum)
问题及分析
第一组:完全随机请求词,qps达到1k时,服务器未见异常,cpu、内存、带宽均未满,qps无法继续提升;
分析:由于此服务后端连接了其它服务,所以在压测之前,要确认后端服务不会成为瓶颈点,目前的状态很可能是后端服务限制了被测服务的性能;此时可以检查后端服务所在机器的各项指标,或者查看本机的连接状况,一般后端服务无法处理,而被测服务又会一直向后面请求的话,timewait状态的连接会变得比较多;
第二组:解决后端服务的问题后,第二组使用平均30个字的请求词,来打压,qps到400时,cpu load已满;
分析:这种情况明显是由于fuzzyMatching函数计算效率的问题导致cpu满载,从而无法提升qps,使响应时间不断增大,此时可以通过perf+火焰图来确定整个处理请求过程中响应时间长的函数;此时需要评估压测数据是否合理,如果线上平均请求词只有2个的时候,此组测试明显不合理,此时要开发进行性能优化就是浪费时间的;如果评估测试数据合理,可以再次更换短词数据进行压测验证猜测;
第三组:解决了上述两个问题之后,使用完全随机请求词,qps到达3k后降低至1k,然后再次提升到3k,如此反复;
分析:此时关注一下各项指标,排除了以上的问题的话,操作mysql慢的问题可能性大一些,对这种需要高并发的系统来说,直接读写mysql不是个聪明的解决方案,一般会用redis做一层缓存,这里说道的另一个问题就是开发设计不合理,导致的性能问题;
第四组:将后端换做真实的服务来做整体压测,发现qps最高只能到300,此时检查各项指标,发现入口带宽占满了;
分析:这次问题比较明显,后端服务返回内容过大,导致带宽被占满,此时依然需要评估需求:1、是否需要后端返回的所有数据内容;2、评估更换万兆网卡的性价比;3、是否可以通过技术手段优化带宽占用,比如把一次请求分散到多组服务的多个请求;
perf+火焰图定位函数问题
这里简单说一下如何使用perf+火焰图来直观的定位性能问题:
perf
Perf 拥有了众多的性能分析能力,举例来说,使用 Perf 可以计算每个时钟周期内的指令数,称为 IPC,IPC 偏低表明代码没有很好地利用 CPU。Perf 还可以对程序进行函数级别的采样,从而了解程序的性能瓶颈究竟在哪里等等。Perf 还可以替代 strace,可以添加动态内核 probe 点,还可以做 benchmark 衡量调度器的好坏。
使用举例:perf record -e cpu-clock -g -p 11110 -o data/perf.data sleep 30
-g 选项是告诉perf record额外记录函数的调用关系
-e cpu-clock 指perf record监控的指标为cpu周期
-p 指定需要record的进程pid
生成火焰图
1、第一步
使用压力测试工具对程序进行打压,压到程序拐点;
$sudo perf record -e cpu-clock -g -p 11110
Ctrl+c结束执行后,在当前目录下会生成采样数据perf.data.
2、第二步
用perf script工具对perf.data进行解析
perf script -i perf.data &> perf.unfold
3、第三步
将perf.unfold中的符号进行折叠:
./stackcollapse-perf.pl perf.unfold &> perf.folded
4、最后生成svg图:
./flamegraph.pl perf.folded > perf.svg
原生的perf可以直接定位C/C++的程序,通常编译debug版本的程序能看到更多的信息,java、go等语言可以通过各自定制的工具来生成,原理类似;通过火焰图可以轻松定位到哪个函数的处理时间最长,从而找到问题所在。
扫描二维码免费领取试听课程
登录51乐学网
注册51乐学网