如何学习软件测试开发?从入门到精通?刚开始学习软件测试的同学要经历一段从学习到入行再到熟练的过程。掌握软件测试基础知识、学习软件测试的思维、将理论知识运用到实践中,做到真正的理解软件测试的理论知识。作为软件测试工程师应该搞清楚软件测试工作的目的是什么。

软件测试是一门新兴行业薪酬待遇好入门简单,需要掌握一定的编程语言基础,相关网络和数据库的基础知识及主要的软件测试理论。如果有基础有专业的人引导入门相对简单,因此建议最好找一个做测试工作的朋友指导学习效率最高。

向有经验的测试人员学习,如果进入的是一家运作规范的软件公司,有独立的软件测试部门、规范的软件测试流程、软件测试技术有一定的积累。你可以请求测试经理委派有经验的测试人员作为你工作上的业务导师,由他列出软件测试技术相关书籍目录、软件测试流程相关文档目录、产品业务相关的文档目录,在业务导师的指导下逐步熟悉软件测试的相关工作。

还有一种情况,如果你进入了一个软件测试未涉足的软件企业,那么你可以在这里开创一片自己的软件测试流程,前提是老板确实认识到软件测试的重要性,实实在在需要提高产品的质量。可以到国内的软件测试论坛和相关网站上寻找软件测试资源,自学能力和对技术的悟性至关重要。如果自学软件测试建议安排好时间几方面知识学习同时开始:

1、软件测试基础

这部分内容学起来其实不多重要的是实际的应用。主要掌握黑白盒测试、测试策略、测试方法、测试设计、测试报告等相关理论。在网上或书店找一些软件测试学习的书籍都够用了。

2、网络和数据库基础知识

现在软件基本离不开网络和数据库应用,这两块的基础知识必须掌握。不需要太深,网络知道互联网发展、现代网络架构、IP分配知识、网络七层协议等,数据库要会基本的增删改查语句操作。

3、开发语言基础

测试要深入发展掌握至少一门开发语言是很必要的。实际测试的技能需求是大于开发的,除了常用开发语言,最好是能掌握一门脚本语言作为测试自动化能力拓展的基础。这是通向高级测试的必备技能。需要投入很大的经历学习,但不需要在工作初期要求太高,可以再工作中不断提升。自己选定一门开发语言和脚本语言持续学习。

软件测试人员不仅要掌握软件测试技术相关知识,对产品相关的业务知识也要学习。在学习软件测试技术时不能忽略产品相关业务知识的学习。如果软件测试技术对产品业务知识一无所知测试出来软件无法符合业务需求,而面对眼前出现的产品业务相关的缺陷而无法发现,最终的软件测试的效果会大打折扣。

第一阶段-前置基础知识

1、学习目标:

可掌握的核心能力:

  1. 熟悉计算机相关概念;
  2. 掌握基础的测试理论;
  3. 熟练掌握HTML常用标签和语法规范;
  4. 掌握使用CSS定义网页样式;
  5. 掌握js的基本用法;

2、知识点:

1)计算机基础

计算机组成部分、操作系统分类、B/S和C/S架构、常用DOS命令、服务器域名

2)测试理论

软件测试的目的、软件测试定义、软件测试原则、产品质量模型、测试基本流程

3)HTML基础

HTML基础语法、标签属性、图片标签、超链接、锚点、表单

4)CSS基础

CSS基础语法、CSS四类选择器、常用文字属性、行高属性、边框、盒子模型、内外边距

5)JS基础

JS基础语法、JS引入方式

第二阶段-linux和数据库

1、学习目标:

可掌握的核心能力:

  1. 掌握Linux操作系统按照和配置;
  2. 熟练掌握Linux常用命令;
  3. 掌握数据库增删改查操作;
  4. 熟悉数据库索引、视图、事务、常见函数等高级功能;
  5. 掌握Redis的string类型、hash类型、set类型、list类型等基本类型和操作;

2、知识点:

1)LINUX(熟悉)

操作系统介绍、操作系统发展历史、CentOS图形界面、文件和目录、常用LINUX命令使用、vim文本编辑器的使用

2)数据库介绍(熟悉)

数据库基本概念、关系型数据库介绍、MySQL安装与使用、Navicat使用

3)SQL语言(重点)

数据表操作、数据操作-增删改查、条件查询、排序、聚合函数、分组、分页、连接查询、自关联、子查询、子查询演练

4)数据库高级功能(了解)

数据库设计、命令行操作数据库、函数、存储过程、视图、事务、索引、外键、用户密码

5)redis数据库功能(掌握)

掌握Redis的string类型、hash类型、set类型、list类型等基本类型和操作;

第三阶段-测试基础

1、学习目标:

可掌握的核心能力

  1. 掌握测试的基本概念和测试常见分类;
  2. 熟练掌握黑盒测试用例设计方法,进行功能测试用例设计;
  3. 熟练掌握缺陷报告的编写;
  4. 熟悉测试管理工具禅道和JIRA的使用
  5. 掌握项目测试流程;
  6. 掌握Web项目功能测试分析和用例编写;
  7. 熟悉测试计划,测试方案,测试报告的核心内容
  8. 掌握功能测试与数据库的关系
  9. 掌握Fiddler工具的使用

2、知识点:

1)软件测试理论

软件测试的分类,软件开发模型和测试模型,软件的质量模型,测试用例的定义和要素

2)测试用例设计

等价类方法、边界值方法、因果图、判定表、状态迁移法、正交、场景

3)缺陷管理

缺陷定义、缺陷的判定标准、缺陷报告、缺陷跟踪流程

4)Web项目实战

搭建项目的测试环境,如何快速熟悉项目,项目的测试流程,测试计划和方案,功能测试分析,状态迁移法的使用,流程测试分析,非功能测试分析,测试报告编写,Fiddler抓包

5)App项目实战

6)测试管理工具

禅道的使用,JIRA的使用

第四阶段-编程+数据结构

1、学习目标:

可掌握的核心能力:

  1. 掌握Python基础语法, 具备基础的编程能力;
  2. 建立编程思维以及面向对象程序设计思想。

2、知识点:

1)Python开发环境

Python开发环境的搭建、Pycharm使用

2)Python基础

变量以及变量的类型、标识符和关键字、变量名命名方式、算数运算符、变量数据类型转换、输入和输出、注释、if语句基本格式、if…else…语句、if…elif…else语句、逻辑运算符、比较关系运算符、运算符优先级、while循环语法格式、while嵌套应用、break的用法、continue的用法、列表概念及操作、元组概念及操作、字典概念及操作、字符串概念及操作、集合概念及操作、for循环及for…else用法、函数的基本语法、函数执行流程、文档注释、带参数的函数、带返回值的函数、函数的嵌套调用、匿名函数、递归函数、局部变量和全局变量、引用、文件的概念、文件的打开与关闭、文件读写, 以及文件定位读写、文件、目录相关操作

3)面向对象

面向对象介绍、类和对象的概念、魔术方法的意义及作用、对象成员的访问控制权限、继承的概念及意义、继承、多层继承和多继承、多态的概念以及应用、类属性和实例属性、实例方法、类方法、静态方法、设计模式: 单例模式

4)异常处理

理解异常的作用、捕获异常、异常的传递规则、自定义异常

5)模块和包

模块和包的概念、__all__的用法、import语句用法、from…import…用法、from…import * 用法

第五阶段——WEB自动化

1、学习目标:

可掌握的核心能力:

1.能够熟练搭建Web自动化测试环境;
2.熟练掌握元素的定位方法和元素操作;
3.掌握鼠标键盘操作及HTML特殊元素的处理;
4.掌握使用UnitTest管理自动化测试的脚本;
5.熟练掌握PO模式的设计思想,并能够对页面进行封装;
6.掌握数据驱动的实现方式;
7.掌握日志的相关概念,以及日志的收集处理;
8.掌握在实际的项目中如何灵活运用自动化的相关技术。

2、知识点:

1)WEB自动化入门

自动化测试的理论知识、主流的Web自动化测试框架介绍、Selenium的发展历史及工作原理、元素查看工具使用、环境搭建

2)WEB自动化基础

元素基础定位方法、Xpath和CSS元素定位方法、元素常见操作、浏览器操作方法、鼠标键盘操作、显示等待和隐式等待、HTML特殊元素处理、窗口截图、验证码处理

3)WEB自动化中级

UnitTest框架、Fixture、UnitTest断言、参数化、测试报告

4)WEB自动化高级

PO模式、数据驱动、日志处理

5)项目实战

自动化测试流程、项目自动化框架设计、自动化代码实现

第六阶段——移动自动化

1、学习目标:

可掌握的核心能力:

1.掌握移动端APP测试特性;
2.能够熟练搭建移动自动化测试环境;
3.熟悉appium的工作原理;
4.熟练掌握ADB工具的使用;
5.熟练掌握元素的定位方法、元素操作和手势操作;
6.掌握单元测试框架pytest的使用;
7.掌握YAML数据读写;
8.掌握使用allure生成测试报告;
9.熟练掌握PO模式的设计思想;
10.掌握数据驱动的实现方式;
11.掌握Git的使用方式;
12.掌握Jenkins持续集成的环境配置;
13.掌握在实际的项目中如何灵活运用移动自动化的相关技术。

2、知识点:

1)移动自动化特性

APP应用系统架构、测试环境及发布平台、APP敏捷开发模式、APP应用测试要点、业务功能测试、兼容性测试、安装卸载升级测试、交叉事件测试、Push消息测试、性能测试、用户体验测试、稳定性测试

