阿里首推内部测试开发学习手册(完整版),开放下载!这也太香了

1,130 阅读10分钟

最近几经波折从一位阿里大佬那边到手了这一份最新开源的阿里测开学习笔记,希望各位测试新人们,在学习中遇到问题时,能从这份学习手册里面找到适合自己的答案。大佬也可以复习一下基础(进阶知识学习)

如果觉得有些知识点只是了解,但一问又说不上来的话,建议面试前去补补。我高中数学老师的口头禅就是: “半懂不懂,就是不懂。”

往期面试题合集答案链接 如下:

2021测试开发面试题大全及答案(包含测试基础|接口测试|自动化测试...)289页

下面就让我们来看这份《阿里测试开发学习手册》的庐山真面目吧!需要的朋友可以通过关注程序员一凡公众号领取!

软件测试基本知识

1、BUG的定义

软件的BUG指的是软件中(包括程序和文档)不符合用户需求的问题。常见的软件BUG分三种类型:完全没有实现的功能;基本实现了用户需求的功能;实现了用户不需要的功能。

2、软件测试的目的

  • 发现程序中存在的错误:发现程序中存在的错误,而不是证明程序无错误。一个好的测试用例在于它能发现至今尚未发现的错误。一个成功的测试则是发现了至今未发现的错误。开始我们认为做测试无非是为了证明我们编的程序是无错误的,那是大错特错了。因为bug会因时间不同,条件不同而出现。永远无法证明我们的程序是绝对正确的。
  • 为反馈信息做准备:为开发者或软件项目经理提供反馈信息,以及为风险评估所准备的信息

3、测试用例

指在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和与其结果!测试用例=输入+输出+测试环境。测试用例有两个模板,word和excel,前者适合性能测试,后者适合功能测试。

4、软件测试对象

程序开发过程中的各个文档、源程序、目标程序及数据

5、软件的生命周期

  • 可行性研究和计划(立项)
  • 需求分析
  • 概要设计(测试计划)
  • 详细设计(测试方案)
  • 实现(开发阶段;包含单元测试)
  • 组装测试(集成测试)
  • 确认测试(系统测试,验收回归测试)
  • 使用和维护(上线使用及日常更新维护)

6、软件测试的方法

  • 用试题检查法
  • 用新旧两个系统做平行处理检查
  • 软件测试自动化工具测试

7、软件测试阶段有哪些任务

  • 制定测试大纲(测试计划)
  • 制作测试数据(测试方案)
  • 单元测试(程序测试,一般由开发人员进行)
  • 功能测试
  • 性能测试
  • 集成测试(子系统测试)
  • 系统测试
  • 验收测试
  • 测试报告及向下阶段提交系统运行、维护用户手册

8、测试的原则

  • 尽早的、不断地进行测试
  • 测试用例由输入数据和与之对应的输出结果组成,应包括合理和不合理的输入条件
  • 开发者应尽量避免检查自己的程序
  • 设计测试用例时,应包括合理和不合理的输入条件
  • 充分注意测试中的集群现象,严格执行测试计划,排除测试的随意性
  • 对每一个测试结果做全面检查
  • 妥善保存测试计划,方案,用例,BUG记录及最终分析报告等文档

9、软件测试工作流程图

10、什么是V模型?

11、软件工程的内容

12、测试与调试的差别

13、软件缺陷的概念

14、引入缺陷的原因

15、软件测试与软件质量的区别

16、测试数据文档

自动化测试

1、自动化测试的优点

  • 能执行更多更频繁的测试, 使某些测试任务执行方式更高效
  • 能执行一些手动测试困难或者不能做的测试
  • 任务自动化,使测试人员投入更多精力设计测试用例,提高测试准确性和人员积极性
  • 具有一致和可重复性特点,更客观,提高软件信任度,仍存在一定局限
  • 不能取代手工测试,不能自动化所有的测试(如只是偶尔执行测试,或需求经常变动,不稳定,或者需要大量手工参与时)
  • 自动化测试工具只能执行命令,而手工可以在测试中判断测试的输入是否正确,以及改进测试,还可处理意外事件
  • 对质量依赖较大,在确保质量的前提下,实施自动化才有意义
  • 自动化测试需要在整个测试系统成熟稳定后,工作效率才会随着测试执行次数的增加而提高
  • 自动化测试的成本可能高于手工测试

2、自动化测试技术

  • 录制/回放(依赖工具)
  • 脚本技术
  • 数据驱动(data driven)的自动化测试
  • 关键字驱动(keyword driven)的自动化测试
  • 业务驱动

3、自动化测试的级别

  • 捕获和回放
  • 捕获、编程和回放
  • 编程和回放
  • 数据驱动的测试
  • 使用动作词的测试自动化

