功能-接口
入门概念
1.上来一开始不要写用例!!!!熟悉测试是干什么的,它要和谁合作,去解决什么问题,摆正自己的位置! 2.了解完1之后,我们开始学习软件测试的基础知识。
软件测试的定义
软件测试为了发现程序中的错误而执行程序的过程。使用人工和自动手段来运行或测试某个系统的过程;目的在于验证它是否满足规定的需求,保证软件质量,提高用户体验;
软件测试的生命周期
测试需求分析–>测试设计–>测试计划–>测试执行–>质量评估
软件测试的原则
(1)、软件应该尽早投入测试(项目开始阶段、参与需求文档测试) (2)、穷尽测试是不可行的,测试需要终止 (3)、所有的测试都应追溯到用户需求 (4)、程序员应该避免检查自己的程序 (5)、妥善报告测试过程中的所有文档 (6)、要有计划去测试,制定测试计划 (7)、二八原则 (8)、对于错误结果要进行确认过程 (9)、写测试用例的时候要考虑合法输入和不合法输入以及边界值条件
软件测试的分类
1.按照方法分类: 黑盒测试:理解为看不见内部结构,通常为检查其功能。黑盒测试又称为功能测试,主要检测软件的每一个功能是否能够正常使用。在测试过程中,将程序看成不能打开的黑盒子,不考虑程序内部结构和特性的基础上通过程序接口进行测试,检查程序功能是否按照设计需求以及说明书的规定能够正常打开使用。 白盒测试:看的见内部结构,检测内部代码。白盒的理解 2,灰盒测试:结合黑盒和白盒测试两种测试。 3.按照方向分类: 功能测试:对软件的功能进行测试。 性能测试:压力测试,负载测试,并发测试等。 安全测试:对软件的安全进行测试。 4.按照阶段分类:
单元测试:方法,函数,类 集成测试:接口 系统测试:功能,性能,安全,兼容性,易用性,稳定性,UI等。 验收测试:验收 按照对象分类:
App测试 web测试 物联网测试 。。。 5.按照状态分类:
静态测试:按照白盒测试去测试代码 动态测试:按照黑盒或者灰盒测试 6.其他: 冒烟测试:测试前的测试,大概检测软件具不具备可测试性(可以理解为随便测试就有问题) 回归测试:将测试出现的问题反馈之后,对该问题进行重新测试。 α测试:内测 β测试:公测
PDCA
PDCA: PDCA循环的含义是将质量管理分为四个阶段,即Plan(计划)、Do(执行)、Check(检查) 和 Act(处理)。在质量管理活动中,要求把各项工作按照作出计划、计划实施、检查实施效果,然后将成功的纳入标准,不成功的留待下一循环去解决。这一工作方法是质量管理的基本方法,也是企业管理各项工作的一般规律。 1、P (Plan) 计划,包括方针和目标的确定,以及活动规划的制定。 2、D (Do) 执行,根据已知的信息,设计具体的方法、方案和计划布局;再根据设计和布局,进行具体运作,实现计划中的内容。 3、C (Check) 检查,总结执行计划的结果,分清哪些对了,哪些错了,明确效果,找出问题。 4、A (Act)处理,对总结检查的结果进行处理,对成功的经验加以肯定,并予以标准化;对于失败的教训也要总结,引起重视。对于没有解决的问题,应提交给下一个PDCA循环中去解决。
五W2H
5W2H: 五个以W开头的英语单词和两个以H开头的英语单词进行设问,发现解决问题的线索,寻找发明思路,进行设计构思,从而搞出新的发明项目,这就叫做5W2H法。 (1)what——是什么?目的是什么?做什么工作? (2)why——为什么要做?可不可以不做?有没有替代方案? (3)who——谁?由谁来做? (4)when——何时?什么时间做?什么时机最适宜? (5)where——何处?在哪里做? (6)how ——怎么做?如何提高效率?如何实施?方法是什么? (7)how huch——多少?做到什么程度?数量如何?质量水平如何?费用产出如何?
测试的流程
直接访问这个地址 比我写的更加详细 https://jingyan.baidu.com/article/fcb5aff7163fc0edaa4a7191.html
测试要输出的文档
1.测试组长:测试计划(人员任务分配,任务排期) 测试方案 2.测试人员:冒烟用例 系统用例 接口用例 测试报告
入门用例
- 功能用例----多理解需求从不同方向去考虑问题-功能用例就可以会写了
- 功能用例的模板—小白最好用excel写—然后就是xmind
黑盒的理解和黑盒的测试方法概念 举例子:红包金额输入框是否只能输入数字和小数点,小数位数是否有限制,如果直接输入点,点前是否有0 红包个数输入框中是否只能输入数字 红包金额框输入的数字,最多200,最少0.01,如果不在该范围内是否有提示 红包个数框输入的数字,最多100,最少1,如果不在该范围内是否有提示 红包的描述框是否可以输入英文、中文、符号、数字、特殊字符、表情等,他们是否可以搭配使用,是否可以删除 以上提及的输入框是否允许复制粘贴操作 是否可以再普通红包和拼手气红包之间进行切换 按返回键是否可以取消发红包 支付过程中,是否会自动匹配支付方式,余额不足时,是否提示换卡支付,可否自己选择支付方式 输入支付密码时,是否可以通过密码输入或者指纹支付方式支付 支付成功后,是否可以自己返回到聊天界面中 红包发送成功后,别人能否正常领取,在个数>=2的情况下,自己是否可以领取 同一个人是否可以多次抢同一个红包 24小时后,未领取的红包是否还可以领取,未领取的红包是否会退还到原先的账户上 红包记录中的收发记录与实际收发记录是否一致 是否可以连续多次发红包 安卓系统、苹果系统是否都可以发红包 电脑端是否可以抢红包 不同网速下发红包的时间,尤其弱网情况下发红包的时间 发红包之后跳转到聊天界面的时间 发红包时的耗电量 退款到账时间 发红包的界面有没有错别字 发红包的界面是否排版合理 发红包的界面颜色搭配是否合理 微信号多人且异地登录,是否会有提示信息 红包发送成功后,是否收到微信支付的通知消息 红包被领取后,可领取的红包数和金额变少 红包发送失败,余额与银行卡中的钱不会变少 红包发送后会不会生成交易记录保存
接口用例
随便找的 大概就是这样子
接口的概念
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
接口测试的目的
接口测试的目的是测试接口,尤其是那些与系统相关联的外部接口,测试的重点是要检查数据的交换,传递和控制管理过程,还包括处理的次数。外部接口测试一般是作为系统测试来看待的。
网络七层模型—是接口测试的基础
OSI七层模式简单通俗理解
需求1: 科学家要解决的第一个问题是,两个硬件之间怎么通信。具体就是一台发些比特流,然后另一台能收到。 于是,科学家发明了物理层 主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。 需求2: 现在通过电线我能发数据流了,但是,我还希望通过无线电波,通过其它介质来传输。然后我还要保证传输过去的比特流是正确的,要有纠错功能。 于是,发明了数据链路层: 定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。 需求3: 现在我能发正确的发比特流数据到另一台计算机了,但是当我发大量数据时候,可能需要好长时间,例如一个视频格式的,网络会中断好多次(事实上,即使有了物理层和数据链路层,网络还是经常中断,只是中断的时间是毫秒级别的)。 那么,我还须要保证传输大量文件时的准确性。于是,我要对发出去的数据进行封装。就像发快递一样,一个个地发。 于是,先发明了传输层(传输层在OSI模型中,是在网络层上面) 例如TCP,是用于发大量数据的,我发了1万个包出去,另一台电脑就要告诉我是否接受到了1万个包,如果缺了3个包,就告诉我是第1001,234,8888个包丢了,那我再发一次。这样,就能保证对方把这个视频完整接收了。 例如UDP,是用于发送少量数据的。我发20个包出去,一般不会丢包,所以,我不管你收到多少个。在多人互动游戏,也经常用UDP协议,因为一般都是简单的信息,而且有广播的需求。如果用TCP,效率就很低,因为它会不停地告诉主机我收到了20个包,或者我收到了18个包,再发我两个!如果同时有1万台计算机都这样做,那么用TCP反而会降低效率,还不如用UDP,主机发出去就算了,丢几个包你就卡一下,算了,下次再发包你再更新。 TCP协议是会绑定IP和端口的协议,下面会介绍IP协议。 需求4: 传输层只是解决了打包的问题。但是如果我有多台计算机,怎么找到我要发的那台?或者,A要给F发信息,中间要经过B,C,D,E,但是中间还有好多节点如K.J.Z.Y。我怎么选择最佳路径?这就是路由要做的事。 于是,发明了网络层。即路由器,交换价那些具有寻址功能的设备所实现的功能。这一层定义的是IP地址,通过IP地址寻址。所以产生了IP协议。 需求5 现在我们已经保证给正确的计算机,发送正确的封装过后的信息了。但是用户级别的体验好不好?难道我每次都要调用TCP去打包,然后调用IP协议去找路由,自己去发?当然不行,所以我们要建立一个自动收发包,自动寻址的功能。 于是,发明了会话层。会话层的作用就是建立和管理应用程序之间的通信。 需求6: 现在我能保证应用程序自动收发包和寻址了。但是我要用Linux给window发包,两个系统语法不一致,就像安装包一样,exe是不能在linux下用的,shell在window下也是不能直接运行的。于是需要表示层(presentation),帮我们解决不同系统之间的通信语法问题。 需求7: OK,现在所有必要条件都准备好了,我们可以写个android程序,web程序去实现需求把。 补充: Socket: 这不是一个协议,而是一个通信模型。其实它最初是伯克利加州分校软件研究所,简称BSD发明的,主要用来一台电脑的两个进程间通信,然后把它用到了两台电脑的进程间通信。所以,可以把它简单理解为进程间通信,不是什么高级的东西。主要做的事情不就是: A发包:发请求包给某个已经绑定的端口(所以我们经常会访问这样的地址182.13.15.16:1235,1235就是端口);收到B的允许;然后正式发送;发送完了,告诉B要断开链接;收到断开允许,马上断开,然后发送已经断开信息给B。 B收包:绑定端口和IP;然后在这个端口监听;接收到A的请求,发允许给A,并做好接收准备,主要就是清理缓存等待接收新数据;然后正式接收;接受到断开请求,允许断开;确认断开后,继续监听其它请求。 可见,Socket其实就是I/O操作。Socket并不仅限于网络通信。在网络通信中,它涵盖了网络层、传输层、会话层、表示层、应用层——其实这都不需要记,因为Socket通信时候用到了IP和端口,仅这两个就表明了它用到了网络层和传输层;而且它无视多台电脑通信的系统差别,所以它涉及了表示层;一般Socket都是基于一个应用程序的,所以会涉及到会话层和应用层。
接口的组成
请求参数说明 请求协议 ip 端口 请求参数 请求类型 状态码 返回值
接口的常用的请求类型
GET — 通过请求URI得到资源 POST — 用于添加新的内容 PUT — 用于修改某个内容 DELETE — 删除某个内容 CONNECT — 用于代理进行传输,如使用SSL OPTIONS — 询问可以执行哪些方法 PATCH — 部分文档更改 PROPFIND (wedav) — 查看属性 PROPPATCH (wedav) — 设置属性 MKCOL (wedav) — 创建集合(文件夹) COPY (wedav) — 拷贝 MOVE (wedav) — 移动 LOCK (wedav) — 加锁 UNLOCK (wedav) — 解锁 TRACE — 用于远程诊断服务器 HEAD — 类似于GET, 但是不返回body信息,用于检查对象是否存在,以及得到对象的元数据
请求头请求体
①是请求方法,HTTP/1.1 定义的请求方法有8种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE,最常的两种GET和POST,如果是RESTful接口的话一般会用到GET、POST、DELETE、PUT。 ②为请求对应的URL地址,它和报文头的Host属性组成完整的请求URL ③是协议名称及版本号。 ④是HTTP的报文头,报文头包含若干个属性,格式为“属性名:属性值”,服务端据此获取客户端的信息。 ⑤是报文体,它将一个页面表单中的组件值通过param1=value1¶m2=value2的键值对形式编码成一个格式化串,它承载多个请求参数的数据。不但报文体可以传递请求参数,请求URL也可以通过类似于“/chapter15/user.html? param1=value1¶m2=value2”的方式传递请求参数。
响应体
①报文协议及版本; ②状态码及状态描述; ③响应报文头,也是由多个属性组成; ④响应报文体
1xx 消息,一般是告诉客户端,请求已经收到了,正在处理,别急… 2xx 处理成功,一般表示:请求收悉、我明白你要的、请求已受理、已经处理完成等信息. 3xx重定向到其它地方。它让客户端再发起一个请求以完成整个处理。 4xx处理发生错误,责任在客户端,如客户端的请求一个不存在的资源,客户端未被授权,禁止访问等。 5xx处理发生错误,责任在服务端,如服务端抛出异常,路由出错,HTTP版本不支持等。
- 还有很多的概念和知识
- 今天先写到这里
- 本人不是培训老师!!!–
- 测试入门 接口测试 工具使用 接口自动化 ui自动化 性能测试 java go语言的视频都可以联系我(目前有的是收费的有的是赠送的)!!!!!
- 老规矩:本人v: _99Rampant 加v一定要备注!!备注备注备注!!!!
|