个人软件测试学习

一、软件理论
1、什么是软件质量
软件产品的特性可以满足用户功能、性能需求的能力

2、软件产品质量的六大特性(六大基本准则)
功能、可靠性、效率、易用性、维护性、移植性(一功二可三效四易五维六移)

3、你认为做好测试用例工作的关键是什么?
需求和设计文档的理解程度,对系统的熟悉程度

2)白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果
黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题

4、编写用例有哪几种方法
大纲法、等价类、边界值、因果图、正交、错误推断、场景、判定表(主要使用等价类、边界值、错误推断法)

5、软件测试分类有哪些?
白盒、黑盒、灰盒

6、编写测试用例的原则?
100%覆盖需求

7、黑盒测试包含哪些测试内容?
逆向思维测试、冒烟测试、易用性测试、兼容性测试、接口测试、链接测试、搜索测试、表单测试、输入域测试、分页测试、用户体验测试、交互性数据测试

8、如何确定一个问题不是bug,或者说开发说这不是个bug
首先查看需求,如果需求有表明则他就是个bug.如果再有争议的话找产品经理求证

9、缺陷的验证程度分别是什么,怎么分类?
致命:系统崩溃,服务端报404、500,内部接口错误(导致整个软件无法再继续测试下去)
严重:功能阻碍测试(功能界面跳转不到导致无法测试下个页面)
一般:等价类、边界值、UI、小小的功能错误
较小:错别字,标点符合等

10、如何有效的记录缺陷
保证缺陷步骤能复现,及时抓取异常数据

11、缺陷报告的准则规范是
5c:correct(准确)、clear(清晰)、concise(简洁)、complete(完整)、consistent(一致)
准确、清晰、简洁、完整、一致
12、缺陷Bug的生命周期
提交-分配-修改-验证-关闭 or reopen
13、软件测试计划
测试的基本流程:需求分析-测试计划-测试设计-测试执行-测试评估
测试计划一般包括:目的、测试范围、测试进度安排、测试人员、测试环境、测试方法、测试工具、风险评估

14、一条缺陷记录都包含了哪些内容?如何提交高质量的缺陷记录
编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果、异常数据等
描述准确、清晰、简洁、完整、 一致

15、接口测试可以测试:返回值、等价类、边界值、必填项、业务逻辑、支付场景、退款场景
接口测试的目的:减少测试周期,在页面没有开发出来已经完成项目测试

16、软件测试划分阶段 and 各阶段的策略
单元测试、集成测试、系统测试、验收测试
单元测试测试策略:自顶向下、自底向上、孤立单元
集成测试测试策略:大爆炸集成、自顶向下集成、自底向上集成、基于进度的集成
系统测试测试策略:数据和数据库完整性测试、功能测试、用户界面测试、性能评测、负载测试、强度测试、容量测试、安全性和访问控制测试、故障转移和恢复测试、配置测试、安装测试、加密测试、可用性测试、版本验证测试、文档测试

17、软件测试的目的
测试是程序执行的过程,目的在于发现错误
一个成功的测试用例在于发现了至今未发现的错误
一个成功的测试是发现了至今未发现的错误的测试
确保产品满足功能以及性能需求
确保产品是健壮的和适应用户环境的

18、软件测试的原则
软件测试应尽早执行,并贯穿于整个软件生命周期
软件测试应追溯需求
严格执行测试计划,排除测试的随意性

19、软件验收测试分为
验收测试、alpha测试、beta测试

20、单元测试、集成测试、系统测试的侧重点是什么?
单元测试针对的是软件设计的最小单元–程序模块(面向过程中是函数、过程;面向对象
中是类。),进行正确性检验的测试工作,在于发现每个程序模块内部可能存在的差错.一般
有两个步骤:人工静态检查\动态执行跟踪
集成测试针对的是通过了单元测试的各个模块所集成起来的组件进行检验,其主要内容是
各个单元模块之间的接口,以及各个模块集成后所实现的功能.
系统测试针对的是集成好的软件系统,作为整个计算机系统的一个元素,与计算机硬件
外设\某些支持软件\数据和人员等其他系统元素结合在一起,要在实际的运行环境中,对计
算机系统进行一系列的集成测试和确认测试

二、TCP/ip协议
1、主要层次结构为:应用层/传输层/网络层/网络接口层
应用层:应用程序间沟通的层,如简单电子邮件传输协议(SMTP)、文件传输协议(FTP)、网络远程访问协议(telnet)等
传输层:提供节点间的数据传送,应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传,如TCP、UDP,这一层负责传输数据,并且确定数据已被送达并接收
网络层:负责提供基本的数据封包功能,让每一块数据包都能到达目的主机,如网际协议ip
网络接口层:接收ip数据报并进行传输,从网络上接收物理帧,抽取ip数据报转给下一层,对实际的网络媒体的管理,定义如何使用实际网络来传送数据
ps:网络接口层分为数据链路层、物理层

2、TCP四层协议–应用层-传输层-网络层-网络接口层
TCP五层协议–应用层-传输层-网络层-数据链路层-物理层
osi七层 --应用层-表示层-会话层-传输层-网络层-数据链路层-物理层

