测试种类大汇总(45类)零基础入门到精通,收藏这篇就够了

Python3.8

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

Hello,大家好,工作之余就测试种类做了一下汇总和整理,以平白的语言叙述了出来,不妥之处还请大家指出来,共同进步。

我涉及到的有单元测试、端到端测试和冒烟测试。

首先是测试总的来说可以分为两大类:功能测试和非功能测试。

功能测试类型包括:单元测试、集成测试、系统测试、健全性测试、冒烟测试、接口测试、回归测试、Beta/验收测试。

非功能性测试类型包括:性能测试、负载测试、压力测试、容量测试、安全测试、恢复测试、可靠性测试、可用性测试、一致性测试、本地化测试。

0)A/B测试(A/B Testing)

    就是准备两个(A/B)或者两个以上的版本,让不同的用户随机去访问这些版本,收集各版本的用户体验数据和业务数据。最后分析、评估出最好的版本

1)Alpha测试

    这是软件工程中很常见的测试类型。目标就是尽可能地在发布到市场或者交付给用户之前找出所有的问题和缺陷。该测试一般是在开发的末端且在Beta测试之前进行,在这个测试过程中可能会驱动开发者进行一些小的设计变动,一般是在开发者网站进行,即只对开发者或者内部用户开放,一般可以为此类测试创建内部的虚拟用户环境。

    Pre-alpha:有时候软件会在Alpha或者Beta版本前会发布该测试,相比前两者,这是个功能不完整的版本。

    Alpha:版本功能还没有完善,需要进一步测试,该版本通常会发送到开发软件的分组织或者某群体中的软件测试者进行内部测试。

    Beta:该版本会包含所有的功能,但是可能又有一些bug,需要调试反馈,Beta版本是软件最早的对外公开的软件版本,由公众(通常是公司外的第三方开发者和业余玩家)参与测试。

    Release Candidate(rc): 发布候选版本,如果没有出现问题则可以发布成为正式的版本。这个版本包含完整并且比较稳定的功能。

2)验收测试

    通常都是部署软件之前的最后一个测试操作,也称为交付测试,由最终客户执行,他们会验证端到端的系统流程是否符合业务需求,以及功能是否满足最终用户的需求。只有当所有的特性和功能按照期望的运行,客户才会接受软件。这是测试的最后阶段,在验收测试之后,软件将投入生产环境,所以它也叫做用户验收测试。举例来说,验收测试就是相当于收快递,包裹是软件、你就是客户,是验收方,货物不符合要求,是要退货的。

3)临时测试

    这种测试在临时基础上进行的,有时候也称为随机测试,即没有参考任何测试用例、没有针对该测试的任何计划和文档。它的目的就是通过执行随意的流程或者或任意的功能来找出应用的缺陷和问题,它可以由项目的任何人来执行尽管没有测试用例很难识别缺陷,但是有些时候会发现无法使用现有的测试用例来识别,也就是说它是随机性的,没有事先任何的测试计划。

4)可访问性测试 它是为了确定软件或者应用程序是否可供残疾人使用。残疾人指的是聋人、色盲、智障人士、失明者、老年人和其他残疾人群体,这里会执行各种检查,比如针对视觉残疾的字体大小测试,针对色盲的颜色和对比度测试等等。5)Beta测试 它是一种正式的软件测试类型,在将产品发布作为商业用途之前完成的最终测试,通常,发布的软件或者产品的Beta版本仅仅限于特定区域的特定数量的用户,所以最终用户实际使用软件后会将一些问题反馈给公司,公司可以在全面发布之前采取必要的措施。

6)后端测试

    前端应用输入的数据,一般都会存储在数据库,所以针对数据库的这类测试称为数据可测试或者后端测试,市面上有不同的数据库,所以该测试会涉及表结构、模式、存储过程以及数据结构等。后端测试一般不会涉及GUI,通过后端测试可以发现一些数据库问题,比如数据丢失、死锁、数据损坏。这些问题在生产环境之前进行修复至关重要。