2)移动自动化基础

移动端测试分类及特点、ADB命令及Monkey使用、appium环境搭建、appium工作原理

3)移动自动化中级

APP和手机系统操作、元素定位、元素操作、高级手势操作、混合APP测试、PyTest测试框架、定制测试报告、YAML数据读写

4)移动自动化高级

PO模式、数据驱动、Git、Jenkins持续集成

5)项目实战

APP项目实战

第七阶段——接口测试

1、学习目标:

可掌握的核心能力:
1.掌握接口及接口测试相关概念;
2.掌握使用Postman进行接口测试;
3.熟练掌握数据库的基本操作和事务操作;
4.掌握requests库使用及脚本封装;
5.掌握接口测试框架的设计和封装;
6.掌握使用持续集成工具管理接口测试脚本;
7.掌握在实际的项目中如何灵活运用接口测试的相关技术。

2、知识点:

1)接口测试基础

接口及接口测试概念、HTTP协议、接口规范、项目环境说明、接口测试流程

2)Postman实现接口测试

Postman介绍和安装、Postman基本用法、Postman高级用法、Postman测试报告、项目实战

3)数据库操作

数据库介绍、数据库基本操作、数据库事务操作

4)代码实现接口测试

Requests库、集成UnitTest、接口测试框架开发、项目实战

5)持续集成

持续集成介绍、Git、Jenkins、持续集成之Postman、持续集成之代码

6)接口测试扩展

Mock测试、接口测试总结

第八阶段——性能测试

1、学习目标:

可掌握的核心能力:

1.能够熟练搭建性能测试环境;
2.掌握性能测试基础理论;
3.掌握Jmeter常用组件使用;
4.掌握Jmeter编写和录制性能测试脚本;
5.掌握基于jmeter实现单一和混合场景搭建;
6.掌握思考时间、事务、逻辑控制器在性能测试场景的应用;
7.掌握Jmeter常用性能插件进行图表分析;
8.掌握Linux服务型性能监控方法和指标;
9.掌握数据库监控和调优的常见方法。

2、知识点:

1)性能测试基础

性能测试理论、性能测试分类、性能测试常用指标、性能测试流程

2)性能测试工具

常用性能测试工具、Jmeter环境搭建、Jmeter功能概要、元件作用及执行顺序、线程组、参数化、断言、关联、连接数据库、逻辑控制器、定时器、分布式、测试报告

3)项目-接口性能测试

项目API文档分析、接口清单梳理、接口脚本设计、并发数据计算、逻辑控制器项目应用、单一场景搭建、常用响应图表插件及应用

4)项目-web性能测试

脚本录制、正则过滤、cookie管理器、事务控制器、思考时间、混合场景搭建、web性能脚本执行与分析

5)性能测试调优

windows服务器性能监控、linux服务器性能监控、性能测试报告

第九阶段——综合项目实战

1、学习目标:

可掌握的核心能力:
1.掌握功能测试在真实的项目中如何实施;
2.掌握基于Selenium的Web自动化测试框架搭建和使用;
3.掌握基于Appium的APP自动化测试框架搭建和使用;
4.掌握使用工具实现接口测试;
5.掌握基于Python+Requests库的接口自动化测试框架的搭建和使用;
6.掌握Locust性能测试框架的使用;
7.掌握如何对APP进行性能测试;
8.掌握在实际的项目中如何灵活运用相关测试技术。

2、知识点:

1)项目介绍

项目简介、项目架构

2)功能测试

功能测试设计思路、自媒体端测试、后台管理端测试、用户APP端测试

3)UI自动化测试

Selenium Grid、搭建自动化测试框架、编写自动化测试脚本

4)接口测试

接口测试流程、基于工具的接口测试、基于代码的接口测试

5)性能测试

Locust框架、APP性能测试

第十阶段——测试开发

1、学习目标:

可掌握的核心能力:

1.独立完成企业级项目全流程的接口自动化测试工作
2.提供企业级接口测试痛点解决方案
3.提供企业级接口管理平台开发方案
4.真实企业级项目实战

2、知识点:

1)独立完成企业级项目全流程的接口自动化测试工作

‒深度掌握接口测试体系,构建系统性接口自动化测试框架
‒海量测试用例的管理
‒大量测试数据的独立维护
‒覆盖企业级主流HTTP、HTTPS、Dubbo、WebService协议
‒构建接口层企业级质量保证体系及监控体系

2)提供企业级接口测试痛点解决方案

‒接口测试数据的准备与清理
‒接口Mock服务搭建与开发
‒接口加解密测试
‒测试环境自动切换解决方案
‒持续集成自动化
‒接口安全测试

3)提供企业级接口管理平台开发方案

