什么是接口(API)
API全称Application Programming Interface,这内里我们其实不用去关注AP,只需要I上就可以。一个API就是一个Interface。我们无时不刻不在使用interfaces。我们乘坐电梯内里的按钮是一个interface。我们开车一个踩油门它也是一个interface。我们计算机操作体系也是有很多的接口。(这是现在个人找到比较好理解的一段表明)
接口就是一个位于复杂体系之上而且能简化你的任务,它就像一个中间人让你不需要了解具体的全部细节。那我们本日要讲的Web API就是这么一类东西。像谷歌搜索体系,它提供了搜索接口,简化了你的搜索任务。再像用户登录页面,我们只需要调用我们的登录接口,我们就可以到达登录体系的目的。
现在市面上有非常多种风格的Web API,现在最盛行的是也轻易访问的一种风格是REST或者叫RESTful 风格的API。从现在开始,以下我提到的全部API都是指RESTful风格的API。
什么是接口测试和为什么要做接口测试
接口测试是测试体系组件间接口的一种测试。接口测试重要用于检测外部体系与体系之间以及内部各个子体系之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及体系间的相互逻辑依赖关系等。
现在很多体系前后端架构是分离的,从安全层面来说,只依赖前端举行限定已经完全不能满足体系的安全要求(绕过前端太轻易了), 需要后端同样举行控制,在这种情况下就需要从接口层面举行验证。
现在体系越来越复杂,传统的靠前端测试已经大大降低了效率,而且现在我们都推崇测试前移,希望测试能更早的参与测试,那接口测试就是一种及早参与的方式。比方传统测试,你是不是得等前后端都完成你才能举行测试,才能举行自动化代码编写。 而如果是接口测试,只需要前后端定义好接口,那这时自动化就可以参与编写接口自动化测试代码,手工测试只需要后端代码完成就可以参与测试后端逻辑而不用等待前端工作完成。
接口测试的策略
接口测试也是属于功能测试,所以跟我们以往的功能测试流程并没有太大区别,测试流程依旧是:1.测试接口文档(需求文档) 2.根据接口文档编写测试用例(用例编写完全可以按照以往规则来编写,比方等价类划分,界限值等设计方法) 3. 执行测试,查看不同的参数请求,接口的返回的数据是否到达预期。
接口是指外部体系与体系之间以及内部各子体系之间的交互点。包罗外部接口、内部接口,内部接口又包罗:上层服务与下层服务接口、同级接口。
常见web接口:一类是http协议的接口,另一类是web service接口(如soup、rmi、rpc协议)。本文重要介绍http请求接口。
常见的http请求方式包罗:get(查)、post(增),除此之外还有put(改)、delete(删)等。
下面是软件测试种类
1 数据和数据库完整性测试
- 数据库完整性原则: 主码完整性(主码不能为空); 外码完整性(外码必须即是对应的主码或者为空)。
- 数据合理性:数据在数据库中的类型,长度,索引等是否建的比较合理。
2 白盒测试
2.1 静态白盒测试
2.2 动态白盒测试
3.功能测试
功能测试指测试软件各个功能模块是否精确,逻辑是否精确。
4.UI测试
5.性能测试
性能测试重要测试软件测试的性能,包罗负载测试,强度测试,数据库容量测试,基准测试以及竞争测试。
5.1负载测试
5.2强度测试
5.3数据库容量测试
5.4基准测试
5.5竞争测试
6. 安全性和访问控制测试
6.1应用程序级别的安全性
6.2体系级别的安全性
7.故障转移和恢复测试
- 故障转移测试可确保:对于必须连续运行的体系,一旦发生故障,备用体系就将不失时机地“顶替”发生故障的体系,以克制丢失任何数据或事务。
- 恢复测试是一种对抗性的测试过程。在这种测试中,将把应用程序或体系置于极度的条件下(或者是模拟的极度条件下),以产生故障(比方装备输入/输出 (I/O) 故障或无效的数据库指针和关健字)。然后调用恢复进程并监测和检查应用程序和体系,核实应用程序或体系和数据已得到了精确的恢复。一定要留意主备定时备份 比如电信体系,突然主机程序发存亡机,备份呆板是否能够启动,使体系能够正常运行,从而不影响用户打电话?
8.设置测试 又叫兼容性测试。
- 欣赏器兼容性: 测试软件在不同产商的欣赏器下是否能够精确显示与运行; 比如测试IE,Natscape欣赏器下是否可以运行这套软件?
- 操作体系兼容性 :测试软件在不同操作体系下是否能够精确显示与运行; 比如测试WINDOWS98,WINDOWS 2000,WINDOWS XP,LINU, UNIX下是否可以运行这套软件?
- 硬件兼容性: 测试与硬件密切相关的软件产品与其他硬件产品的兼容性,比如该软件是少在并口装备中的,测试同时使用其他并口装备,体系是否可以精确使用. 比如在INTER,舒龙CPU芯片下体系是否能够正常运行? 这样的测试必须创建测试实行室,在各种情况下举行测试。
9.安装测试
- 第一个目的是确保该软件在正常情况和异常情况的不同条件下:比方,举行初次安装、升级、完整的或自定义的安装_都能举行安装。异常情况包罗磁盘空间不足、缺少目次创建权限等。
- 第二个目的是核实软件在安装后可立即正常运行。这通常是指运行大量为功能测试制定的测试。
安装测试包罗测试安装代码以及安装手册。安装手册提供如何举行安装,安装代码提供安装一些程序能够运行的基础数据。
10.多语种测试 又称本地化测试
- 当语言从A翻译到B,字符长度变化是否影响页面效果。比如中文软件中有个按键叫“看广告”,翻译到英文版本中为 “View advertisement”大概影响页面的雅观程度
- 要思量同一单词在各个国家的不同意思,比如football在英文中为足球,而美国人使用中大概理解为美式橄榄球。
- 要思量各个国家的民族风俗,比如龙个美国中被理解险恶的象征,但翻译到中国,中国人认为为吉祥的象征。
11.笔墨测试
12.分辨率测试
13发布测试
- 阐明书测试: 重要为语言检查(检查阐明书语言是否精确,用词是否易于理解)、功能检查(功能是否描述完全,或者描述了并没有的功能等)、图片检查(检查图片是否精确 )
- 宣传材料测试: 重要测试产品中的附带的宣传材料中的语言,描述功能,图片。
- 资助文件测试:资助文件是否精确、易懂、是否人性化。最好能够提供检索功能。
- 广告用语: 产品出公司前的广告材料笔墨、功能、图片、人性化的检查 。
14 文档考核测试
- 需求文档测试: 重要测试需求中是否存在逻辑矛盾以及需求在技术上是否可以实现;
- 设计文档测试: 测试设计是否符合全部需求以及设计是否合理。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |