首页 > 其他分享 >测试入门都需要学啥?

测试入门都需要学啥?

时间:2024-10-23 21:19:41浏览次数:9  
标签:入门 初级 学啥 测试 哔哩 缺陷 软件测试

1、想自学测试入门的同学可以看这里,零基础或者想转行软件测试的也行。仅一家之言,个人经验之谈。

2、旨在圈定一个大致的学习范畴,具体学习的时候建议从类似B站、CSDN等多寻找几套相应课程的免费视频和文章,对比着听和看,有些细节还是不明白建议直接使用ChatGPT或文心一言就基本可以解惑了,实在还不明白加几个测试的群,在里面请教一下,会有很多热心人的。

 

一、关心问题速览

1、测试入行难么?不难。相对于IT技术其它岗位(产品、开发、运维、DBA等)甚至说软测入门最容易也不无不可,但要有个大专及以上学历。

2、测试是青春饭么?是,但不绝对!本人干到45岁,再投一切软测岗位均如石沉大海,周围同行朋友类似情况非常普遍,技术层管理层均如是。

3、测试技术难么?起步简单,真正做好做精也不容易。而且纯属于测试行业本身所独有的技术不是很多,更多是业务、数据库、网络等外延技术的学习。

4、可以自学么?完全可以。CSDN、B站大把的文章和免费成套视频,选择几个适合自己的切换看,不明白的地方再辅助以文心一言,可以搞定绝大部分内容。

 

二、学习路线漫谈

1、学习软测的前提

(掌握程度:★★★★★,入门难度:☆☆☆☆☆)

有计算机使用的基础,像Windows系统盘主要目录结构和作用、基础的安装卸载软件、常用办公软件(WPS、Word、Excel、PPT、思维导图)的使用、无线网络连接、常用快捷键等这些基本功还是要会的。

 

2、测试基础及理论部分

(掌握程度:★★★★★,入门难度:★☆☆☆☆, 初级建议 ≥ 2天)

基础理论和概念的学习,一两天足以,有不清楚的名词直接文心一言提问就可以了,没有任何难度。

1)、通过生命周期模型(如经典的瀑布模型、V模型、迭代开发模式)理解基础的项目过程及测试在其中所处位置。

2)、了解测试类别划分:黑盒与白盒测试、静态与动态测试、人工与自动化测试、按特性划分(安全测试、兼容测试、性能测试、功能测试等)、按对象划分(APP测试、Web测试等)。

3)、了解测试基础过程:编写测试计划及方案 → 设计及编写测试用例 → 执行测试用例 → 提交缺陷报告 → 回归测试 → 编写测试报告。与开发工作主要可以“串行(先开发后测试)”和“并行(同步开展工作)”的方式开展。

4)、了解测试和质保的区别:质保是一个更全面的范畴,覆盖开发、测试、产品、技术、流程、管理、分析、度量等方方面面,测试的目的也往往被自己人夸大,但可以测试兼部分质保的职责。

5)、相关内容,本人B站免费视频:《B01_软件测试基础_测试入门》 B01_软件测试基础_测试入门_哔哩哔哩_bilibili

3、功能测试部分

(掌握程度:★★★★★,入门难度:★☆☆☆☆, 初级建议 ≥ 5天)

这部分是测试人员的基本功,没啥好说的,熟练掌握!

1)、编写测试用例,初级阶段能读懂产品需求文档,把软件要实现的功能以更易于验证的方式呈现出来,核心字段是优先级、操作步骤和期望结果。如登录功能验证的极简用例类似于,优先级:高;操作步骤:输入有效用户名和密码进行登录;期望结果:登录成功。用例也可以继续进行子类型划分,如用于验证页面单个元素的(如一个编辑框),用于验证业务流程的(如一套下单发货收货的业务),正向验证的(如登录成功)、反向验证的(如登录失败)等等。

2)、编写缺陷报告:发现问题后将问题(Bug、缺陷)以文字、图片等形式提交给相应开发人员,要求描述清晰详细,起码不会因开发人员看不懂而找你。核心字段是优先级、严重程度、缺陷状态。