7)浏览器兼容测试

    这是兼容性测试的子类型,由测试团队执行,主要针对的是Web应用,用于确保软件可以在不同的浏览器或者操作系统中运行,或者验证Web应用程序是否能在浏览器的所有版本上运行,以确定应用最终兼容的范围。

8)后向兼容测试

    适用于验证新开发或更新的软件是否能在就版本环境运行比如向后兼容的测试会检查新的软件是否能正确的处理旧版本软件创建的问及那格式,比如新版的office是否可以打开旧版本创建的文件同理也可以检查新版本是否可以兼容旧版本创建的数据表、数据文件、数据结构、配置文件。总则:任何软件更新应该在先前版本基础之上良好运行。

9)黑盒测试

    它不考虑软件的内部系统设计,它基于需求和功能进行测试,只关心系统的输入和输出以及功能流程。换句话说该测试只是从用户的角度出发针对软件界面、功能以及外部结构进行测试,而不考虑程序内部逻辑结构,黑盒测试下面还有很对哦种类,例如集成测试、系统测试、大部分非功能性测试。

10)边界值测试

    边界值测试,是测试应用处于边界条件的行为。很多边界开发者是很难考虑周到的,所以才有一个专门的测试类型来验证这种情况,边界值测试检查应用处于边界值时是否存在缺陷,边界值测试通常用于测试不同范围的数字,每个范围都有一个上下边界,就是针对这些边界值进行测试。比如数字范围是1-500,那么边界值就是在这些值上进行验证:0、1、2、499、500、501.

11)分支测试

    是白盒子测试的子类型,在单元测试中实施,顾名思义,表示测试要覆盖程序代码的各种条件分支,避免遗漏缺陷,是单元测试覆盖率的一个指标之一。

12)比较测试

    是将产品的优点和弱点与旧版本或者同类进行比较,比如IM会和微信作比较

13)兼容性测试

    这是一个大类,用于验证应用在不同环境、web服务器、硬件、网络条件下的行为。兼容性测试确保软件可以在不同的配置、不同的数据库、不同的浏览器以及他们不同的版本下运行。

14)组件测试

    一般也称为模块测试,一般是由开发者在完成单元测试后执行。将多个功能组合起来作为单一的整体进行测试,目的是发现多个功能在相互连接起来后的缺陷。组件测试可大可小。大的可以到几个单独的页面、模块、子系统的组合。比如将多个页面组合起来,测试他们流程跳转,就属于组件测试。

15)端到端测试

也是一种黑盒测试类型,类似于系统测试,端到端测试在线模拟的、完整的、真实应用环境下模拟真实用户对应用进行测试,比如应用会和数据库交互、会使用网络通信、或者在适当的情况下其他硬件、应用、系统进行交互,端到端指的是从一个端点到另一个端点的意思,所以端到端测试重点是用于测试模块和模块之间的协调性。当应用是分布式系统或者需要其他外部系统协同时,端到端测试扮演着非常重要的角色。它可以全面检查以确保软件在不同平台和环境中能准确地交互,该测试有以下目的: 确保应用可以和外部系统之间良好的协调,对于前端来说,是确保页面和后端之间的良好协调。 检查从原系统到目标系统的所有系统流 从最终用户角度验证需求 识别异构环境中的问题 我们工作中就是使用ECU-TEST测试软件去检查Ibox上的车载app是否存在异常,主要的范围是测试车载软件的性能,是否可以正常打开,数据是否加载得出来,触发的事件后台有没有记录,与后台能不能正常通信等。

16)等价划分

一种黑盒测试的测试技术,通过等价划分,可以将所有的输入数据合理地划分为多个分组,只需在每个分组中取一个数据作为测试的输入条件,这样可以实现用少量的代表性的测试数据取得较好的测试结果,所以这个测试的目的是:在不导致缺陷的前提下,移除指定分组中重复的用例,简化测试的工作。比如一个程序接受-10到10之间的值,使用等价分区方法可以划分为三个组,0、负值、正值。接下来的测试只需要从这三个分组中取一个成员进行测试,不需要每个成员都测试一遍。

17)实例测试

实时测试,包含着实时场景还涉及基于测试人员经验的场景。

18)探索测试

