3년간의 아웃소싱 테스트 끝에 이직 후 화웨이에 성공적으로 입사하게 되었고, 제의를 받은 날 눈물을 펑펑 흘렸습니다...

아웃소싱 테스트에 관해 대부분의 사람들의 첫인상은 높은 작업 강도, 낮은 기술 콘텐츠, 소속감 없음입니다. 3년 동안 아웃소싱을 하면서 느낀 점은 이 직업이 소속감이 부족하고 마음속에 늘 공백이 있다는 것, 개선의 여지가 별로 없고 핵심기술을 접할 수 없다는 것이었습니다. 기술 교육 및 탐색을 제공하지 않습니다. 작업은 간단하고 비즈니스는 반복되며 일반적으로 도구입니다. 인간 존재. 월급도 높지 않고, 초과근무수당도 있지만 아직 높지 않아서 생각해보면 아직은 발전할 준비가 되어있습니다.

우연히 처음에는 자동화된 테스트를 접하게 되었고, Jenkins 운영, Linux 명령줄과 같은 기본 기술도 배웠습니다.

당신은 학습 중이거나 학습을 진행 중입니다. 나중에 일부 코드와 프레임워크를 접하고 배운 지식을 자신의 프로젝트에 통합하려고 합니다. 셀레늄, 웹 사이트 아키텍처, 코드 지식, 지식, 네트워크 병목 현상, 시스템 최적화, 최적화 스크립트, 설계 시나리오를 배우고, 대상 사용자 볼륨을 확보하고, 스트레스 결과를 실행 및 분석하기 위해 자신의 프로젝트에 대한 테스트 프레임워크를 구성하십시오.

마침내 Huangtian은 아웃소싱 테스트 업무를 그만둔 후 성공적으로 화웨이에 합류했고, 제의를 받은 순간 더 이상 참을 수 없었습니다. 지난 3년의 괴로움은 그 순간 눈물로 바뀌었습니다.

다음은 이 기간 동안 제가 공부한 내용을 요약한 것입니다.

1. 테스트 기본 사항

테스트의 기본 기술을 이해하고, 주류 결함 관리 도구의 사용을 숙달하며, 테스트 환경의 운영 및 유지 관리에 능숙합니다.

프로그래머 레이 삼촌 테스트 기본 사항
테스트 계획/테스트 케이스 블랙박스 유스케이스 설계 동등 클래스/경계값/시나리오 분석/의사결정표/인과도 분석/오류 추론
결함 결함 수명주기/결함 분류/결함 관리 도구 ZenTao/Jira
데이터 베이스 Mysql/환경설정/추가, 삭제, 수정/쿼리/연관쿼리/저장프로시저
리눅스 시스템 설정/기본 사용법/로그 분석/환경 설정

2. 리눅스(Linux)에 대한 필수 지식
가장 널리 사용되는 소프트웨어 환경 시스템인 리눅스(Linux)를 숙달해야 하며, 현재 채용요건에는 리눅스 역량이 요구됩니다.

프로그래머 레이 삼촌 리눅스 필수 지식
Linux 시스템 도입 및 준비 요즘 가장 대중적인 소프트웨어 환경 시스템으로 Linux를 배울 수 있는 방법을 알아야 하며, CenterOS 버전 시스템 소개, 설치, 디렉토리 구조 등 기본적인 내용부터 시작하여 이후의 자체 구축 테스트 환경도 준비하게 됩니다.
Linux 원격 도구 Xshell Xshell 및 Xftp 도구를 포함하여 Linux 사용을 시작하고 정기적인 원격 관리 및 파일 전송 작업을 수행하는 방법에 대한 자세한 소개
Linux 파일 속성 및 관리 Linux 파일, 기본 디렉터리 속성, 파일 작업, 파일 관리, 디렉터리 작업, 디렉터리 관리. 자멸적인 작업을 방지하고 우발적인 작업을 방지하는 방법
Linux 사용자 및 그룹 관리 권한 문제로 인해 더 이상 문제가 발생하지 않도록 Linux에서 사용자 및 그룹을 추가, 삭제, 수정하고 해당 권한을 부여하는 방법
리눅스 파일 편집기 Linux 파일 편집기 vi 사용, 명령 모드, 입력 모드, 작동 예, 단축키, 파이프 명령, 사용 경험. 그래픽 없이 시스템에서 편집하는 방법은 무엇입니까?
Linux 공통 시스템 설정 네트워크 설정, 환경 변수, 디스크 관리, 시간 설정, 시스템 리소스, 방화벽 등 모든 것이 가능하니 모르셔도 걱정하지 마세요.
리눅스 설치 소프트웨어 Linux 설치 명령어와 MySQL 데이터베이스 설치 등 tar, gz 등 네트워크에서 다운로드한 설치 파일을 통해 설치하는 방법을 안내합니다.
리눅스 도커 컨테이너 Docker 컨테이너 기술, 이미지 관리, 웨어하우스, 컨테이너 생성, 스타트업, 운영, 이미지 패키징, 인기 산업 기술 따라잡기에 대한 설명