‒采用主流的前后端开发技术搭建项目框架
‒实现接口管理平台的前后端分离
‒数据持久化技术方案能

4)真实企业级项目实战

‒实现企业级真实项目全流程的接口自动化测试
‒灵活运用所学技术解决接口测试工作中的实际问题

如何学习软件测试开发?从入门到精通?相关推荐

  1. 2023最全软件测试学习路线图(从入门到精通)

    六维全息课程注重综合能力培养,从入学到职后一站式服务测试开发人才.2023年最新软件测试学习路线图,从入门到精通一应俱全. 9阶段专业课+11大专项测试项目 适应互联网企业测试开发需求. 对于想入行学 ...

  2. 最新软件测试学习资源(小白入门到精通)

    最新软件测试学习资源(小白入门到精通) 第一阶段:软件测试环境配置与管理 此阶段,主要是熟练掌握在各种主流PC环境中,如何高效准确的搭建测试环境,并同时掌握关于软件基础运行环境的相关知识,为后续课程学 ...

  3. Revit二次开发从入门到精通学习之路, (含Revit二次开发教程下载)

    Revit二次开发从入门到精通学习之路 Autodesk Joe Ye叶雄进 2. 18 2014    yexiongjin@hotmail.com Revit在国内的应用越来越广泛, Revit ...

  4. 第1课 EOS开发从入门到精通学习导航

    第1课 EOS开发从入门到精通学习导航 柚子(EOS)可以理解为Enterprise Operation System,即为商用分布式应用设计的一款区块链操作系统.EOS是EOS软件引入的一种新的区块 ...

  5. 《C++ 开发从入门到精通》——第1章 说真的,我们还要学习C++吗1.1 C++概述...

    本节书摘来自异步社区出版社<C++ 开发从入门到精通>一书中的第1章,第1.1节,作者: 王石磊 , 韩海玲,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第1 ...

  6. python web开发入门_python大佬整理的python web开发从入门到精通学习笔记

    原标题:python大佬整理的python web开发从入门到精通学习笔记 Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通 ...

  7. 《51单片机应用开发从入门到精通》——2.2 跑马灯实例

    本节书摘来自异步社区<51单片机应用开发从入门到精通>一书中的第2章,第2.2节,作者 张华杰,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.2 跑马灯实例 ...

  8. 《libGDX移动游戏开发从入门到精通》一第2章 libGDX的架构分析

    本节书摘来异步社区<libGDX移动游戏开发从入门到精通>一书中的第2章,第2.1节,作者: 黄俊东 责编: 陈冀康,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  9. 《C++ 开发从入门到精通》——第2章 C++的重要特质分析2.1 什么是面向对象(object-oriented)...

    本节书摘来自异步社区出版社<C++ 开发从入门到精通>一书中的第2章,第2.1节,作者: 王石磊 , 韩海玲,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第2 ...

最新文章

  1. 高影响力期刊iMeta扬帆起航!第一篇文章已上线!
  2. python爬虫可以干什么-Python 爬虫一 简介
  3. uwsgi 的app变量名称必须为application
  4. 【附源码】一看就懂的感知机算法PLA
  5. 关于软件工程的那些事儿————《人·绩效·职业道德》和《一个程序员的生命周期》读后感...
  6. 男人“杀”死女人的30句话
  7. WSUS离线导入更新包
  8. Anaconda和conda——关于python的数据科学开发环境,数据科学必备的十大Python库
  9. 勒索病毒应急措施及防护方案
  10. 本特利电涡流传感器330103-00-04-90-01-CN
  11. 为什么要使用版本管理
  12. 分享一个巨好用的 HTTP 命令行宝藏工具
  13. 快手短视频怎么同步到头条?
  14. usb_host_dll
  15. 使用正则表达式进行身份证号匹配
  16. Hotel booking -探索性数据分析(EDA)一(seaborn matplot pyecharts)
  17. mysql replication /mysql 主从复制原理
  18. 打开网络邻居有很多计算机,教你网上邻居无法看到其它共享电脑的解决方法
  19. oracle登陆不了账号被锁定,轻松解决数据库账号被锁定问题
  20. Pointnet(part_seg)train.py,test.py代码随记

热门文章

  1. 在Visual Studio中编写Epicor10的BPM代码
  2. 经典小游戏——数字炸弹
  3. SOPC教学笔记04——Flash固化
  4. [论文翻译]测试时数据增强(TTA):Automatic Brain Tumor Segmentation using Convolutional Neural Networks with TTA
  5. Vue源码学习 - 组件化一 createComponent
  6. 怎样看大盘指数即时分时走势图
  7. django 验证和授权系统
  8. vnc viewer中文版,3步下载vnc viewer中文版
  9. ADBKeyBoard.apk 切换Android输入法完美解决中文输出
  10. 全球及中国智能机器人产业整体运营状况与投资产值分析报告2022版