类似于Ad-Hoc测试,探索性测试是由测试团队进行的非正式测试。目的是探索应用并查找应用中存在的缺陷,在测试期间有一定几率发现重大甚至可能导致系统故障的缺陷。探索性测试期间,最好跟踪记录好测试的流程、以及开始该流程之前的活动记录,方便复现bug。

19)功能性测试

是一个大类,又称为行为测试,功能测试会忽略内部实现而关注组件的输出,目的是验证是否符合需求,这是一种面向功能需求的黑盒测试类型,它是相对于非功能测试而言的,功能测试需要关注功能或者业务,需要业务耦合程度高,非功能测试则是通用的,比如压力测试、负载测试等,这些都有通用的工具来支持,不需要很少定制化操作。

20)GUI测试

    目的是根据业务需求验证GUI,在详细设计文档和GUI模型中一般会提到应用期望的GUI。        常见的包括测试屏幕上显示的按钮和输入字段的大小、表格中所有文本、表格或内容的对齐规则等等。

21)大猩猩测试

    指的是由测试人员执行的测试类型,有时也由开发人员执行,大猩猩测试中,对模块中的一个模块或者功能进行了彻底和严格的测试,改测试会对一个功能或者模块进行重复"上百次"的测试,人类根本受不了,所以说是又称为令人沮丧的测试 目的是检查应用程序的稳健性。

22)乐观路线测试

    乐观路线测试的目标是在正常流程上成功测试应用。它不会考虑各种负面或者异常情况。重点只是关注于验证应用在有效和合法输入条件下能生成期望的输出。比如银行付款,只考虑账户有钱的正常状态。

23)增量集成测试

    增量集成测试是一种自下而上的测试方法,即在添加新功能时立即集成应用程序进行连续测试。应用程序功能和模块应该足够独立,以便单独测试。通常由程序员或者测试人员完成。

24)安装卸载测试

    安装和卸载测试时在不同硬件或者软件环境下的不同操作系统上进行完整/部分的安装、升级、卸载、回滚等测试,常用于桌面端应用。

25)集成测试

    是指将所有的模块集成之后,验证合并后的功能。模块通常是代码模块、单个应用、网络上的客户端和服务器应用等等        集成测试一般在单元测试之后,所以单元测试时集成测试的基础,没有进行单元测试的集成测试是不靠谱的。所以最简单的形式是:把两个已经测试过的单元组成一个组件,测试他们之间的接口,也就是说集成测试在单元测试的基础之上,将单元测试中独立的单元合并起来,验证他们的协调性,合并后的组件又是一个新的单元,这样逐步合并测试,最终形成完整的应用程序。这种类型的测试常用于B/S软件和分布式系统。

26)负载测试

    这是一种非功能性测试,负载测试的目的是检查系统可以承受多少负载而不会降低性能,或者是说最大工作负载是多少负载测试有助于查找特定负载系统下最大容量以及导致软件性能下降的任何原因,可以使用JMeter、LoadRunner、WebLoad、Silk执行程序等工具执行负载测试。        负载测试经常和性能测试、压力测试、稳定性测试等联系在了一起,上图中的TPS(Transation Per Second)指的是每秒钟系统可以处理的交易或者事务的数量;Server Resource指的是系统资源占有。        性能测试主要是位于a-b之间,在系统测试初期就会规划一个预期目标,比如给定资源Ax,a点就是性能期望值。也就是说在给定固定资源Ax的情况下,如果TPS可以达到a点甚至更高,就说明系统性能达到或者好于预期,通过性能测试可以验证系统的处理能力有没有达到预期。        负载测试:位于b-c之间。对系统不断增加并发请求,直到系统的某项或者多项指标达到安全的临界值,比如c,这个c就是所谓的最大负载量,后面再增加请求压力,系统的处理能力不但不能提高,反倒会下降,通过压力测试可以得出系统的最大安全负载值。        压力测试可以得出系统最大的安全负载值。        压力测试位于c-d之间,在超过安全负载的情况下,继续对系统增加压力,直到达到崩溃点,即上图的d通过夜里测试可以得出系统的最大承受能力        稳定性测试,位于a-d之间,在a、b、c、d不同的点(代表特定的硬件、软件和网络环境),让系统运行一段较长的时间,检测系统在不同条件下的系统运行的稳定性。

27)猴子测试

    是由测试人员进行的,即把自己当成猴子,在没有任何知识背景或者理解应用的前提下,随意输入和操作。目标是通过随机输入数据来检查应用程序是否崩溃,猴子是随机执行的,没有测试用例,也没有必要了解全部功能。

28)变异测试(可变性测试)

    是一种白盒测试,这是一种和单元测试反着来的测试类型。通常单元测试是通过测试用例来验证代码是否可靠,而编译测试是反过来,它首先是更改其中一个程序的源代码,再跑单元测试,如果单元测试可以通过则可能说明测试用例没有效果,或者测试用例没有覆盖到这处代码的变异。所以说变异测试可以反过来验证你的测试用例是否有效。还有就是可以帮助我们找出一些无法被当前测试所防止的潜在错误。

29)悲观测试

    和乐观测试相反,它要求测试者要具有打破常规的思绪,考虑各种情况,使用各种邪恶的、不怀好意、不合法的操作来测试系统,悲观测试会使用不正确的数据、无效的数据进行输入来验证,它来验证系统是否可以识别异常情况并且按照预期进行。

30)非功能性测试

    每一个大型组织都会有一个独立的团队,通常称为非功能测试(NFT)或者性能团队。其涉及测试肺功能的需求有负载测试、压力测试、安全性、容量、恢复测试等。NFT的目标是确保软件或者应用程序的响应时间是否满足业务需求。例如在加载任何页面或者系统都不应该花费太多的时间并且在负载峰值期间应该维持良好的运行状态

31)性能测试

    这个术语常常和压力和负载测试,性能测试主要是用于检查系统是否满足性能需求,会使用不同的性能和负载工具来执行此测试。        性能测试这个范围比较大,广义上的性能测试包括上文提到的负载测试、压力测试、稳定性测试、容量测试等,狭义的性能测试指的是在特定资源条件下,测试系统能否达到期望值,也就是基线测试(Baseline Test).        基线测试:在给定的资源下,测试最佳的性能,用作后续测量的参考基线。注意基线测试和基准测试是有区别的这么理解,基准是你想达到的,比如100短跑的世界纪录,基线是你的成绩。        负载测试:在预期峰值的生产负载下测量系统的性能。        稳定性测试:在指定负载下,长时间测量系统的稳定性        压力测试:测试极端条件下的系统性能

32)恢复测试

    用于验证应用或者系统中崩溃或者灾难中恢复的程度,确定系统是否能够在灾难发生后继续运行。比如应用通过网络电缆接收数据,突然断开网络的链接过一段时间再去连上网线,系统应该恢复由于网络线缆拔出而丢失连接的数据。

33)回归测试

    在修改任意模块或者功能后,将应用作为一个整体进行测试,称为回归测试。目的就是验证在软件原有的功能变动后是否保持完整性。有观点认为回归测试就是回归测试,是指重复之前的全部或者部分相同的测试工作,其实是有点道理的,而且因为局部修改而牵动全身的意外在平时开发中并不少见,这种意外性就是回归测试的存在的目的。        因为在回归测试中很难覆盖所有的的系统,通常最好是使用自动化测试工具进行这类测试,比如每次修改完代码,跑单元测试来确保不影响其他软件单元。

34)基于风险的测试

    在该测试中,功能或者需求将根据其优先级进行测试。基于风险的测试会优先测试高度关键的功能,因为这些功能对业务影响最大或者故障概率非常高,。而优先级由业务需求决定,因此一旦为所有功能设置了优先级,则应该首先执行高优先级功能,然后再去执行低优先级功能,低优先级功能可以在时间充裕时测试或者不测试。        基于风险测试应该在“不够时间来测试整个应用,但是又要按时交付软件”的情况下执行,通常还需要客户和高级管理层的讨论和批准之后才进行。