3、TCP三次握手、四次挥手
在这里插入图片描述
三次握手
1):客户端发送syn包(seq=x)到服务器,并进入SYN_SEND状态,等待服务器确认
2):服务器端收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(seq=y),即SYN+ACK,此时服务器进入SYN_RECV状态
2):客户端收到SYN+ack,向服务器发送确认包ACK(ack=y+1),此包发送完毕,完成三次握手
四次挥手
1)主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不会再给你发数据了(当 然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,主动关闭方依然会重发这些数据),但此时主动关闭方还可以接受数据
2)被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)
3)被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。
4)主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。

4、TCP与UDP的主要区别
1)TCP提供的是面向连接的、可靠的数据流传输 --提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能顺序地从一端传到另一端
2)UDP提供的是非面向连接的、不可靠的数据流传输 --是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,不保证数据按顺序传递,故而传输速度很快
3)简单的说TCP更注重数据安全,UDP数据传输快点,但安全性一般

三、HTTP与HTTPS
1)一次完整的http请求
客户端输入url->客户端检测缓存->有缓存则加载缓存–(具体过程包括浏览器搜索自身的DNS缓存、搜索操作系统的DNS缓存、读取本地的Host文件和向本地DNS服务器进行查询等)
or 无缓存通过DNS进行解析获取ip->创建TCP连接(三次握手),进行http请求报文->服务器响应http请求,浏览器得到html代码,浏览器解析html并去请求html当中的资源,通过前端的渲染展示.
2)http常见状态码
200–(OK)请求成功
202–(Accepted)已接受请求,但未处理完成
204–(No Content)已处理,但未返回内容
302–(Found)临时重定向
301–(Moved Permanently)永久重定向
304–(Not Modified)所请求资源未修改
400–(Bad Request)客户端请求的语法错误
401–(Unauthorized)要求用户身份验证
403–(Forbidden)理解请求客户端,但拒绝执行
404–(Not Found)请求资源不存在
405–(Method Not Allowed)请求方法被禁止
406–(Not Acceptable)服务器无法根据客户端请求的内容特性完成请求
407–(Proxy Authentication Required)请求要求代理的身份认证
500–(Internal Server Error)内部服务器错误
501–(Not Implemented)服务器不支持请求的功能,无法完成请求
502–(Bad Gateway)充当网关或代理的服务器,从远端服务器接收到了一个无效的请求
503–(Service Unavailable)由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中
504–(Gateway Time-out)充当网关或代理的服务器,未及时从远端服务器获取请求
505–(HTTP Version not supported)服务器不支持请求的HTTP协议的版本,无法完成处理
3)HTTP请求的方法有哪些,作用是什么
HTTP1.1
GET – 请求指定的页面信息,并返回主体
POST – 向指定资源提交数据进行处理请求(提交表单或者上传文件)
HEAD – 类似于GET请求,用于获取报头
PUT – 从客户端向服务器传送的数据取代指定的文档内容
DELETE – 请求服务器删除指定的页面
OPTIONS – 允许客户端查看服务器的性能。
TRACE–回显服务器收到的请求,主要用于测试或诊断。
4)HTTP请求方法get与post的区别
表面-由于HTTP的规定和浏览器的限制,导致他们在应用过程中体现了一些不同的地方,例如GET通过地址栏传输,post通过报文传输
本质唯一区别,post产生两个tcp包,udp产生一个
GET发送的时候,直接发送给服务器,服务器回应200ok,但是对于POST浏览器先发送header,然后服务器回应100continue,浏览器再次发送POST,服务器才回应200ok
5)https=http+ssl

四、charles

1、charles工作原理
截获真实客户端的HTTPS请求,伪装客户端向真实服务端发送HTTPS请求
接收真实服务器响应,用Charles自己的证书伪装服务端向真实客户端发送数据内容
2、如何使用charles抓取https
1)help->ssl proxying ->install charles root certificate
2) proxy->proxy setting-enable transparent http proxying,设置端口为8888
3)proxy->ssl proxying setting->开启并添加端口 443+相对应的网址或者*,(*)表示全部站点
3、如何设置断点
1)断点设置-proxy-breakpoint setting-可以新加站点或者是直接右键点击连接breakpoint-可进行一系列设置,保存后,重新访问该站点时会跳出breakpoint edit,可对requests or response进行修改并发送请求
4、charles弱网设置
proxy–throttle setting–enable throttling
五、数据库练习
需掌握增删改查,着重于查select,子查询,多表联合查询(join on),group by与having基于聚合函数的使用,去重、排序、模糊查询
https://blog.csdn.net/DH2442897094/article/details/78132667
1)mysql中的join有几种有什么差别
https://blog.csdn.net/u012410733/article/details/63684663
2)列举几个常用的关系型数据库和非关系型数据库
关系型数据库:
Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL
非关系型数据库:
NoSql、Cloudant、MongoDb、redis、HBase

六、移动端测试基础知识
https://mp.weixin.qq.com/s?__biz=MzI5ODU1MzkwMA==&mid=2247485358&idx=1&sn=446af0f07ffafb74b15ae97cdc179941&chksm=eca540eddbd2c9fbb4a883f3953c1c86afb0332b53d88f58c32699701c5c75534f2587293b2f&scene=21#wechat_redirect

七、用例设计
https://blog.csdn.net/slforeverlove/article/details/47080279

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值