Software Testing软件测试小白学习记录(&1.02知识框架梳理完整版)


一、Linux知识
1)XSHELL6/XFTP6: https://www.netsarang.com/en/free-for-home-school/
Free for non-commercial use 非商业用途免费

2)Vi/vim编辑器:
https://catswhocode.com/vim-commands/
https://zhuanlan.zhihu.com/p/51440836

3)Linux 软件安装:

1.Ubuntu软件安装:
https://askubuntu.com/questions/307280/how-do-i-install-applications-in-ubuntu
安装多种途径
1 Ubuntu Software Center
2 Synaptic Package Manager
3 Installing via Terminal
4 Manual download .deb
5 .tar.gz extraction

常用安装命令:sudo apt-get install filename
yum官方文档:http://yum.baseurl.org/
Linux Docker官方文档:
https://docs.docker.com/install/linux/docker-ce/ubuntu/

镜像内容可以是系统、光盘、软件,网站,甚至服务器。一般说的镜像是指给系统作个ghost镜像。 这样可以在很短时间,很方便的还原出一个完整的系统来

二、Shell脚本知识

GNU Bash (Linux Shell的名称)官方文档:
https://www.gnu.org/software/emacs/manual/html_node/tramp/Concept-Index.html

1)Shell 基础:
https://www.zhihu.com/question/21281304

2)Shell 逻辑控制
见Bash Reference Manual pdf文档

3)Shell 函数
Bash Reference Manual 3.3 Shell Functions

4)Windows 脚本&批处理
使用PowerShell:Microsoft官方文档
https://docs.microsoft.com/en-us/powershell/

三、互联网程序原理
1)Web前端开发基础
HTML (超文本标记语言)& CSS (层叠样式表)
1.W3C标准:
https://www.w3.org/html/
2.HTML 5.2官方文档:
https://www.w3.org/TR/html52/

2)Web前端开发脚本:JavaScript
1.EMCAScript文档:
http://www.ecma-international.org/ecma-262/5.1/
2.MNC(Mozilla developer network)的JavaScript文档:
https://developer.mozilla.org/en-US/docs/Web/JavaScript

3)开发者调试工具测试应用
F12键

4)互联网程序网络架构
1.互联网程序
2.互联网通信原理
3.TCP\UCP\HTTP协议

5)HTTP协议数据结构分析
数据解析(Parse 不是统计上的Data Analysis)

  1. Request, Response
  2. Header(头字段)
  3. REST(Representational State Transfer)
  4. 常见Body数据形式

6)Cookie与Session机制
测试Cookie与Session

四、Mysql数据库

1)Mysql数据库测试应用
1.Mysql:https://dev.mysql.com/doc/
2.Navicat:https://www.navicat.com/en/support/online-manual

2)Mysql高级查询(Advanced Queries)
见Mysql官方文档

3)Mysql自定义函数(User-defined functions)
https://dev.mysql.com/doc/refman/8.0/en/adding-udf.html

4)Mysql存储过程SP(Save-point)
https://dev.mysql.com/doc/refman/8.0/en/savepoint.html

5)Mysql事务与编程(Transaction)
事务的4个特征ACID
Atomicity原子性
Consistency一致性
Isolation隔离性
Durability持久性

五、抓包工具(Packet Capture)

1)抓包原理与方式

2)抓包工具选择

3)Fiddler基础功能
Fiddler官方文档:
https://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureFiddler

  1. 数据过滤(Filter):
    https://docs.telerik.com/fiddler/knowledgebase/filters
  2. Find Sessions
  3. Web,非Web(non-web),手机(Mobile),和HTTP环境抓包

4)Fiddler高级功能
1.接口测试(API testing)
2.断点(Break-point)
3.脚本:
https://docs.telerik.com/fiddler/knowledgebase/fiddlerscript/modifyrequestorresponse
4.模拟数据(使用Auto-responder)
Autoresponder官方文档:
https://docs.telerik.com/fiddler/knowledgebase/autoresponder
参考:https://blog.csdn.net/lintax/article/details/68969502
5.自定义菜单栏:
https://docs.telerik.com/fiddler/knowledgebase/fiddlerscript/customizemenus

5)Wireshark
过滤和分析:
https://www.wireshark.org/docs/man-pages/wireshark-filter.html

6)Sniffer
7)Tcpdump
apt-get install tcpdump

六、接口测试工具

1)Jmeter接口测试入门
Jmeter组件(Component):
官方文档:
https://jmeter.apache.org/usermanual/component_reference.html
1.录制脚本(Script Recorder):
https://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.html
2.线程(Thread):
&18.9
3.作用域(Scope)
4.断言(Assertions):
&18.5

2)Jmeter接口测试进阶使用
1.逻辑控制(logic controllers)
见Jmeter官方文档&18.2
2.前置处理器(Pre Processors)
&18.7
3.后置处理器(Post Processors)
&18.8
4.监视器(Listener)
&18.3
5.结果树(Results Tree)
&18.3
6.参数化
&20.Functions and Variables
7.正则表达式(Regular Expression):
&18.8
8.事务(Session)
9.检查点(Checkpoint)
10.动态数据项目

3)Jmeter接口测试高级功能
1.脚本思考时间(Think times)
2.随机时间(Random Timer)
&18.6
3.线程启动间隔(Ramp-up Period)
4.并发集合点(使用Synchronizing Timer)
5.联机远程调用(见&13.Remote Testing [远程测试])
https://jmeter.apache.org/usermanual/remote-test.html
6.Webservice(Web服务)
Jmeter SOAP(简单S对象O访问A协议P) Webservice官方文档:
https://jmeter.apache.org/usermanual/build-ws-test-plan.html
7.Websocket协议
8.Jdbc
9.命令行调用

4)Postman接口测试工具使用
Postman 官方文档:
https://learning.postman.com/docs/postman/
1.基本请求 (API Requests)
2.分组保存(Collection)
3.动态变量(Dynamic Variable)
4.脚本(Scripts)
5.数据关联:https://zhuanlan.zhihu.com/p/102686588
6.参数化
7.自动断言:见&Test Scripts
8.批量运行(Collection Runs)
9.持续集成(Integration)

七、Web自动化测试Java&Pyhton

1)自动化框架思路引导
2)Java&Python3开发环境及基本语法
3)Java&Python3集合类型与面向对象开发
1.基本类型
2.集合数据类型
3.循环语句
4.判断语句
5.OOAD
6.函数
7.类(class)

4)Selenium3环境与浏览器驱动配置
见https://www.selenium.dev/documentation/
1.自动化环境搭建
2.浏览器配置:见Driver Requirements

5)Selenium3定位及动态操作
见Getting Started with WebDriver>>>Locating elements

6)特殊情况处理(Js、特殊控件)
1.日期控件(Date Picker)
2.等待(Waits):
https://www.selenium.dev/documentation/en/webdriver/waits/
3.文件上传下载
4.iframe网页嵌套结构
5.弹窗处理:见WebDriver>>>JavaScript alerts, prompts and confirmations
6.Cookie处理:见Support packages>>>Working with cookies
7.JavaScript脚本调用

7)Testing&unittest自动化框架使用
1.Python unittest:
见https://docs.python.org/3/library/unittest.html
2.Java testing
3.环境处理
4.基本使用逻辑
5.数据驱动模型(Data Driven Framework)
6.数据库数据载入

8)自动化框架断言与日志处理
Python unittest断言方法:
https://docs.python.org/3/library/unittest.html#assert-methods

9)PageObject框架设计模式
https://blog.csdn.net/JOJOY_tester/article/details/55045393

八、接口与手机自动化

1)接口自动化方案Requests
1.Python Request:
https://requests.readthedocs.io/en/master/
2.Java Httpclient:
https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpClient.html

2)Web+自动化框架整合

3)Appium环境搭建
http://appium.io/docs/en/about-appium/getting-started/index.html

4)Appium自动化实战与框架结合


以下为更新内容(2020/4/21)

九、敏捷测试&TestOps构建

1)构建敏捷测试运维架构体系
1.什么是敏捷测试:
参考:https://www.scrum.org/resources/what-is-scrum
、敏捷测试是运用在复杂产品上的一种简便而有效的团队合作开发框架。
Software Testing软件测试小白学习记录(&1.02知识框架梳理完整版)_第1张图片
、敏捷的5个核心价值:
勇气(Courage)
专注(Focus)
承诺(Commitment)
尊重(Respect)
公开(Openness)
、敏捷开发团队中的3种角色:
产品用户:负责提出产品蓝图(Product Backlog)的条目
开发团队:
敏捷队长:

、敏捷事件:
周期/迭代(Sprint)
周期设计(Sprint Planning)
每日会议(Daily Scrum)
周期评价(Sprint Review)
周期反思(Sprint Retrospective)

、敏捷开发的3件宝物:
产品蓝图(Product Backlog)
周期蓝图(Sprint Backlog)
阶段成果(Increment)

2.什么是devops:
“从研发推动配合运维和测试”
目的在于缩短开发周期与提高产品质量
3.什么是testops:
“从测试角度推动研发和运维”
DevOps与TestOps详解:
https://www.cnblogs.com/fnng/p/8232410.html

2)持续集成:Jenkins框架
“Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software.”
官方文档:https://jenkins.io/doc/
1.操作
2.权限
Role-based Authorization Strategy插件:
https://plugins.jenkins.io/role-strategy/
3.系统管理

3)静态扫描测试Sonar(静态代码测试/统一规范)
https://www.sonarqube.org/

十、性能测试

1)学习路线
“注重接口的基础,以及测试思路和策略,工具只是辅助”
2)LoadRunner脱离浏览器录制
下载:
https://www.microfocus.com/zh-cn/products/loadrunner-professional/download

3)性能测试工具实际操作

4)系统监控方案
1.工具自带监控:Jmeter
2.系统监控:AgileLoad
3.JVM内部监控:VisualVM
4.数据库监控:Jmeter

十一、安全测试

1)安全测试与工具介绍
https://www.guru99.com/what-is-security-testing.html

2)手动Web安全测试
6个测试手段:
https://www.testbytes.net/blog/how-to-do-security-testing-best-practices/

3)安全扫描工具测试
1.Appscan:https://www.hcltechsw.com/products/appscan

2.Awvs(Acunetix Web Vulnerability Scanner):
https://www.acunetix.com/vulnerability-scanner/

4)企业安全建设(S SDLC - Secure Software Development Life Cycle)
CISA(US)资料:
https://www.us-cert.gov/bsi/articles/knowledge/sdlc-process/secure-software-development-life-cycle-processes

知识梳理基本完成


本文框架来源:https://zhuanlan.zhihu.com/p/34897270

你可能感兴趣的:(资源整理)