35)完整性测试

    完整性测试用于确定一个新的软件版本是否可以开始正式的测试,如果一个应该在一开始使用时就崩溃,那么就说明系统还是不够稳定,没有必要进行下一步测试,这种情况应该给开发,以免浪费时间。        在软件设计阶段,测试就会编写冒烟测试用例;        开发团队在提交版本给测试之前会自己跑一下冒烟测试用例,检查一下没有重大意义的,影响测试进程的bug,如果有则退回开发。        如果通过了完整性测试,则进行冒烟测试,如果没有通过冒烟测试也会立即打回开发。顺利通过完整性测试和冒烟测试之后才会进入正式测试阶段。        目的之一就是为了降低测试团队的工作负担

36)安全性测试

    这也是一个庞大的学科,而且知识每天都在更新,所以安全测试一般由特殊的安全团队执行,他们以各种黑客手段进行渗透测试。        安全测试旨在确保应用或者网站免受内部和外部威胁的侵害,这个测试包括预防恶意程序、病毒;检验授权和身份验证过程的安全性。他还会检查软件对任何黑客攻击和恶意程序的反应方式,以及在遭到黑客攻击后如何维护软件以保护数据安全。

37)冒烟测试

    冒烟测试,每当开发团队提交新的构建的时候,软件测试团队就会首先验证构建,并不确保不存在重大问题,如果存在重大的问题会直接打回开发团队。        如何通俗的理解冒烟测试呢?这个属于硬件或者硬件组件进行更改或者修复后,直接给设备加电,如果没有冒烟,则该组件就通过了测试。举个例子,给三星Note7加电,如果没有爆炸,就通过冒烟测试。测试团队在确保构建稳定后才会进一步执行详细的测试。冒烟测试会检查构建中是否存在中断缺陷,这将阻止测试团队进一步详细测试。即如果测试人员发现主要功能不能工作,他们会拒绝这次构建,并且退回给开发团队。冒烟测试一般会在回归测试或者其他详细测试之前进行。

38)静态测试

    静态测试有点类似于代码review,在不执行任何代码的情况下执行(也就是不运行应用),它涉对可交付成果审查(inspection)、review和演练(walkthrough).比如检查代码语法、命名约定、项目组织。        静态测试不仅适用于代码,也适用于测试用例、测试计划和设计文档。如果在静态测试阶段发现缺陷,可以将缺陷成本降到最低。比如在设计阶段就发现问题,相比到开发阶段甚至到生产环境出现问题要好解决。        以前端为例,静态测试可能包括:        使用Lint工具对程序进行规范检查,相关的工具有ESLint、TSLint、Stylint等,甚至Typescript这些类型检查也可以归到这个范畴。代码审查,有一些问题是无法通过Lint工具覆盖的,比如代码逻辑、异常捕获、项目组织、内存泄漏等等,这些需要人工走审查。检查代码是否与设计一致,是否符合软件需求、概要和详细设计,不仅可以看出代码问题,也可以反过来更早发现需求或者设计是否正确。

39)压力测试

    通过压力测试,模拟系统收到超过其规格的压力时失败的方式和时间,找出系统的崩溃点。这个测试在高负载情况下执行的,例如存取超过容量限制的数据、执行复杂的数据库查询、连续暴力输入到系统加载到数据。

40)系统测试

    系统测试在完整的系统测试上进行测试,也就是说系统测试一般都在集成测试之后进行,集成测试之后系统成为了一个整体,整个系统测试是在这个基础上、在真实运行环境验证系统是否符合业务需求。这是一种黑盒测试类型的,基于总体需求规范,涵盖系统的所有组合部分。        系统测试其实不是一个具体的测试技术,而是一个测试阶段。这个阶段会有很多种测试,一般包括:功能测试、非功能测试’归类一下系统测试的目的:        确保应用可以作为一个整体良好的运行、确保符合业务需求、确保在真实情况下可以良好的运行,比如进行一些非功能测试,验证系统的健壮性。其实系统测试和端到端测试类似,可以对比看下:        端到端测试一般针对被测应用本身的以及其依赖的的其它系统。重点关注前端、后端以及中间件之间的处理流程测试类型包含功能测试和非功能测试。

41)单元测试

    测试独立的软件单元或者模块可以称为单元测试,通常是由开发者完成,不是测试人员完成,因为他需要详细了解内部程序设计和代码。        单元测试是和开发者最为密切的测试类型,它的测试对象是软件单元,软件单元可以是一个函数/方法、一个类或者一个GUI组件等。        这是一种白盒测试,所以要求开发者自己进行,因为只有开发者才知道单元的内部实现,单元测试一般会用测试覆盖率来验证单元测试的完成度。        主要是将逻辑出现的各个异常在测试的过程中全方位覆盖,保证100%的覆盖率

42)可用性测试

    可用性测试用来检测应用的用户友好程度。它会验证新用户可以轻松理解应用流程,如果用户陷入麻烦,测试人员要记录好并提供帮助。可以认为可用性测试是在检查系统的导航性。

43)漏洞测试

    其涉及识别软件、硬件和网络中的漏洞。如果漏洞容易受到攻击,或者容易受到病毒和蠕虫感染,黑客或者恶意程序就会控制系统。

44)容量测试

    非功能测试,会检查应用在遇到大量数据的系统行为和响应时间,这种大量数据可能会影响系统的性能处理和处理时间的速度。

45)白盒测试

    也称为玻璃盒测试、结构测试、逻辑驱动测试或者是基于代码的测试,基于应用程序代码的内部逻辑。即测试人员应该知道内部软件和代码是如何工作的,对所有的逻辑路径进行覆盖测试,其中,单元测试和静态测试就是典型的白盒测试,基本上白盒测试可以等同于单元测试。逻辑路径包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖等。

这只是测试的一部分,实际上有超过100种的测试类型,但是并非所有的测试类型都会被所有项目使用。总的来说就是依据实际的需求来。

这两年,IT行业面临经济周期波动与AI产业结构调整的双重压力,确实有很多运维与网络工程师因企业缩编或技术迭代而暂时失业。

很多人都在提运维网工失业后就只能去跑滴滴送外卖了,但我想分享的是,对于运维人员来说,即便失业以后仍然有很多副业可以尝试。

网工/运维副业方向

运维网工,千万不要再错过这些副业机会!

第一个是知识付费类副业:输出经验打造个人IP

在线教育平台讲师

操作路径:在慕课网、极客时间等平台开设《CCNA实战》《Linux运维从入门到精通》等课程,或与培训机构合作录制专题课。
收益模式:课程销售分成、企业内训。

技术博客与公众号运营

操作路径:撰写网络协议解析、故障排查案例、设备评测等深度文章,通过公众号广告、付费专栏及企业合作变现。
收益关键:每周更新2-3篇原创,结合SEO优化与社群运营。

第二个是技术类副业:深耕专业领域变现

企业网络设备配置与优化服务

操作路径:为中小型企业提供路由器、交换机、防火墙等设备的配置调试、性能优化及故障排查服务。可通过本地IT服务公司合作或自建线上接单平台获客。
收益模式:按项目收费或签订年度维护合同。

远程IT基础设施代维

操作路径:通过承接服务器监控、日志分析、备份恢复等远程代维任务。适合熟悉Zabbix、ELK等技术栈的工程师。
收益模式:按工时计费或包月服务。

网络安全顾问与渗透测试

操作路径:利用OWASP Top 10漏洞分析、Nmap/BurpSuite等工具,为企业提供漏洞扫描、渗透测试及安全加固方案。需考取CISP等认证提升资质。
收益模式:单次渗透测试报告收费;长期安全顾问年费。

比如不久前跟我一起聊天的一个粉丝,他自己之前是大四实习的时候做的运维,发现运维7*24小时待命受不了,就准备转网安,学了差不多2个月,然后开始挖漏洞,光是补天的漏洞奖励也有个四五千,他说自己每个月的房租和饭钱就够了。

为什么我会推荐你网安是运维和网工人员的绝佳副业&转型方向?

1.你的经验是巨大优势: 你比任何人都懂系统、网络和架构。漏洞挖掘、内网渗透、应急响应,这些核心安全能力本质上是“攻击视角下的运维”。你的运维背景不是从零开始,而是降维打击。