3)、执行测试用例:根据测试的对象和目的不同,一般会执行多轮次测试(如冒烟测试、全量测试、回归测试等),每次选取特定的测试用例组成相应的用例集合(也叫测试集、测试套)。如冒烟测试只选取关键业务流程类用例来验证基本功能是否实现,第1轮选取全量用例进行测试,第2轮(回归测试)选取高优先级和发现缺陷的用例进行测试等等。也可以根据测试环境来执行测试,如功能测试环境下的测试、集成测试环境下的测试、预生产环境下的测试、生产环境下的测试等。这些都不是死规定,看公司的具体要求和目的来结合。

4)、回归测试:测试不是一遍即完,要经过反复测试,简单来看除第一次测试外,后面可以统称为回归测试了。从小处看,针对新开发的功能,一般需要至少两轮测试,第二轮叫回归测试,检查缺陷是否被正确修复,检查原正确的功能是否继续正确(即没有被修复缺陷过程中引入新的问题)。从更高视角看,软件的迭代开发过程中,每次迭代新版本的时候,都要检查以前的版本是否依旧稳定,这部分工作也属于回归测试的范畴,由于工作量大且重复度高,因此会引入自动化测试来完成。最后由于回归往往是多轮次的,这就又引入了一个回归策略的概念,即每次选取哪些测试用例来执行呢?

5)、缺陷跟踪及管理:测试时发现的大部分缺陷是由开发人员引起的,因此测试人员需要随时知道这个缺陷的修复进度,是否开始修复,是否修复完成等,直到该缺陷在回归测试的时候被验证通过而关闭,一般这个过程是由缺陷状态字段标识的。另外在质量控制中,缺陷是个重要的被分析对象,如缺陷的总数、缺陷各种分类、缺陷的收敛趋势等,依据这些分析结果可以发现项目的主要问题进而在后续项目中调整,达到质量不断优化累计提升的目的。

6)、测试管理工具:功能测试最主要是依靠测试管理工具,如国内常用的禅道,其它如Jira、QC等,就测试而言基本使用思路差不多,建议把禅道的基本使用流程跑通,而且其操作手册相对比较完善易学。前面提到的这些测试工作内容基本都可以通过类似的测试管理工具或平台实现。另外国内最近比较热的MS(MeterSphere)平台也可以了解一下(融合了功能测试、接口测试、性能测试和自动化测试的平台)。

7)、用例设计方法:都是常规方法,不难,掌握即可。等价类、边界值、流程分析(场景法)、正交实验(PICT工具)、状态图(机)、判定表(决策表)、因果图(鸡肋方法)等。

8)、其它概念此阶段当个名词解释大致了解即可:测试计划、测试方案、测试左移右移、测试金字塔、探索性测试、DevOps、阿尔法测试、贝塔测试、AB测试、灰度测试、CAOS测试、故障演练 。。。

9)、相关内容,本人B站免费视频:

— 《B02_软件测试基础_测试用例和缺陷跟踪》B02_软件测试基础_测试用例和缺陷跟踪_哔哩哔哩_bilibili (编写测试用例和缺陷报告及缺陷跟踪管理)

— 《B03_软件测试基础_用例设计方法》B03_软件测试基础_用例设计方法_哔哩哔哩_bilibili (常见用例设计方法及案例)

— 《D06_软件测试专题技术_QC9.0全讲》D06_软件测试专题技术_QC9.0全讲_哔哩哔哩_bilibili (虽然是多年之前的一个产品,但本人一直认为在测试管理工具领域,QC9.0是一个经典之作,不仅仅是其功能的简洁和清晰。最重要的是在认真研读完其手册和Demo后,会认为这是一种测试理念的实现和落地,结合工具的学习会使对测试的理解拔升一个高度,即便放到当下也有非常大的借鉴意义。)

 

4、专项测试技术

相对于前面的功能测试(或者称之为手工测试),这部分内容属于更深层次一些,会涉及网络、编码和专用工具的综合知识,如果零基础仅以先入行为主,建议了解相关内容和关键名词后,起码可以进行最简单的实操,而不是完全放弃。

1)、接口测试(掌握程度:★★★☆☆,入门难度:★★★☆☆, 初级建议 ≥ 5天)

在前后端开发分离后,对后端进行接口测试就方兴未艾了,几乎已经成为软测人员的必备技能。建议先大致了解一下软件架构的演变(单体→前后端分离→微服务),知晓为什么要进行接口测试。然后借助工具先学习单接口的测试。有精力可以继续深入一些,学习将业务流程以接口调用方式连接起来的测试,这个过程中会涉及到参数化、关联、正则表达式、断言、mock等一系列内容。再继续往上深入就涉及到框架层面了,有了一定基础之后可以试着了解一些开源框架甚至是其源码的实现。

