APP接口自动化测试设计

 2022-10-14 04:10

论文总字数:19063字

摘 要

现如今,智能手机已经普及到每个人的手中,传统的互联网巨头们纷纷将目光聚集到移动互联网,移动软件业务也随着智能手机的普及而开始成爆发性的增长。但是产品发布之前的测试,往往是在发布时间的压迫下之保证了功能的稳定性,而忽略了APP在运行过程中的性能,比如接口压力、接口安全以及接口的稳定性。但是接口基本稳定,所以一般情况下,不会有问题,要调用各种异常以及正常的接口返回结果对比,成为了极其机械而重复的事情。重复性高手工调用会浪费大量的时间。计算机是能够快速执行重复性很高的硬件设备。因此在第一次接口测试完成后,可以将接口测试,编写成能够让计算机直接执行和校验的接口自动化测试代码。从而提高测试的工作效率,以保证系统的稳定性。

关键字:APP接口测试;Robot Framework;接口自动化测试;自动化测试;软件测试;

Abstract

Nowadays, smart phones have been widely used in everyone's hands. Traditional Internet giants have focused their attention on mobile Internet. Mobile software business has also begun to grow explosively with the popularity of smart phones. However, the test before product release often guarantees the stability of function under the pressure of release time, while ignoring the performance of APP in the running process, such as interface pressure, interface security and interface stability. But the interface is basically stable, so in general, there will be no problem. It has become extremely mechanical and repetitive to call all kinds of abnormal and normal interfaces to return the result comparison. High repeatability of manual calls wastes a lot of time. Computers are hardware devices capable of fast execution with high repeatability. Therefore, after the first interface test is completed, the interface test can be written into the interface automation test code that can be directly executed and verified by the computer. In order to improve the efficiency of testing and ensure the stability of the system.

目录

引言 1

课题背景及意义 1

1.1. 国内研究现状 2

1.2. 国外研究现状 2

APP接口测试 4

2.1. APP接口测试 4

2.2. APP接口测试用例需要关注的内容 4

2.3. 软件接口测试的需求分析 4

2.4. 针对不同的接口分析测试 5

APP 接口测试工具的研究 5

3.1. fiddler 5

3.2. postman 6

3.3. Java代码做接口测试 7

3.4. Python代码做接口测试 7

3.5. Robot Framework 7

APP接口自动化测试工具的设计与实现 10

4.1. Robot Framework RIDE(Robot Framework IDE ) 10

持续集成Jenkins CI 15

5.1. Jenkins 15

5.2. CI 16

致谢 19

参考文献 20

引言

随着手机APP软件行业业务的不断扩展,企业中会出现不同的业务线,业务线之间需要团结合作,提高工作效率,从而避免重复开发相似功能的情况发生,为了不干涉不同软件之间的代码,合作时就需要将接口提供给对方,随着数据量的快速增长,需求量的不断迭代,接口被调用的数量就会不断增加。APP随着不断的推广用户量也会成指数形爆炸性增长,软件接口的压力就越来越大,为了对付这些突如其来的用户洪峰,对接口造成的压力,企业必须提前进行测试提供方案,避免正式生产环境中发生接口掉挂导致用户无法使用,直接导致企业的经济损失,近年来淘宝双十一、微信春晚红包以及12306春运火车票抢购就是典型的例子。于此同时,软件接口的安全性也越来越受重视,只要使用工具就可以很轻易的获取接口信息,如果核心业务的接口被过度暴露且没有进行加密,不仅用户的个人信息会被大量泄漏,有的核心支付相关的业务也会被恶意攻击,直接导致企业严重的经济损失,因此企业也越来越重视接口测试。然而在互联网行业中有一个普遍现象存在,企业往往重开发而轻视测试的重要性,加之互联网行业常常实行需求快速迭代工作的方式,导致测试从业者往往只有很少的时间,在系统日益庞大的情况下,可能很难进行全面的完整的回归测试,导致上线难以保证系统的稳定性。要在有限的时间里,完成大量的任务还要保证线上系统的稳定性,对于测试人员来说是一个极其艰难的事情。往往测试人员在完成基本功能的测试以后已经没有时间去进行接口测试,或者对于接口测试不了解导致无从下手。因此大部分的接口测试都是由开发人员自己完成的。但是开发环境的不稳定导致不能保证接口测试的结果。这种情况会大大影响产品的用户体验,也会给产品带来极其巨大的安全隐患。

本文主要针对测试人员没有接口测试经验,对软件接口测试无从下手,没有编写代码能力测试人员,梳理软件接口测试自动化的流程,实现接口自动化测试已经每日自动化构建,将更多重复的任务交给计算机,释放更多测试人力以提高测试人员的工作效率,保证产品的稳定性,在早期发现问题并解决问题。

课题背景及意义

目前软件行业正以前所未有的速度蓬勃发展,随着软件应用的范围逐渐扩大,人们对软件的需求越来越高,如何提升软件产品质量受到软件企业和相关研究工作者的重视。软件测试作为保障软件质量的重要手段,近年来成为一个热门的工作和研究方向,得到了快速的发展。虽然软件测试不能百分百的保证软件的安全稳定,但却极大程度的保证了软件的可靠性,以往软件测试主要以人工测试为主,自动化程度很低,已经不适应现在的软件行业,软件测试的发展遇到了瓶颈期。根据网络调查可知测试人员的工作量往往占据成本的三到五成,就但只是测试的时间就消耗了整个开发周期的五成。由此可以看出测试的成本是极其庞大的。

众所周知,软件测试有两种形式,一种是人工测试,另一种是自动化测试。在软件工程成立之初,人工测试是软件测试的主要形式。随着验收测试驱动(ATDD)和多轮次验收测试等先进软件开发理念的提出和应用,软件测试的重要性不断提高,实现自动化测试势在必得。

国内研究现状

近年来随着企业需求的飞速增加,在自动化测试工具方面,国内企业像腾讯、阿里巴巴、华为、小米等几家较大型的互联网公司都各自针对公司的产品研发了自动化测试系统。然而中小企业或微团队由于没有那么足够的人力和时间成本,不能像腾讯、阿里等公司一样,搭建一个自主研发的自动化测试平台,通常会选择部分自动化内容进行开发。包括UI、接口、功能、页面检查。其中接口自动化是最容易实现的,页面检查和UI由于APP中有的页面使用H5编写导致选取控件会比较困难。而且接口测试在前后端分离的情况下可以保证软件传输的结果必然是正确的,从而降低测试人员在进行兼容性测试时忽略数据导致无法避免的问题。并且由于时代的发展,APP不再只有安卓端和IOS端,常常会做成WAP端单独嵌入在微信公众号、微信小程序、支付宝服务窗等第三方软件当中。接口自动化测试从投入产出比来看是最高的,而且相对于单元测试来说没有那么难在中小企业中推进,界面样式的多变,导致UI自动化功能测试的维护成本极高。

国外研究现状

20世纪60年代,在软件工程建立之前,测试只为了表明程序正确的一种手段。在当时并不存在系统的理论经行指导。第一届软件测试正式会议在北卡罗莱纳大学与1972年举行。在会议当中首次提议了软件测试的定义。1975年《测试数据选择的原理》文章在IEEE上正式发布。这意味着软件测试正式成为软件工程中一个极其重要的单独存在的分支。1979年Glenford Myers出版的《软件测试艺术》中第一次对软件测试进行了定义。定义中指出,测试是为了发现错误而执行的一个程序过程。在20世纪80年代,软件质量的号角开始吹响,软件测试的定义发生了翻天覆地的变化,测试不仅仅只是一个发现错误的过程,而是包含了软件质量评估的内容。在此之后,软件测试的研究人员对软件测试从各个方面入手并加以总结。提出了不同的理论,将软件测试上升到了理论研究的层面,为实际的工程实践提供了重要的理论参考。巴里·贝姆在里程碑式的著作《软件工程经济学》里介绍了修复bug成本在时间上呈指数上升的概念。他还提出了具有建设性的成本模型。美国马里兰大学的AtifM Memon教授提出了基于事件覆盖准则,他提议将GUI划分为空间,控件用实践流图表示,测试用例数据的设计依赖于各个事件之间的交互,该理论的提出为以事件序列描述测试用例奠定了基础。

剩余内容已隐藏,请支付后下载全文,论文总字数:19063字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;