3. 쉘 스크립트
마스터 쉘 스크립트: 쉘 기본 및 응용 프로그램, 쉘 논리 제어 및 쉘 논리 기능 포함

프로그래머 레이 삼촌 껍데기
Linux 셸 기본 사항 및 애플리케이션 쉘 스크립트 프로그래밍 소개, 환경 유형, 변수, 매개변수, 연산자, 배열 사용, 스크립트와의 긴밀한 접촉
Linux 쉘 논리 제어 쉘 로직 애플리케이션, 테스트 명령, 프로세스 제어, 데이터 입력 및 출력, 스크립트 로직은 더 이상 단조롭지 않으며 트릭을 사용할 수 있습니다.
리눅스 쉘 기능 쉘 스크립트 함수를 작성하는 방법, 파일을 서로 호출하는 방법, 스크립트를 실제로 적용하는 방법 개발, 테스트, 운영 방법을 안다면 무엇을 할 수 있을까요?
Windows 스크립트 배치 Linux를 충분히 가지고 놀면서 일반 Windows 명령의 사용법, 배치 스크립트 작성 방법 및 실제 응용 프로그램을 살펴보겠습니다. Linux가 모든 곳에 있는 것은 아닙니다. Windows 스크립트도 일반적으로 사용되는 스크립트 중 하나입니다. 이것을 보면 아마도 윈도우를 사용하세요.

4. 인터넷 프로그램 원리

자동화를 위한 유일한 방법: 프론트 엔드 개발에 대한 기본 지식과 인터넷 네트워크에 대한 필수 지식 4. 인터넷 프로그램 원리

프로그래머 레이 삼촌 인터넷 프로그램 원칙
웹 프런트엔드 개발 기본 사항 HTML과 CSS의 기본 내용을 알아보세요. 테스트 코스가 개발된 이유는 무엇입니까? 죄송합니다. 그렇지 않다면 자동화가 환영받지 못할 수도 있습니다. 많은 자동화된 테스트 문제는 개발 기반에서 발생합니다.
웹 프론트엔드 개발 스크립트 JavaScript는 가장 주류를 이루는 스크립트 학습입니다. 마찬가지로 자동화된 테스트에도 포함됩니다. 실제로 동적 스크립트는 일부 도구에서 자주 사용되며 JavaScript 언어이기도 합니다.
애플리케이션 테스트를 위한 개발자 디버깅 도구 브라우저의 F12는 개발자 도구로 명명되었지만 실제로 테스트는 기능 테스트와 자동화 테스트 모두에서 중요한 역할을 합니다. HTML 구문 분석, 요소 찾기, 스크립트 디버깅, 네트워크 패킷 캡처 모니터링 등.
인터넷 프로그램 네트워크 아키텍처 네트워크 아키텍처, 논리적 세부 사항, 인터넷 통신 원리가 데이터를 다른 컴퓨터로 전송하는 방법, TCP, UCP, HTTP 및 기타 프로토콜 간의 관계가 무엇인지를 통해 인터넷 프로그램의 탄생을 자세히 이해합니다.
HTTP 프로토콜 데이터 구조 분석 요청 및 응답 데이터 형식, 헤더의 정의 및 사용법, 각 상태가 나타내는 내용, 오류 식별 방법을 포함한 HTTP 프로토콜 데이터 구조를 완전히 분석합니다. 프로토콜 내 매개변수의 위치, 나머지 구조, 다양한 공통 본문 데이터 형식, 구문 분석 방법, 공통 데이터 구문 분석 오류의 원인을 분석합니다.
쿠키 및 세션 메커니즘 Cookie가 무엇인지, Session과 어떤 관계를 가지고 있는지, Cookie와 Session을 테스트하는 방법, 주의할 점 등을 해석해 보세요.

5. MySQL 데이터베이스

소프트웨어 테스트 엔지니어는 기본적인 "추가, 삭제, 수정 및 확인"뿐만 아니라 MySQL 데이터베이스 지식도 갖추고 있어야 합니다.