• 主要前置知识:HTTP协议、正则表达式、Token(权限)

• 常用单机测试工具:Postman、JMeter、requests(Python) 。。。

• 平台化测试工具或框架:MS(MeterSphere)、APIFox、HTTPRunner、PyTest、unittest 。。。

• 公司接口管理工具:Swagger、ApiFox 。。。

• 相关内容,本人B站免费视频:

—— 《D01_软件测试专题技术_unittest快速上手》 D01_软件测试专题技术_unittest快速上手_哔哩哔哩_bilibili

—— 《D02_软件测试专题技术_unittest全面精讲》 D02_软件测试专题技术_unittest全面精讲_哔哩哔哩_bilibili

 

2)、UI自动化测试(掌握程度:★★☆☆☆,入门难度:★★☆☆☆, 初级建议 ≥ 3天)

基于WebDriver协议模拟人工操作(如点击、输入、拖拽等)的自动化测试工具,效果最炫但实际应用最烂。受公司开发迭代周期及稳定性的影响及维护成本过高,很多公司在这方面的自动化尝试效果都不太好,一般是作为辅助测试不会大规模铺开。作为自动化测试的一个方向还是需要了解的。

主要使用技术:HTML、CSS、Python、Selenium(Appium),其管理和运行框架与接口测试的一般可以通用。

 

3)、性能测试(掌握程度:★★☆☆☆,入门难度:★★★★☆, 初级建议 ≥ 3天)

开玩笑的说这就是个象癌症一样的难题。其它类型的测试活动一般可以由测试独立完成,但性能测试往往同时涉及架构、开发、产品、DBA、运维等,是个多岗位协作的系统性的工程。产品或架构师会从业务和架构角度分别提出性能需求和目标,测试人员负责脚本的实现、调试和运行,发现问题后主要由架构、开发、DBA和运维人员去解决和优化。整个性能测试各方面投入成本会较高,问题的排查也相对复杂的多。大家可以搜搜大厂为秒杀或双11准备的性能测试相关文章,很多都是运维或架构人员出品的。

初级人员还是以了解为主吧,知道这个领域的一些名词和指标(性能、压力、容量、事务、响应时间、TPS等),知道常见的性能问题有哪些(OOM、慢SQL、死锁、雪崩等),会使用JMeter通过接口构造测试数据,完成简单的测试脚本,能控制线程组多线程的运行。

5、外延技术扩展

所谓的外延技术,我指的是测试人员、开发人员等技术岗位都需要了解的技术,这些内容不属于测试所独有的技术。当然不同的岗位对这些不同的技术深度要求不同,初入的同学可以先宽泛的了解,或是能进行最基础的使用即可。后续根据公司的职位要求选择性进行深入学习和研究,毕竟每个公司的产品领域、使用的技术工具都不尽相同,想每样都搞定每样都深入这是二般人才能干的。当然如果确实有时间和精力,可以提前在更通用的技术层面进行深入,如数据库、网络、Linux等。

另外做好测试还有一层因素,就是对被测系统的理解深度,不只是业务层面,还有其开发运维等技术层面,当你对架构、设计、编码、单元测试、配置等技术细节理解的越透彻,你对质量的把握就越通透。

1)、评审技术(同行评审)(掌握程度:★★☆☆☆,入门难度:★☆☆☆☆, 初级建议 ≥ 0.5天)

测试、开发、产品等重要的工作成果物都需要进行评审,而且过程基本都相同。需要了解评审类型(正式或非正式),评审过程,争议解决(如第三小时会议),后续跟踪等相关内容。

 

2)、质量管理(掌握程度:★☆☆☆☆,入门难度:★★★☆☆, 初级建议 ≥ 0.5天)

这个是各级主管需要费心的事儿,仅靠测试个人或者一个部门的努力是不行的,而是需要自上而下的规划及控制,如不同阶段质量目标的设定、流程的建立、度量指标的选取、质量评价模型、人员质量意识的培养、工具的支持、严格的落地执行力、解决质量与成本和时间的冲突等等。

但是初入测试的人员可以了解一下基础内容,如有哪些相关规范(ISO9000、IOS9126、CMMI等)及其特点,全面质量的管理思想指什么,缺陷分析都有哪些手段。

 