2.越老越吃香,规避年龄危机: 安全行业极度依赖经验。你的排查思路、风险意识和对复杂系统的理解能力,会随着项目积累而愈发珍贵,真正做到“姜还是老的辣”。

3.职业选择极其灵活: 你可以加入企业成为安全专家,可以兼职“挖洞“获取丰厚奖金,甚至可以成为自由顾问。这种多样性为你提供了前所未有的抗风险能力。

4.市场需求爆发,前景广阔: 在国家级政策的推动下,从一线城市到二三线地区,安全人才缺口正在急剧扩大。现在布局,正是抢占未来先机的黄金时刻。

网工运维转行学习网络安全路线

在这里插入图片描述

(一)第一阶段:网络安全筑基

1. 阶段目标

你已经有运维经验了,所以操作系统、网络协议这些你不是零基础。但要学安全,得重新过一遍——只不过这次我们是带着“安全视角”去学。

2. 学习内容

**操作系统强化:**你需要重点学习 Windows、Linux 操作系统安全配置,对比运维工作中常规配置与安全配置的差异,深化系统安全认知(比如说日志审计配置,为应急响应日志分析打基础)。

**网络协议深化:**结合过往网络协议应用经验,聚焦 TCP/IP 协议簇中的安全漏洞及防护机制,如 ARP 欺骗、TCP 三次握手漏洞等(为 SRC 漏扫中协议层漏洞识别铺垫)。

**Web 与数据库基础:**补充 Web 架构、HTTP 协议及 MySQL、SQL Server 等数据库安全相关知识,了解 Web 应用与数据库在网安中的作用。

**编程语言入门:**学习 Python 基础语法,掌握简单脚本编写,为后续 SRC 漏扫自动化脚本开发及应急响应工具使用打基础。

**工具实战:**集中训练抓包工具(Wireshark)、渗透测试工具(Nmap)、漏洞扫描工具(Nessus 基础版)的使用,结合模拟场景练习工具应用(掌握基础扫描逻辑,为 SRC 漏扫工具进阶做准备)。

(二)第二阶段:漏洞挖掘与 SRC 漏扫实战

1. 阶段目标

这阶段是真正开始“动手”了。信息收集、漏洞分析、工具联动,一样不能少。

熟练运用漏洞挖掘及 SRC 漏扫工具,具备独立挖掘常见漏洞及 SRC 平台漏扫实战能力,尝试通过 SRC 挖洞搞钱,不管是低危漏洞还是高危漏洞,先挖到一个。

2. 学习内容

信息收集实战:结合运维中对网络拓扑、设备信息的了解,强化基本信息收集、网络空间搜索引擎(Shodan、ZoomEye)、域名及端口信息收集技巧,针对企业级网络场景开展信息收集练习(为 SRC 漏扫目标筛选提供支撑)。

漏洞原理与分析:深入学习 SQL 注入、CSRF、文件上传等常见漏洞的原理、危害及利用方法,结合运维工作中遇到的类似问题进行关联分析(明确 SRC 漏扫重点漏洞类型)。

工具进阶与 SRC 漏扫应用:

  • 系统学习 SQLMap、BurpSuite、AWVS 等工具的高级功能,开展工具联用实战训练;

  • 专项学习 SRC 漏扫流程:包括 SRC 平台规则解读(如漏洞提交规范、奖励机制)、漏扫目标范围界定、漏扫策略制定(全量扫描 vs 定向扫描)、漏扫结果验证与复现;

  • 实战训练:使用 AWVS+BurpSuite 组合开展 SRC 平台目标漏扫,练习 “扫描 - 验证 - 漏洞报告撰写 - 平台提交” 全流程。
    SRC 实战演练:选择合适的 SRC 平台(如补天、CNVD)进行漏洞挖掘与漏扫实战,积累实战经验,尝试获取挖洞收益。

恭喜你,如果学到这里,你基本可以下班搞搞副业创收了,并且具备渗透测试工程师必备的「渗透技巧」、「溯源能力」,让你在黑客盛行的年代别背锅,工作实现升职加薪的同时也能开创副业创收!

如果你想要入坑黑客&网络安全,笔者给大家准备了一份:全网最全的网络安全资料包需要保存下方图片,微信扫码即可前往获取!

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