프로그래머 레이 삼촌 MySQL 데이터베이스
MySQL 데이터베이스 테스트 애플리케이션 MySQL 환경 구축, 클라이언트 Navicat의 기본 사용법과 데이터 연산, 기본 SQL 구문 학습 및 통합, 추가, 삭제, 수정 및 확인이 필수이며 다양한 조건의 사용법을 마스터합니다.
MySQL 고급 쿼리 쿼리 업그레이드, 다중 테이블 쿼리 마스터, 하위 쿼리, 쿼리 그룹화, 통계 기능 사용, 전형적인 면접 질문 연구 및 분석
MySQL 사용자 정의 기능 내장된 함수가 있기 때문에 자주 사용되는 사용자 정의 함수를 위한 공간이 부족하지 않으며, 다른 개발 언어와 마찬가지로 함수의 정의 및 사용과 분리될 수 없습니다.
MySQL 저장 프로시저 SP 일반적으로 SP라고도 하는 데이터베이스에 필수적인 저장 프로시저를 정의하는 방법은 무엇입니까? 테스트하는 방법? 보다 안전하게 사용하는 방법, 저장 프로시저로 수행할 수 있는 다른 작업 테스트 및 테스트에 편리한 추가 콘텐츠
MySQL事物与编程 数据库事务使用案例,索引的原理与使用,数据库SQL编程在测试中的应用,如何用其快速精准的产生大量指定的测试数据

六、抓包工具
Fiddler,Wireshark,Sniffer,Tcpdump各种抓包工具适用于各种项目,总有一款适合你的

程序员雷叔 抓包工具
抓包原理与方式 只有了解抓包的原理,才能真正去用好一个适合的工具,选择合适的方向和方法,否则都是徒劳的
抓包工具选择 抓包工具的分类与功效,什么样的项目适合哪种工具,如何去辨别工具的优势
Fiddler基础功能 作为专业的HTTP体系的抓包工具,详细介绍其工具原理,如何过滤数据,如何搜索想要的数据,如何对web,非web,手机,HTTPS协议等各种环境进行抓包
Fiddler高级功能 学会使用其进行接口测试,断电,脚本等方式进行数据的修改,替换,模拟数据进行接口Mock测试,创建自己定义的菜单功能
Wireshark 与其说是抓包,更是一种抓包后的分析工具,在各个系统下利用其它与系统一体化的抓包工具进行数据抓取整理并展示,有着强大的过滤和分析功能
Sniffer 黑科技抓包工具,有多种版本,非常专业的抓包工具
Tcpdump Linux、Android系列的系统中的抓包插件神器

七、接口测试工具
接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman

程序员雷叔 接口测试工具
Jmeter接口测试入门 Jmeter简介,环境准备,目录结构介绍 ,如何录制脚本,以及基础组件的使用,线程、作用域、HTTP请求、定时器、断言等等
Jmeter接口测试进阶使用 Jmeter逻辑控制、前置处理器、后置处理器、监视器、结果树,如何参数化、正则表达式关联、事务、检查点等等。并带领大家对带有token等动态数据的项目进行实战演练
Jmeter接口测试高级功能 Jmeter脚本思考时间、随机时间、线程启动间隔、并发集合点、联机远程调用,webservice、websocket、jdbc、命令调用等等
Postman接口测试工具使用 行业标准HTTP、rest接口测试神器,基本请求、分组保存、动态变量、脚本、数据关联、参数化、自动断言、批量运行、持续集成。思路类似其他接口工具,避免泛滥学习

八、Web自动化测试Java&Python
了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理

程序员雷叔 Web自动化测试Java&Python
自动化框架思路引导 我们做自动化到底为了什么?节省人力、加快速度、还是让机器代替手动、还是提升自我。应该如何建立思路,而非无脑进坑任机器摆布
Java&Python3开发环境及基本语法 Java&Python开发环境搭建,基础语法入门,让不会代码的以最快速度入门,方便适应后续自动化测试开发内容学习,代码够用即可,并不是学得越多越好
Java&Python3集合类型与面向对象开发 Java&Python各种基本类型、集合数据类型的理解与操作,循环语句、判断语句,面向对象的开发,函数的使用,类的使用
Selenium3环境与浏览器驱动配置 基于selenium3的web自动化环境搭建,正确的浏览器配置,不再为起不了浏览器而烦恼。支持IE、Firefox、Chrome等等
Selenium3多种定位及动态操作 selenium3常见定位方法,属性和值的获取,如何动态判断不一定存在的元素,复杂的网页结构,需要多步骤操作的元素等等
特殊情况处理(js、特殊控件等) selenium3自动化测试中,常见的特殊情况处理,如日期、控件、智能等待、文件上传下载、网页嵌套结构,各种弹窗的处理方式,cookie处理,JavaScript脚本调用等
TestNG&unittest自动化框架使用 Python unittest、Java TestNG自动化框架的使用,环境处理、基本使用逻辑,数据驱动模型,数据库数据载入等
自动化框架断言与日志处理 自动化中最重要的是什么?作为测试当然是断言,没有断言的自动化毫无用处,如何展示日志与结果是自动化测试的根本
PageObject框架设计模式 PageObject框架设计模式,到底是做什么的?如何更好的快速管理控件,从此做起

