软件测试:通过这份PDF已经拿到了阿里,字节等Bat大厂offer

现在网上有很多人问想学软件测试,但是自己的学历不够,能不能去做软件测试工程师,还有就是我一个学医的,能不能转行去做软件测试等等一些问题。

在这里我给大家说下我了解的软件测试这个行业一些见解和一些优势,这里我把它分为了六个大点。
第一、市场缺口大,好就业。
第二、薪资高,并且一路看涨
第三、发展多元化,好做职业规划发展
第四、门槛不高
第五、不限专业、不限男女(不过大部分工作都不限)、男女市场平衡
第六、学历要求没那么严格、大专以上即可!(包括大专)

至于以前没接触过IT,这根本就不是问题,现在网上一找一大把的视频教学,零基础也有,我这边也有,往上一个级别的我也有,视频到处都是, 这个还是得靠自己能不能坚持吧!

以上就是我总结的软件测试的一些见解,大家有什么不同的见解也可以来评论,希望我的这些优势可以给大家一点信心好吧。

其实软件测试师很容易入门的,所谓的软件测试就是为了发现程序中的错误而执行程序的过程。

通俗的说,软件测试需要在发布软件之前,尽可能的找软件的错误,尽量避免在发布之后给用户带来不好的体验,并要满足用户使用的需求。

虽然说它入门简单,但是要掌握的知识点也是很多的,我这里有本PDF总结了一些关于软件测试比较重要的知识点,也可以说是必备的技术,这边给大家看看这本PDF,有需要的也可以【后台私信】我好吧,废话不多说,给大家看看!!

软件测试面试宝典

一、测试理论

软件测试:通过这份PDF已经拿到了阿里,字节等Bat大厂offer

 什么是软件测试? 

为了发现程序中的错误而执行程序的过程

软件测试的目的? 

首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布

特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分

析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。

其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。

详细而严谨的可靠性增长模型可以证明这一点。

测试的目的是按照用户所需软件的质量,检查开发软件过程出现的 bug, 使得开发人员

及时修改,可以避免在开发结束的时候发现软件存在质量问题,避免公司不必要的损失。

赢得用户对公司产品的认可。

测试的目的是以最少人力、物力和时间找出软件中潜在各种错误和缺陷,通过修正种

错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的

商业风险。

测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。

实施测试收集到的测试结果数据为可靠性分析提供了依据。

测试不能表明软件中不存在错误,它只能说明软件中存在错误。

软件测试的目标 

发现尽可能多的错误

测试是一个为了寻找错误而运行程序的过程。

一个好的测试案例是指很可能找到迄今为止尚未发现的错误的用例。

一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。

软件测试的原则 

1) 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。

2) 测试用例应由测试输入数据和对应的预期输出结果这两部分组成。

3) 程序员应避免检查自己的程序。

4) 在设计测试用例时,应包括合理的输入条件和不合理的输入条件。

5) 软件测试的原则

6) 充分注意测试中的群集现象。

经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。

7) 严格执行测试计划,排除测试的随意性。

8) 应当对每一个测试结果做全面检查。

9) 妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。

测试的工作流程

    测试的功能点都是来自于需求文档从产品的需求文档中提炼出来的,等产品完成需求文档并完成需求文档的评审会就开始测试用例的编写工作,一般项目半个月迭代一次的话设计测试的时间一般是3天就要完成,我们设计测试用例的时间还是比较充足案例设计一般都会和产品的开发并行。在案例完成编写之后大家会开会一起来评审你的案例。在评审的过程中大家会提出一些问题,会后要把这些遗漏的测试点补充上,但是这时并不是大功告成哦。痛苦的案例执行才刚刚开始,哈哈哈,在这个里我为什么用痛苦来形容呢,大家也知道开发一般只是把功能开发好自己可能都没有自测过就发给测试,这时候测试发现和自己想象中的APP差距太大,有的时候会发现一眼都能看到的问题为什么还要等着测试来发现,小编遇到这样的问题也表示无奈。但是只能硬着头皮测下去。在测试的过程中每天在下班的时候还需要发测试日报告诉项目中的成员现在案例执行的情况,当然了测试完成之后发测试报告也是必须的了,算是对这次项目跌代测试完成的一个交代。