4、自动化测试的重点

  • 搭建测试环境,测试场景
  • 测试用例
  • 测试结果的验证
  • 自动化测试的流程以及执行

5、自动化测试无法做到的事以及劣势

6、自动化测试什么时候介入

7、自动化测试的流程

8、什么是自动化测试

9、自动化测试执行

10、自动化测试实现原理

11、什么样的项目适合自动化测试

12、元素定位失败的原因

13、selenium的工作原理是什么?

14、测试脚本用到了哪些技术?

15、自动化测试的三个层次

16、自动化测试环境准备

17、自动化测试框架

……

性能测试

1、影响软件性能的因素

2、性能测试主要交付件

3、性能测试难点

4、性能测试应该怎么做?

5、什么是TPS?

6、性能测试最关注的三个指标

7、网站常见状态码

8、jmeter工作原理

9、性能测试工具架构

10、性能测试中的常见指标

11、性能测试中的分析和调优

12、性能测试项目落地思路6步法

13、性能测试误区

14、了解性能测试流程

15、性能测试报告的撰写

16、LoadRuner与性能测试的关系

17、Loadrunner如何进行参数化?

18、功能测试与性能测试的区别

19、用jmeter怎么实现5000并发用户,进行性能测试

20、性能测试中常用的监控命令

……

Web安全性测试

1、Web测试的特点

2、测试范围

3、SQL注入测试

4、Xss攻击

5、DOS攻击

6、Session与Cookie

7、文件上传漏洞

8、SQL注入的方法措施

9、大类检查点

10、目录遍历

11、URL重定向

12、安全日志测试

13、脚本语言

单元测试

1Junit的使用

2、单元测试的目标

3、单元测试的内容

4、Mockito 使用情景

5、Eclipse中使用Junit

6、单元测试标注

7、Junit一些高级特性

8、单元测试简单实践

9、用例设计

10、相关注解的说明

11、断言

接口测试

1、接口测试的核心测试点

2、接口文档

3、接口组成

4、接口自动化测试的流程

5、常见的接口类型

6、接口测试较UI测试的优势

7、接口测试开展的四个步骤

8、接口测试用例参考模板

9、接口测试用例的设计思路

10、接口测试中依赖登录状态的接口如何测试

11、在手工接口测试或者自动化接口测试过程中,上下游接口有数据依赖如何处理

12、依赖第三方数据的接口如何进行测试

13、接口测试能发现哪些问题

14、josn和xml的

15、接口测试网络基础知识(http协议及状态码、cookie、session与token机制、GET请求和POST请求的区别等)

Python自动化测试

1、python基础语法

2、自动化测试的优势

3、自动化测试无法做到的事以及劣势

4、合适引入自动化

5、自动化测试的流程

6、测试脚本设计与开发

7、测试框架unittest和pytest区别

8、pytest安装部署

9、分层自动化测试

10、自动化测试常见误区

11、脚本开发常用模块

12、持续集成

13、Git的使用

14Selenium 环境部署

15、Selenium 的定位元素操作

16、Xpath、CSS定位的使用

17、WebDriver API

18、什么是PO模式,为什么要使用它

19、你如何处理使用Selenium的Ajax控件

20、appium的工作原理

21、ADB工具的使用

22、从0到1搭建PO模型

23、自动化测试框架和常见库

……

APPUI测试

1、app测试和web测试的区别

2、app登录测试

3、app闪退的原因

4、常见的adb命令

5、Activity生命周期

6、android和ios测试的区别

7、Appium的原理

8、UI自动化测试出现的Bug

9、元素定位方式

10、脚本编写

Linux系统操作

1、linux中的进程状态

2、操作文件和目录的命令

3、Shell脚本自动化部署方式

4、使用Linux命令搭建测试环境

5、查看磁盘和内存空间的命令

6、日志文件分析

MySQL数据库

1、数据库的安装、部署

2、创建索引的三种方式

3、B树和B+树的区别

4、什么是数据库事务

5、视图的使用场景有哪些?视图的优点

6、SQL的生命周期

7、基本的增删改查语句

8、使用触发器注意

9、MySQL中试图和表的区别以及联系

测试用例

1、为什么要写测试用例

2、测试用例主要包含哪些内容

3、编写测试用例需要什么

4、设计测试用例的注意事项

5、用例的管理工具

6、用例的管理过程

7、测试用例内容

8、测试用例设计工作的关键

软件测试分类

1.按测试阶段划分

2.按测试技术划分

3.被测试对象是否运行划分

4.按不同的测试手段划分

5.按测试包含的内容划分

6.其他测试

总结

学习是一辈子的事情,学完一段时间之后,想要检查学习效果如何,其实最好的方法就是可自己去总结一下。比如我在学习的时候会自己做笔记,然后自己再总结,自己的做的笔记也可方便后续的复习,且都是自己的理解。