九、接口与移动端自动化
专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用

程序员雷叔 接口与移动端自动化
接口自动化方案Requests Python Requests、Java HTTPclient接口框架,都是专业的接口调用、测试的解决方案,使用简单快速,结合工具的使用方式和功能,快速上手并对其操作,解决其中的疑难杂症
web+自动化框架整合 自动化测试是相通的,如何将web与接口、甚至更多的测试类型和方向结合起来,组成完整的自动化框架
Appium环境搭建 Appium环境相对复杂,针对Android系统进行完整的环境搭建演练,解决环境上的问题,并进行基本的自动化操作
Appium自动化实战与框架结合 Appium整体使用与web自动化类似,引导使用典型功能,并针对一款APP进行实战操作



十、敏捷测试&TestOps构建
揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心

程序员雷叔 敏捷测试&TestOps构建
构建敏捷测试运维架构体系 敏捷测试是什么?为什么需要敏捷,行业都提到的devops又是什么?TestOps能做什么
持续集成Jenkins框架实战 持续集成最常见的一套框架,介绍Jenkins操作、权限、系统管理等,常用构建与运行实例讲解
静态扫描测试Sonar 一款自动化的代码扫描工具,便捷式快速扫描代码中的问题,做到提前发现,统一规范,自动化中的代码测试神器

十一、性能测试&安全测试
软件测试的彼岸:性能测试和安全测试,选个方向努力爬坑吧!

程序员雷叔 性能测试&安全测试
性能测试学习路线 如何学习性能测试,性能测试到底该怎么学习,使用什么工具?工具并不代表性能,接口的基础对性能测试非常重要,而工具只是辅助,更多的是思路和策略。你不会并不是分析而是准备阶段
loadrunner脱离浏览器录制专题 IE无法启动被测网站?打不开浏览器?程序无法在浏览器中被打开?这些都没关系,还是一样能录制,但录制是偷懒专用的,对于学习有一定的辅助作用,也会带入无法脱离的坑
性能测试工具操作实践 loadrunner、jmeter,有了前面的基础使用,看懂脚本不是问题,带上关键的参数化、动态数据关联、事物、日志,大部分的脚本都可以搞定进行实践
系统监控方案实施 工具自带监控?系统监控?JVM内部监控?数据库监控?各种监控的意义何在,如何在各种情况下精准监控数据
安全测试起源与工具介绍 应该如何进行安全测试,安全测试都有哪些分类?都会用到什么样的工具,各自的作用又是什么,如web漏洞扫描,端口扫描,系统扫描等
web安全测试手工实战 接口测试在安全中的作用,不会手动的安全测试,那就永远无法理解自动化以后产出的结果
安全扫描工具测试实践 实际介绍以及使用APPscan、awvs等专业安全扫描工具
企业安全建设(SDLC) 企业应该如何进行安全建设,制定更安全的软件生命周期。从哪些方面进行着手

上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系在3-4个月完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

大厂软件测试岗经验分享

通过大数据总结发现,其实软件测试岗的面试都是差不多的。常问的有下面这几块知识点:

全网首发-涵盖16个技术栈

第一部分,测试理论(测试基础+需求分析+测试模型+测试计划+测试策略+测试案例等等)

第二部分,Linux( Linux基础+Linux练习题)

第三部分,MySQL(基础知识+查询练习+万年学生表经典面试题汇总+数据库企业真题)

第四部分,Web测试

第五部分,API测试

第六部分,App测试

第七部分,管理工具

第八部分,Python基础(Python基础+编程题+集合+函数+Python特性等等)

第九部分,Selenium相关

第十部分,性能测试

第十一部分,LordRunner相关

第十二部分,计算机网络

第十三部分,组成原理

第十四部分,数据结构与算法

第十五部分,逻辑题

第十六部分,人力资源

软件测试基础

软件测试的步骤是什么?

如何录制测试脚本?

应该考虑进行如何测试的测试方法

怎样估计测试工作量?

测试设计的问题

当测试过程发生错误时,有哪几种解决办法?

测试执行的问题

测试评估的目标

如何提高测试?

C/S模式的优点和缺点

B/S模式的优点和缺点
在这里插入图片描述

Linux
grep和find的区别? grep 都有哪些用法?

查看IP地址?

创建和删除一个多级目录?

在当前用户家目录中查找haha.txt文件?

如何查询出tomcat的进程并杀掉这个进程,写出linux命令?

动态查看日志文件?

查看系統硬盘空间的命令?

查看当前机器listen 的所有端口?
在这里插入图片描述

Python
统计python源代码文件中代码行数,去除注释,空行,进行输出?

python调用cmd并返回结果?

冒泡排序

1,2,3,4 这4个数字,能组成多少个互不相同的且无重复的三位数,都是多少?

请用 python 打印出 10000 以内的对称数(对称数特点:数字左右对称,如:1,2,11,121,1221 等)

给定一个整数 N,和一个 0-9 的数 K,要求返回 0-N 中数字 K 出现的次数

判断 101-200 之间有多少个素数,并输出所有的素数

一个输入三角形的函数,输入后输出是否能组成三角形,三角形类型,请用等价类- 划分法设计测试用例
在这里插入图片描述

MySQL
你用的Mysql是哪个引擎,各引擎之间有什么区别?

如何对查询命令进行优化?

数据库的优化?

Sql注入是如何产“生的,如何防止?

NoSQL和关系数据库的区别?

MySQL与MongoDB本质之间最基本的差别是什么

Mysql数据库中怎么实现分页?

Mysql数据库的操作?

优化数据库?提高数据库的性能?

什么是数据的完整性?
在这里插入图片描述

Web

Web测试和app测试区别?

WEB测试环境搭建和测试方法

WEB测试教程

WEB测试要点及基本方法

Web测试页面总结

在这里插入图片描述

接口测试
什么是接口

如果模块请求http改为了https,测试方案应该如何制定,修改?

常用HTTP 协议调试代理I具有什么?详细说明抓取HTTPS协议的设置过程?

描述TCP/IP协议的层次结构,以及每一-层中重要协议

jmeter,一个接口的响应结果如下:

接口产生的垃圾数据如何清理

依赖第三方的接口如何处理

测试的数据你放在哪?

什么是数据驱动,如何参数化?


在这里插入图片描述

性能测试
你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?

服务端性能分析都从哪些角度来进行?

如何理解压力测试,负裁测试以及性能测试?

如何判断是否有内存泄漏及关注的指标?

描述软件产“生内存泄露的原因以及检查方式。(可以结合- 种开发语言进行描述)

简述什么是值传递,什么是地址传递,两者区别是什么?

什么是系统瓶颈?

在这里插入图片描述

selenium
如何开展自动化测试框架的构建?

如何设计自动化测试用例:

webdriver如何开启和退出一个浏览器?

什么是自动化测试框架?

Selenium是什么,流行的版本有哪些?

你如何从命令行启动Selenium RC?

在我的机器端口4444不是免费的。我怎样才能使用另一个端口?

什么是Selenium Server,它与Selenium Hub有什么不同?

你如何从Selenium连接到数据库?

你如何验证多个页面上存在的一个对象?

XPath中使用单斜杠和双斜杠有什么区别?

如何编写SeleniumIDE/ RC的用户扩展?

如何在页面加载成功后验证元素的存在?

你对Selenium Grid有什么了解?它提供了什么功能?

如何从你的Java Class启动Selenium服务器?

Selenium中有哪些验证点?

什么是XPath?什么时候应该在Selenium中使用XPath?


在这里插入图片描述

计算机与网络
一台计算机的IP是192.168.10.71子网掩码255.255.255.64与192.168.10.201 …

请简述DNS、活动目录、域的概念。

10M兆宽带是什么意思?理论下载速度是多少?

什么是IP地址?

OSI七层网络模型的划分?

TCP和UDP有什么不同?

HTTP属于哪一层的协议?

HTTP和HTTPS的区别?

cookies和session的区别?

HTTP的get请求和post请求的区别?

HTTP1.0和HTTP1.1有什么区别

TCP的连接建立过程,以及断开过程?

客户端使用DHCP获取IP的过程?

写出某个网段的网络地址和广播地址?


在这里插入图片描述

在这里插入图片描述

人力资源
你的测试职业发展是什么?你自认为做测试的优势在哪里?

你找工作时,最重要的考虑因素为何?

为什么我们应该录取你?

请谈谈你个人的最大特色。

一个测试工程师应具备那些素质和技能?

还有问一下你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度地保证软件质量?

为什么选择测试这行?

如果我雇用你,你能给部门带来什么贡献?
在这里插入图片描述

文档获取方式:

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点击下方小卡片进群免费获取。

추천

출처blog.csdn.net/chengxuyuznguoke/article/details/132610276