测试工程师的职责 

测试经理:

1、制定测试计划。

2、确保测试过程正常进行。

测试工程师

1、编写测试用例

2、搭建测试环境

3、执行测试

软件都有多少种分类? 

根据功能的不同,电脑软件可以粗略地分成四个层次:

最贴近电脑硬件的是一些小巧的软件。它们实现一些最基本的功能,通常“固化”在只

读存储器芯片中,因此称为固件。

系统软件包括操作系统和编译器软件等。系统软件和硬件一起提供一个“平台”。它们

管理和优化电脑硬件资源的使用。

支持软件。包括图形用户界面、软件开发工具、软件评测工具、数据库管理系统、中间

件等。

应用软件种类最多,包括办公软件、电子商务软件、通信软件、行业软件,游戏软件等

等。

​​​​​​​软件的分类

软件测试:通过这份PDF已经拿到了阿里,字节等Bat大厂offer

​​​​​​​测试的主要方面 

A、功能测试:a、链接测试 b、表单测试 c、Cookies 测试 d、设计语言测试 e、数据库测试

B、性能测试:a、连接速度测试 b、负载测试 c、压力测试

C、接口测试:a、服务器接口 b、外部接口 c、错误处理

D、可用性测试: a、导航测试 b、图形测试 c、内容测试 d、整体界面测试

E、兼容性测试:a、平台测试 b、浏览器测试 c、视频测试 d、Modem/连接速率测试 f、打印机测试 g、组合测试

F、安全测试:a、目录设置 b、登录 c、Session d、日志文件 e、加密 f、安全漏洞

G、代码合法性测试:a、程序代码合法性检查 b、显示代码合法性检查

H、文档测试:

一、Linux基础

软件测试:通过这份PDF已经拿到了阿里,字节等Bat大厂offer

​​​​​​​说出10个以上的Linux命令

1、创建文件:touch

2、删除文件:rm(remove)

3、查看文件:cat

4、复制:cp(copy)

5、创建文件夹:mkdir(make directory)

6、剪切或者重命名:mv(move)

7、压缩解压缩:tar

8、查看:ls  list

9、编辑:vi/vim

10、查看当前路径:pwd(Print Working Directory)

11、切换用户:su   switch user

12、创建用户:useradd

13、删除用户:userdel

14、创建用户组:groupadd

15、删除用户组:groupdel

16、查找:find

17、修改权限:chmod(change mode)

18、查看进程:ps  process

19、杀进程:kill

20、查看日志:tail

1、Linux的每个命令,是一个或者多个英文单词的缩写。

2、拷贝:cp 文件1  文件2   cp -r 目录1  目录2

3、杀进程:kill -9 进程号

4、查看日志:tail -f catalina.out -n 300

查看命令的使用:

tail  --help

man tail

​​​​​​​RedHat中,从root用户切到userl用户,一般用什么命令?

su

su user1  切换到user1,但切换后的当前目录还是root访问的目录