3)、配置管理(掌握程度:★☆☆☆☆,入门难度:★★☆☆☆, 初级建议 ≥ 1天)

涉及代码的同学需要掌握,尤其是 git 相关,以完成对代码的管理。包括安装、基本命令、分支合并冲突解决、企业常用的分支模式(master、dev、hotfix、release等)。有助于了解开发人员的工作方式,各个测试环境中部署版本的来源。当然自动化测试的同学编写的代码也要用其管理起来,一般没有开发人员用的那么复杂。

 

4)、数据库(掌握程度:★★★☆☆,入门难度:★★☆☆☆, 初级建议 ≥ 5天)

国内关系型数据库使用最普遍的 MySQL,基本操作要熟练,包括建表约束、增删改查、内联外联,这方面的面试题一搜一大把自行刷题即可。如有精力可以再多学一些索引、事务、执行计划等内容。另外为了尽可能的和企业无缝衔接,这里建议了解一些项目实际数据库设计的案例,如Deleted字段、CreatedTime字段、UpdateTime字段、Version字段等的作用,什么情况下会设置冗余字段,树形结构怎么存储等等。

后续在进行性能测试、自动化测试等时候,会用到更多更深的数据库相关技术,所以数据库这块在入门后还要持续加强与深入,总之看个人能力学到哪里了。

除此以外还要扫盲一下常见的非关系型数据库有哪些,如Redis、MongoDB、HBase等,起码知道名字、特点和应用领域。

 

5)、网络技术(掌握程度:★★★☆☆,入门难度:★★★☆☆, 初级建议 ≥ 3天)

网络知识是面试和行业入门的硬通货。模型层面OSI 和 TCP/IP为主,必须清楚各层的名称和作用,主要协议有哪些。重点掌握 HTTP 和 TCP 协议,包括协议的结构内容封装。除此以往要有相应工具的支撑,如观察HTTP协议的浏览器F12键、Fiddler,观察TCP等更多协议的Wireshark工具。

常见问题有:TCP三次握手四次挥手、端口号作用及常见端口号、TCP和UDP区别、IP地址分类、HTTP请求类型及各自区别、HTTP各状态码含义、HTTPS加密类型等,这方面的题目也非常容易搜到并且附带答案的。

 

6)、Linux(掌握程度:★★☆☆☆,入门难度:★★☆☆☆, 初级建议 ≥ 3天)

在调测试环境或一些测试工具的时候可能会用到,如果是大些的公司会有专门的运维人员。入行初级职位一般掌握基本的Linux命令即可,大几十个的样子把,类似安装卸载、压缩解压、权限操控、查看进程、VI使用也包含在内(常用参数选项即可)。其它类似shell、监控等内容偶尔会在招聘需求中看到,但初级职位要求这个有点欠考量,虽然写了但不一定会问到,即便问到不会一般也不影响大局。

7)、开发语言 Python(掌握程度:★★☆☆☆,入门难度:★★★☆☆, 初级建议 ≥ 5天)

其实 Python 或 Java 这类常规语言,先任意掌握一个就好,Python相对容易上手快,因此很多测试人员首选这个语言。学习的话起码到面向对象这里。如果要走自动化这条路,那语言的功底需要更强一些,还是多多益善上不封顶。如果有时间可以看看大厂官方号上其测试人员的文章或讲座,甚至可以认为他们就是一个开发人员,因为他们测试的对象往往是更深入的底层实现,只能自己开发测试工具和平台,而点点点的测试很多都是外包出去了。

另外随着AI助手(如通义灵码)的普及,写基础的代码越来越简单,甚至一键生成,也降低了自动化的门槛并提升了开发效率,建议一定要熟悉使用。

8)、其它技术及概念,初级阶段知道有这么个东西,当做名词解释扫盲即可,毕竟实际工作中经常能听到这些词,先有个感性认知为佳,具体有哪些可以向文心一言提问“后端主流技术有哪些”,如:

  • 前端技术:H5、JavaScript、VUE、jQuery、Webpack、Sass/Less 。。。
  • 后端技术:IDEA、Spring、微服务、MQ、读写分离、数据库锁、分布式事务、Django、RESTful 。。。
  • 其它技术:MVC、云原生、AI相关、Docker、K8s、CICD、Apache、Nginx、Tomcat、OAuth、JWT 。。。

