测试工具Charles在接口测试中的研究与应用
第2章接口测试技术研究
2.1 软件测试技术研究
软件测试是一种为了在程序中发现错误而执行的测试过程,通常用测试这种方法帮助开发来定位一个系统整体或者是某个模块的正确程度、完成程度、质量,软件测试是保证软件质量的重要部分之一。
软件测试是通过找到产品缺陷或错误来保障产品质量的一种方法,为了测试人员在测试的时候使用测试方案方便快速地找到那些容易被忽略的或者是没找到的错误或缺陷、发现至今还没有被人发现的错误或缺陷 [10]。
与其他任何不同方向的测试一样,接口测试也同样重要,因为它通过验证数据库,网络和系统之间的通信来确保各种数据驱动的应用程序和系统的无缝运行,性能等。
当我们验证应用程序与其他应用程序之间的依赖关系时,接口测试变得更加重要。接口测试作为测试高度的第二层,有着低成本高收益比的优势。很多项目开发都会接触接口测试,现在接口测试可选用的工具有很多,测试框架也有很多,测试人员可以通过接口测试进行很多场景操作以及测试不同的场景、数据等有了很大的便利。
2.2 接口测试技术研究
2.2.1 接口测试方法研究
接口的测试还侧重于数据交换的测试、过程的传输和控制以及系统的逻辑相互依存性[5]。
目前,测试人员有两个共同的问题对于测试接口:第一个是测试场景不深,断言不够;第二个是测试结果校验大部分只校验响应码,不利于持续集成、部署。然而一个完整的接口测试流程应该是:
- 测试接口连接是否成功;
- 检查不同的场景组合和场景的异常;
- 检查输入参数的合法性、效率和边界值;
- 接口安全检查,接口性能检查等。
接口生命周期中的接口测试的三个阶段: - 配置与开发:配置接口后,一旦开发开始,就需要根据要求验证配置。
- 验证:开发完成后,需要验证和验证接口,这也可以作为单元测试的一部分来完成。
- 维护:一旦整个软件准备就绪,部署并正常工作,就需要监视该接口的性能以及由于所做的更改或性能下降而引入的任何新问题。
当我们开始开发接口时,我们需要确保我们没有在代码中引入任何缺陷,因此需要在该接口上运行测试以验证添加新代码不会注入任何新缺陷。这将帮助您确定接口是否无缺陷以及是否符合要求。
一旦我们对界面满意,就可以针对预期的工作流程,数据等对其进行验证。我们可以运行性能,进行大量数据测试并检查界面的响应情况。这样可以节省大量时间,以后将用于修复缺陷。
第3章接口测试需求分析
此次测试的系统是员工管理系统,主要模块包括员工信息管理模块、部门与职位模块、权限管理模块。
3.1 业务分析
3.1.1 正常场景
根据项目需求分析进行设计测试场景,在进行接口测试的时候,如果功能可以成功地进行,前端与后台的数据交互成功、后台与数据库之间进行操作成功,这样一个业务功能基本上成功了。
在员工管理系统中的登录注册功能,当一个用户进行登录时,前端输入数据之后后台通过接口收到数据会从数据库查找数据进行验证,是否存在这个用户?这里就包括了两个层面的接口测试一个是应用层与系统之间的接口的测试、一个是系统与数据库之间的接口测试。这是最基本的接口测试的业务分析,如果一个用户登录不了,可以通过查看他是否有注册过或者是用户名、密码是否输入正确等可能出现的情况。
这种情况我们通常称之为功能测试,因为是测试业务功能的,但有时候因为数据问题出现不清晰又需要查看代码内容,会接触到白盒测试。所以,接口测试在此起到了黑盒测试与白盒测试的交界点,我们也叫它灰盒测试。
3.1.2 异常场景
无法达到项目需求的情况下,我们称之为异常或者是bug。当一个业务功能出现错误的时候,我们会通过接口测试去判断它在哪一个步骤出现的问题。
在管理员登录员工信息管理系统时无法登录,在排除网络问题之外,检查出现哪些业务异常情况。
员工管理系统总体图如下图3 -1所示:
图3-1 员工管理系统总体图
第6章测试实施与结果分析
6.1 Charles测试部署
- 我们可以从Charles官网(https://www.charlesproxy.com/)找到对应的安装包进行下载安装,本机系统为Windows10、64位,所以要下载相对应版本的安装包,然后进行安装。
- 下载后,按启动安装,是一个非常简单的安装阶段,根据提示安装即可。Charles捕获HTTPS的证书安装后,进行Charles证书配置。在成功安装进行测试后,对数据成功捕获,如下图所示:
图6-1 Charles安装成功截图
6.2 Charles测试实施
根据测试分析计划实施测试:
- 用户登录
(1)必填条件输入正确的情况,如图6-2、图6-3所示:
图6-2 用户正确输入图
图6-3 用户成功登录页面
6.4 本章小结
本章主要是分析测试工具录制的各个功能的数据内容,关于接口请求方式、http响应头、状态码信息、接口地址、响应体等数据,这里会显示清楚让你了解,数据差错点,方便定位问题。
文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。