(三)第三阶段:渗透测试技能学习

1. 阶段目标

全面掌握渗透测试理论与实战技能,能够独立完成渗透测试项目,编写规范的渗透测试报告,具备渗透测试工程师岗位能力,为护网红蓝对抗及应急响应提供技术支撑。

2. 学习内容

渗透测试核心理论:系统学习渗透测试流程、方法论及法律法规知识,明确渗透测试边界与规范(与红蓝对抗攻击边界要求一致)。

实战技能训练:开展漏洞扫描、漏洞利用、电商系统渗透测试、内网渗透、权限提升(Windows、Linux)、代码审计等实战训练,结合运维中熟悉的系统环境设计测试场景(强化红蓝对抗攻击端技术能力)。

工具开发实践:基于 Python 编程基础,学习渗透测试工具开发技巧,开发简单的自动化测试脚本(可拓展用于 SRC 漏扫自动化及应急响应辅助工具)。

报告编写指导:学习渗透测试报告的结构与编写规范,完成多个不同场景的渗透测试报告撰写练习(与 SRC 漏洞报告、应急响应报告撰写逻辑互通)。

(四)第四阶段:企业级安全攻防(含红蓝对抗)、应急响应

1. 阶段目标

掌握企业级安全攻防、护网红蓝对抗及应急响应核心技能,考取网安行业相关证书。

2. 学习内容

护网红蓝对抗专项:

  • 红蓝对抗基础:学习护网行动背景、红蓝对抗规则(攻击范围、禁止行为)、红蓝双方角色职责(红队:模拟攻击;蓝队:防御检测与应急处置);

  • 红队实战技能:强化内网渗透、横向移动、权限维持、免杀攻击等高级技巧,模拟护网中常见攻击场景;

  • 蓝队实战技能:学习安全设备(防火墙、IDS/IPS、WAF)联动防御配置、安全监控平台(SOC)使用、攻击行为研判与溯源方法;

  • 模拟护网演练:参与团队式红蓝对抗演练,完整体验 “攻击 - 检测 - 防御 - 处置” 全流程。
    应急响应专项:

  • 应急响应流程:学习应急响应 6 步流程(准备 - 检测 - 遏制 - 根除 - 恢复 - 总结),掌握各环节核心任务;

  • 实战技能:开展操作系统入侵响应(如病毒木马清除、异常进程终止)、数据泄露应急处置、漏洞应急修补等实战训练;

  • 工具应用:学习应急响应工具(如 Autoruns、Process Monitor、病毒分析工具)的使用,提升处置效率;

  • 案例复盘:分析真实网络安全事件应急响应案例(如勒索病毒事件),总结处置经验。
    其他企业级攻防技能:学习社工与钓鱼、CTF 夺旗赛解析等内容,结合运维中企业安全防护需求深化理解。

证书备考:针对网安行业相关证书考试内容(含红蓝对抗、应急响应考点)进行专项复习,参加模拟考试,查漏补缺。

运维网工转行网络攻防知识库分享

网络安全这行,不是会几个工具就能搞定的。你得有体系,懂原理,能实战。尤其是从运维转过来的,别浪费你原来的经验——你比纯新人强多了。

但也要沉得住气,别学了两天Web安全就觉得自己是黑客了。内网、域渗透、代码审计、应急响应,要学的还多着呢。

如果你真的想转,按这个路子一步步走,没问题。如果你只是好奇,我劝你再想想——这行要持续学习,挺累的,但也是真有意思。

关于如何学习网络安全,笔者也给大家整理好了全套网络安全知识库,需要的可以扫码获取!

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

1、网络安全意识
在这里插入图片描述

2、Linux操作系统
在这里插入图片描述

3、WEB架构基础与HTTP协议
图片

4、Web渗透测试
在这里插入图片描述

5、渗透测试案例分享
图片

6、渗透测试实战技巧
图片

7、攻防对战实战
图片

8、CTF之MISC实战讲解
图片

关于如何学习网络安全,笔者也给大家整理好了全套网络安全知识库,需要的可以扫码获取!

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值