标签:入门,初级,学啥,测试,哔哩,缺陷,软件测试
From: https://blog.csdn.net/weixin_42007999/article/details/143191122

相关文章

  • Web简单入门
    前言html:页面结构css:页面样式js:页面交互 本篇文章只列举出常用的html标签,以及常用的css样式学习网站 HTML教程https://www.w3school.com.cn/html/index.aspCSS教程https://www.w3school.com.cn/css/index.aspJavaScript和HTMLDOM参考手册https://www.w3school.......
  • 如何踏上编程界的紫荆之巅?写给刚毕业大学生的入门攻略
    对于许多刚从大学毕业的同学来说,编程的世界可能像是一片广阔的迷雾,充满了挑战与未知。从一个编程小白成长为大神,这并不是一夜之间可以完成的旅程,而是需要不断学习和探索的过程。本文将从更高的维度为你提供一份清晰的攻略,帮助你在编程的世界中找到正确的方向。一、扎实掌握......
  • 质量流量计优化燃油滤清器泄漏测试的效率
    组件的质量部分取决于其压力或泄漏完整性。组件的一些示例包括燃料箱、机油和燃料过滤器、散热器、空调和加热系统组件、歧管、齿轮箱、软管等。在向汽车制造商交付零部件之前,零部件供应商通常需要测试和记录零部件的质量。一家领先的燃油滤清器制造商希望提高其质量控制测......
  • 数据结构C语言版_队列笔记||已测试所有代码均可运行
    队列源文件使用markdown编写,CSDN文章发布好像有部分语法改变。每一部分我都有加一个返回标题好像不能使用了。但是CSDN自带一个目录总结,你们无视掉我写的目录直接用CSDN的吧。总结笔记不易,如果有帮助到你希望点个赞。所有代码均已在VScode中运行过,部分代码块因为格式原因......
  • 18 质量保证:Go 语言如何通过测试保证质量
    从这节课开始,我会带你学习本专栏的第四模块:工程管理。现在项目的开发都不是一个人可以完成的,需要多人进行协作,那么在多人协作中如何保证代码的质量,你写的代码如何被其他人使用,如何优化代码的性能等,就是第四模块的内容。这一讲首先来学习Go语言的单元测试和基准测试。单元......
  • Vue入门
    Vue入门一、插值表达式​插值表达式是一种Vue的模版语法1、作用:​利用表达式进行插值,渲染到页面​表达式:是可以被求值的代码,JS引擎会将其计算出一个结果2、语法:​该语法为:{{表达式}}<h3>{{title}}</h3><p>{{name.toUpperCase()}}</p><P>{{age>=18?......
  • 玩转vulnhub靶场(非常详细),零基础入门到精通,看这一篇就够了
    前言vulnhub是我们学习网络安全最常用的靶场之一。难易度适中,内容全面。是我们学习的不二选择。本文让我们一起学习吧!声明:本文旨在网络安全学习和研究,坚决反对一切危害网络安全的行为。请务必遵守相关法律法规。下载靶场我们需要登录vulnhub官网对用的靶场。如上,涉及......
  • 了解网络安全(黑灰产)黑话(非常详细),零基础入门到精通,看这一篇就够了
    前言网络安全黑话大多集中在黑灰产行业,为了逃避网络监管逐渐形成了行业黑话。我接触黑话大概有两个用途:1、黑灰产情报解读:公司体量也不小经常被薅羊毛,SRC开放了情报提供积分,所以对于白帽子提供的情报,通过掌握的黑话去了解情况。2、和黑灰产沟通:应该有人有相似经历,作为买家......
  • hydra安装(非常详细),零基础入门到精通,看这一篇就够了
    前言安装Hydra1.安装必要的依赖库在终端中执行以下命令,安装Hydra所需的依赖库:sudoapt-getinstallbuild-essentialcheckinstalllibssl-devlibssh-devlibidn11-devlibpcre3-devlibgtk2.0-devlibmysqlclient-devlibpq-devlibsvn-devfirebird-devlibmemcache......
  • 明解c语言入门篇练习4-2do语句延伸
    明解c语言练习4-2我们可以看到题目:编写一段程序,像右面这样读取两个整数的值,然后计算出他们之间所有整数的和。上次我发了一段这个练习4-2的代码可以看一下#include<stdio.h>intmain(void){  inta,b,max,min;  intsum=0;  printf("请输入两个整数:......