基于旅行类手机APP的测试的初步研究.docx
《基于旅行类手机APP的测试的初步研究.docx》由会员分享,可在线阅读,更多相关《基于旅行类手机APP的测试的初步研究.docx(55页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、摘要随着人们生活水平的不断提高,人们对生活的对生活的要求已经不满足于温饱,更加追求精神上的追求和放松,加上现在社会节奏变快,现代人都“绷着一根弦”生活。因此,外出旅行成了人们放松精神,释放压力的不二选择。在出行前,做计划是十分必要的事情。从前人们都是如何了解目的地的呢?大部分都是询问自己身边的朋友,征求意见。这样可以有更加明确的目标,不至于在到达目的地后,一脸茫然,无处可去。但同时,每个人的感受都是不同的,也只有自己亲眼见过才能知道是否符合自己的兴趣。在旅行类APP中,会有许多用户在上面分享自己的旅行经历,有文字感受,同时也有真实拍摄的照片,他们也会分享出自己当时的旅行路线,供即将前往该地的出
2、行者参考。在旅行中,“住”也是一个很大的问题,住宿环境的好坏,很大程度地影响了旅行的心情。在旅行APP中,用户可以在订房间前,就可以了解到酒店周围交通是否便捷,距离景点的距离是否合适,周围是否有美食店。出行者在旅行中往往会在酒店这一环节踩坑,影响旅行体验。除此之外,查询出行时间,景点门票购买等等,都是旅行APP的主要功能。本文主要是对旅行类APP的测试进行初步的研究,对旅行类APP进行需求分析,并制定测试计划,构建出测试用例,并采用自动化测试技术,对旅行APP进行简单的测试脚本编写,并使用Appium执行脚本完成对旅行APP的简单测试。关键词: 旅行类APP Appium 测试用例 自动化测试
3、 软件测试AbstractWith the continuous improvement of peoples living standard, peoples requirements for life are not satisfied with food and clothing, but more spiritual pursuit and relaxation, coupled with the rapid pace of society, modern people are stretched a string life. Therefore, traveling has beco
4、me the best choice for people to relax and release their pressure.It is necessary to make a plan before going out. How did people know where they were going? Most people ask their friends for advice. This way, you can have a clearer goal, so that you dont arrive at your destination with a blank look
5、 on your face and nowhere to go. But at the same time, everyones feelings are different, and only their own eyes can know whether it is in line with their interests. In the travel APP, many users will share their travel experiences on it, with their feelings of words and photos taken in real life. T
6、hey will also share their travel routes at that time for the reference of travelers who are about to go there.In the travel, live is also a big problem, the quality of the accommodation environment, to a large extent affects the mood of the trip. In the travel APP, before booking a room, users can f
7、ind out whether the traffic around the hotel is convenient, whether the distance from the scenic spots is appropriate, and whether there is a food shop nearby. Travelers in the travel often in the hotel this link trample pit, affect the travel experience.Besides, the main functions of the travel APP
8、 are to check the travel time and purchase tickets for scenic spots.This paper mainly conducts a preliminary study on the test of travel APP, analyzes the requirements of travel APP, makes test plans, builds test cases, and USES automated test technology to write simple test scripts for travel APP,
9、and USES Appium to execute scripts to complete the simple test of travel APP.Keywords: Travel App Appium Test Case Automated test SoftwareTest目录第一章绪论81.1选题目的及其意义81.2现状研究81. 3章节的安排9第二章工具及技术介绍102.1 Appium介绍102.1.1简介102.1.2 Appium架构原理102.1.3 Appium工具的优点112.2 Eclipse代码编辑器112.2.1 Eclipse简介112.3 ADB命令122.
10、3.1 ADB命令的使用方法122.4自动化测试技术122.4.1自动化测试简介122.4.2自动化测试的前提条件132.4.3使用自动化测试的场景13第三章测试准备143.1测试需求分析143.1.1开发背景143.1.2软件功能143.2制定测试计划143.2.1 测试进度143.2.2 界面测试工作进度预估153.2.3 功能测试工作进度预估153.2.4 性能测试工作进度预估153.2.5 测试环境153.2.6 测试工具163.4测试环境配置163.4.1 SDK配置163.4.2 Node.js 安装163.4.3 Appium自动化测试工具安装18第四章进行测试活动194.1界面
11、测试194.1.1界面测试常见测试点194.1.2界面测试用例设计思维导图204.1.3界面测试用例204.2功能测试214.2.1功能测试常用方法214.2.2功能测试常见测试点224.2.3功能测试用例设计思维导图(选取部分功能)234.2.4功能测试用例244.3性能测试284.3.1性能测试常见测试点294.3.2性能测试常见方法294.3.3性能测试用例设计思维导图30第五章测试程序设计以及实现315.1自动化测试代码315.1.1登录315.1.2搜索地名395.1.3航班查询435.1.4订单查询495.2交互和体验53第六章总结与期望556.1总结和期望55参考文献56致谢58
12、第一章 绪论1.1选题目的及其意义随着收入水平的不断增长,人们对生活的质量要求在不断地提高,人们外出旅游,感受各地的风土人情,放松自我,亲近大自然的想法也在成倍地增加。至此,去哪里游玩,游玩的预算需要多少以及旅游期间的吃、住、行如何解决的问题成了人们出行前的一个重要的计划标准。因此人们通常需要借助旅行软件解决上述问题。旅行软件的功能包括:用户的登录、目的地查询、展示目的地酒店以及出行方式等。在性能方面要求响应迅速、查询速度快、占用设备资源小等等。另外一个比较重要的指标就是安全性要求。其中软件的UI设计需要符合大多数用户的使用习惯,做到图标易懂、描述准确、比例正确等等,从而使得用户可以在短时间内
13、熟悉地、正确地使用该旅行软件。软件响应时间短,用户体验感好。另外软件要保证用户的个人隐私不被泄露,保证软件可以正常地运作。本文从上面三个方面来探讨旅行类app的测试方法和测试技术。1.2现状研究现如今,由于人们的需求变多,APP的功能也开始多种多样。对于功能测试,现在采用黑盒测试较多,其中等价类划分法、边界值分析法、因果图法等用的较多。黑盒测试基本不需要有人看着,设计完测试用例之后就是开始执行。不过缺点也明显,难以寻找和确定造成程序出错的用例,过度依赖测试用例与经验。另外现在市面上的手机型号众多,更新换代频繁,因此,APP兼容性的问题十分突出,兼容性的测试,一般有使用其他测试平台如,Testi
14、n云测试。以及使用公司内真机测试,优点在于简单快捷,但是也存在着成本太高的问题,对于云测试平台更加有安全性的问题。性能测试的常见类型则有,基准测试、配置测试、负载测试、压力测试等等,主要是用LoadRunner,Jmeter,性能测试在单元测试时就要开始做,但并不意味着集成后不需要测试,性能测试的真正目的是测试软件各单元集成后在真实环境下是否能可靠地运行。安全测试则是对系统抵御非法侵入的能力进行测试,现在普遍的测试方法是有测试人员以非法入侵者的身份,采用不同的方法去攻击系统,具体的方法也有多种,如,破译口令、破坏系统保护机制等等。花费的时间较多以及所需要的技术更加全面。总体来说,现如今存在的软
15、件测试方法有很多,但是各有优缺点。当前使用什么样的方法需要测试人员自己根据当前情况去判断,需要有较多的经验。1. 3章节的安排第一章 为绪论。主要介绍本选题的研究意义及其目的,并阐述一下软件测试的现状。第二章 为工具及其技术的介绍。会对简单地介绍本课题研究过程中所需要用到的工具以及技术。主要包括:Appium、Eclipse和ADB命令、自动化测试技术。并简要地阐述其架构原理、有点以及代码的常用函数。第三章 为测试准备。详细阐述在开始测试活动前需要的做的准备,比如,软件的需求分析,测试计划和用例的设计,以及测试环境的部署和工具的安装。第四章 第四章为测试活动的进行。主要从界面测试、功能测试、性
16、能测试和安全测试这四个方面,来进行相关的测试活动。并简单阐述各个测试的常见测试点和常见方法,并展示出各部分的用例思维导图和详细的测试用例。第五章 为测试程序的设计和实现,在本章将根据履行APP的主要功能来简单描述自动化测试的实现代码以及其实现的结果。并阐述出在代码执行过程中遇到的和发现的问题。第六章 为总结与期望,本章将对整个课题研究进行一个总结,对本次课题研究的漏洞、困难和问题以及对未来软件测试行业的期望进行说明。第二章 工具及技术介绍2.1 Appium介绍2.1.1简介Appium是一款作用于自动化测试的开源工具,它支持多平台,比如,IiOS平台、Android平台以及web,同时支持原
17、生应用和混合应用。值得一提的是,Appium还支持跨平台运行。从事软件测试的工作人员可以用同一套API来编写自动化测试的测试脚本,并在不同的平台上使用。这样可以大大地提高测试工作的效率,极大地提高了iOS平台和Android平台的代码复用性。2.1.2 Appium架构原理Appium是实现于手机自身操作系统中自带的测试框架基础上的。在不同的手机操作系统上,使用的工具也有所区别。Android系统,4.2版本以上的,使用的是UIAutomator,以及该版本系统自带的UI自动化测试工具。Android 4.2版本以下的,则使用的是Selendroid,以及基于Android Instrumen
18、tation框架所实现的自动化测试工具。iOS系统则没有版本的差别,使用的是UIAutomation,以及iOS系统自带的UI自动化测试工具。 图一 Appium架构原理Appium Sever,即Appium服务器。是Appium架构中最重要的核心部分。它的运作是基于Node.js的,是HTTP服务器。Appium Sever的主要功能是接受从Appium客户端发起的连接,监听客户端发送的命令,将命令发送到bootstrap.jar(用于bootstrap.js的iOS手机)执行,并通过HTTP响应将命令的执行结果反馈给Appium客户端。Bootstrap.jar则是在Android手机上
19、运行的一个程序,在Android手机上起到了TCP服务的作用。每当Appium Sever有命令运行的需求时,Appium Sever就会与Bootstrap.jar建立TCP通信,并且把命令发送给它,它会负责运行测试命令。Appium Client,即Appium客户端。它的主要责任是负责与Appium Sever建立连接,并将编写好的测试脚本中的命令发送到Appium Sever。值得一提的是,客户端可以实现多种语言,比如,Python、Java、C#、PHP等等。Desired Capabilities,是一组键值对的集合,其中,键相对应的是设置的名称,而值相对应设置的值。它主要用于告诉
20、Appium Sever建立当前所需要的会话。Desired Capabilities中的一些设置,会影响Appium运行过程中Appium Sever的行为。Session,Appium Client和Appium Sever之间的通信都必须要奖励在Session上。Client在发起通信时,会当先给Sever传送一个“Desired Capabilities”的JSON给Sever。当Sever收到数据后,就会奖励一个Session然后将它的ID返送到Client,在这之后,Client可以使用此ID传达后续的指令。比如,在测试脚本上有一个输入的操作,那么Appium Sever上将会有I
21、nput指令,当此指令传达到安卓系统上时,安卓系统上的Bootstrap.jar将会调取UIAutomator上的具体方法来执行输入的操作。Appium在Android系统中基于UIAutomator实现Bootstrap.jar,在iOS上则是实现Bootstrap.js。每当测试脚本在运行的时候,脚本都会转换成Appium的指令传送到Appium Sever,然后Sever会将测试命令交给Bootstrap.jar,,它将负责运行测试。2.1.3 Appium工具的优点第一,Appium是开源的,它支出多个系统,Android、iOS、Firefox OS。并且Appium Sever也是
22、可以跨平台运行,无论是设备是Windows还是Mac OS X还是Linux,都可以使用。第二,Appium支持测试人员使用不同的语言来编写测试脚本,包括Java、Python、PHP、C#等当前世界上的主流语言。2.2 Eclipse代码编辑器2.2.1 Eclipse简介Eclipse是一个基于Java的,开源的可扩展开发平台。它本身也只是一个框架和一组服务,使用者可以通过安装不同的插件来使得Eclipse可以支持不同的语言,比如Python、C+等。不过,Eclipse本身也是附带了一个标准的插件包。由于Eclipse支持多种插件,使其拥有其他开发工具难以具备的灵活性,目前世界上很多开发
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 旅行 手机 APP 测试 初步 研究
限制150内