su – user1 切换到user1,并且当前目录切换到user1的根目录下(/home/user1/

​​​​​​​Linux中,一般怎么隐藏文件?

文件名以一个.开头

​​​​​​​Linux系统中,一个文件的访问权限是755,其含义是什么?

755表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。

如何查看 CPU 信息?

查看占用 CPU 使用率最高的进程?

ps -aux | sort -k3nr | head -K

​​​​​​​如何查看一个文件的末尾 50 行?

查看/etc/profile 的前 10 行内容,应该是: # head -n 10 /etc/profile

查看/etc/profile 的最后 50 行内容,应该是: # tail -n 50 /etc/profile

​​​​​​​如何过滤文件内容中包含”ERROR“的行?

grep "ERROR" file_name

cat file_name | grep "ERROR"

三、MySQL基础

软件测试:通过这份PDF已经拿到了阿里,字节等Bat大厂offer

​​​​​​​什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库

​​​​​​​什么是关系型数据库,主键,外键,索引分别是什么?

关系型数据库是由多张能互相联接的二维行列表格组成的数据库

主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录

外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字

在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构, 它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单​​​​​​​

写出表的增删改查SQL语法

表的创建:create table 表名 (列名1 类型 约束,列2 类型 约束…)

表的删除:drop table 表名

表的更改(结构的更改,不是记录的更新):alter table 表名 add|drop 列名|约束名

插入记录:insert into 表名…values…

更新记录:update 表名 set 列名=值 where 条件

删除记录:delete from 表名 where 条件

​​​​​​​SQL的表连接方式有哪些?

SQL中连接按结果集分为:内连接,外连接,交叉连接

内连接:inner join on,两表都满足的组合。内连接分为等值连接,不等连接,自然连接。

等值连接:两表中相同的列都会出现在结果集中。

自然连接:两表中具体相同列表的列会合并为同一列出现在结果集中。

外连接:分为左(外)连接,右(外)连接,全连接

左(外)连接:A left (outer) join B,以A表为基础,A表的全部数据,B表有的组合,没有的为。

右(外)连接:A right(outer) join B,以B表为基础,B表的全部数据,A表有的组合,没有的位null。

全连接:A full (outer) join 两表相同的组合在一起,A表有,B表没有的数据(显示为null),同样B表有,A表没有的显示为null。

交叉连接:cross join,就是笛卡尔乘积。

​​​​​​​表的连接查询方式有哪些,有什么区别?

交叉连接即笛卡儿乘积,是指两个关系中所有元组的任意组合

使用内连接时,如果两个表的相关字段满足连接条件,就从这两个表中提取数据并组合成新的记录  自连接是一种特殊的内连接,它是指相互连接的表在物理上为同一张表,但可以在逻辑上分为两张表

外连接是只限制一张表中的数据必须满足连接条件,而另一张表中的数据可以不满足连接条件的连接方式

​​​​​​​什么三范式

1NF:表中的字段都是单一属性,不再可分。

2NF:在1NF的基础上,表中所有的非主属性都必须完全依赖于任意一组候选键,不能仅依赖于候选键中的某个属性。

3NF:在2NF的基础上,表中所有的属性都不依赖其他非主属性。

简单的说就是:1NF表示每个属性不可分割,2NF表示非主属性不存在对主键的部分依赖,3NF表示不存在非主属性对主键的依赖传递。

​​​​​​​SQL 的 select 语句完整的执行顺序?

1、from  子句组装来自不同数据源的数据;

2、where 子句基于指定的条件对记录行进行筛选; 3、group by 子句将数据划分为多个分组;

4、使用聚集函数进行计算;

5、使用 having 子句筛选分组; 6、计算所有的表达式;

7、select 的字段;

8、使用 order by 对结果集进行排序。

四、web测试

软件测试:通过这份PDF已经拿到了阿里,字节等Bat大厂offer

​​​​​​​描述用浏览器访问www.baidu.com的过程

  1. 先要解析出 baidu.com 对应的ip 地址:
  1. l要先使用 arp 获取默认网关的 mac 地址
  2. l组织数据发送给默认网关(ip 还是 dns 服务器的ip,但是 mac 地址是默认网关的 mac 地址)
  3. l默认网关拥有转发数据的能力,把数据转发给路由器
  4. l路由器根据自己的路由协议,来选择一个合适的较快的路径转发数据给目的网关
  5. l目的网关(dns 服务器所在的网关),把数据转发给 dns 服务
  6. ldns 服务器查询解析出 baidu.com 对应的ip 地址,并原路返回请求这个域名的 client 得到了 baidu.com 对应的ip 地址之后,会发送l使用 http 协议发送请求数据给web 服务器
  7. lweb 服务器收到数据请求之后,通过查询自己的服务器得到相应的结果,原路返回给浏览器
  8. l浏览器接收到数据之后通过浏览器自己的渲染功能来显示这个网页
  9. l浏览器关闭tcp 连接,即 4 次挥手结束,完成整个访问过程

  1. 了解的常用浏览器有哪些?

IE,Chrome,Safari,Firefox,Opera

​​​​​​​以京东首页为例,设计用例框架。(注意框架设计逻辑,区域划分,专项测试等,不需要详细用例,需要查看 PC 可直接和辨识管提要求)

软件测试:通过这份PDF已经拿到了阿里,字节等Bat大厂offer

 ​​​​​​​如何测试购买下单和退货流程

产品经理设计了单品优惠,组合优惠,订单优惠,优惠券优惠(优惠券优惠包含通用券,定向券, 满减券,折扣券)和礼品卡,其中礼品卡上需要单独购买的。请问如何测试购买下单和退货流程,需要注意什么?(包含数据存储)

五、接口测试

 ​​​​​​​软件测试:通过这份PDF已经拿到了阿里,字节等Bat大厂offer

 ​​​​​​​什么是接口

接口是指外部系统与系统之间以及内部各子系统之间的交互点。

包括外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口。

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

分别用 http 还有 https 登录试试。如果用 https 可以正常登录,地址栏显示一把锁头,那么这个网站是有部署 SSL 的。如果 http 和 https 都能够正常登录,进一步说明该网站没有设置强制 https 登录,或者说没有设置 http 链接自动跳转 https 链接;相反如果用 http 登录,结果跳转到 https 页面,说明网站部署了 SSL, 而且设置了 http 自动跳转 https。

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

Fiddler 是一个 http 协议调试代理工具

打开Fiddler,进入 Tools-Options-HTTPS,配置允许抓取 HTTPS 连接和解析 HTTPS 流量然后选择要解释的来源,设置是否忽略服务证书错误(这些操作做完之后,在浏览器方位 IP:8888,安装证书就可以在浏览器抓取 HTTPS 协议了)

软件测试:通过这份PDF已经拿到了阿里,字节等Bat大厂offer

进入Tools-Options-Connections,保证打开启抓取 HTTPS 连接,然后默认端口按需求是或否需要修改,然后点选允许远程计算机连接选项

软件测试:通过这份PDF已经拿到了阿里,字节等Bat大厂offer

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

软件测试:通过这份PDF已经拿到了阿里,字节等Bat大厂offer

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

<!DOCTYPE html>

<html>

<head>

<title newBidId = “74956”encryptBidId=”713504275825”>小贷公司标管理</title>

请用正则表达式方法分别获取一下 74956 和 713504275825 这两个数值分别赋值给 A1 和A2

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

造数据和数据清理,需连数据库做增删改查的操作

测试用例前置操作,setUp做数据准备

后置操作,tearDown做数据清理

 六、App测试

七、管理工具

八、Python基础

 九、Selenium 相关

十、性能测试 

十一、LordRunner 

十二、计算机网络

十三、组成原理

十四、数据结构与算法

十五、逻辑题

十六、人力资源 

由于内容太多了,为了不影响观看,后面的几个部分的内容就没有截出来,绝对不是因为我懒,才不给你们放出来的。

总结:

如果能够熟记这些知识点,能够把它掌握的更加牢固,我觉得15K以上绝对没有问题,同时需要软件测试的学习路线,以及工具,面试真题等等资料的朋友,可以关注小编+转发文章+私信【软件测试】获取架构资料。

软件测试:通过这份PDF已经拿到了阿里,字节等Bat大厂offer

版权声明:玥玥 发表于 2021-07-23 23:35:58。
转载请注明:软件测试:通过这份PDF已经拿到了阿里,字节等Bat大厂offer | 女黑客导航