状态图的android应用增量测试方法【字数:16752】

摘 要在经历过多年的发展和技术革新之后,Android系统已经成为一个用户众多,功能齐全,具有高度的可移植性和开源的系统,作为一款世界上应用最多的手机操作系统,相应的,在其基础上开发出的各种各样的手机软件也是种类繁多,数不胜数。因为手机软件本身的特性,导致了手机软件经常要进行更新,所以手机软件的测试工作就会显得更加频繁。在本文中,首先对现在测试环境和测试手段进行了介绍,介绍了本论文的研究背景与作用,概括了本论文的研究,给出了文章的组织结构,然后介绍了本课题的相关工作,包括状态图、基于状态图的增量测试方法的内容及实现方法。又介绍了本系统的设计方案,然后分别介绍了如何设计手机软件的状态图以及如何对状态图进行绘制。然后介绍了基于状态图的测试方法,并对这种测试方法进行了详细介绍,随后重点对如何制作一张百万管家软件的状态图软件进行了尝试,并对测试软件进行了测试,又对测试结果进行了分析与比较,最后对毕业设计所做的工作进行了总结。通过这次学习和使用,我对软件的测试工作有了更加详细和深刻的了解和体验,让我体会到了软件测试方法的重要性和多样性,并且了解了基于状态图的增量测试方法对于安卓软件的作用,它不仅可以极大缩短软件测试的周期,并且兼顾了对软件新增功能的重点测试。
目录
1. 绪论 1
1.1 课题研究背景 1
1.2 课题研究意义 2
1.3 课题研究内容和成果 2
1.4 论文结构 3
2. 相关工作 4
2.1 ANDROID应用测试相关概念综述 4
2.1.1手动测试 4
2.1.2自动化测试 6
2.1.3自动化测试和手动测试区别 7
2.2 安卓系统 8
2.2.1安卓的发展历程 8
2.2.2系统架构 9
2.2.3Android应用组件 11
2.2.4安全权限机制 12
2.2.5平台优势 13
2.3 基于状态图的应用增量测试方法 14
3. 测试方法设计与实现 16
3.1 测试方案设计 16
3.1.1 测试环境 16
3.1.2NF(Node First *好棒文|www.hbsrm.com +Q: ^351916072* 
)增量测试方法 16
3.1.3EF(Edge First)增量测试方法 16
3.1.4Target N&E 17
3.1.5 系统功能模块 17
3.1.6 系统模块 19
3.1.7 测试工作流程 20
3.2 制作软件状态图 21
3.2.1 4个主功能模块主页面的状态图 21
3.2.2 物业管理模块 22
3.2.3么么微店管理模块 26
3.2.4 购物车管理模块 27
3.2.5我的信息管理模块 27
3.3 状态图整合 28
3.4 本章小结 30
4. 基于状态图的遍历路径设计与测试 31
4.1 测试用例设计 31
4.1.1对状态图的节点和边进行编号 31
4.1.2 采用NF测试方法进行遍历 32
4.1.3 采用EF测试方法进行遍历 34
4.1.4采用Target N&F测试方法进行遍历 36
4.2 测试结果与分析 39
4.2.1例1 39
4.2.2例2 40
4.2.3例3 41
4.2.4例4 42
4.2.5例5 43
4.2.6BUG表 44
4.3 本章小结 45
5. 结论与展望 46
5.1 结论 46
5.2 展望 46
参考文献 47
致谢 48
1. 绪论
1.1 课题研究背景
随着智能手机的普及和更新换代,由于移动互联网的快速发展,移动用户总量已经达到11.5亿[1],手机在我们的生活中的作用也越来越重要,从衣食住行各个方面影响着我们的生活。现在的智能手机操作系统之中,Android操作系统和ios操作系统两大超级巨头几乎占据了所有的市场,相比基于IOS应用的测试研宄而言,Android测试一直是备受关注和发展快速的领域。原因之一是IOS的封闭性导致很多研宄无法正常进行[2],所以完全开源的Android操作系统成为了主流,所有的软件开发人员都能进行安卓软件的开发,所以现在我们开发的手机应用软件大多数是基于Android操作系统进行的。当人们的生活与智能手机的联系越来越紧密,我们对于手机软件的功能需求也越来越多,随之到来的就是大量的手机应用软件的出现和更新。
随着手机应用软件数量的剧增频繁的更新,是否能够快速而有效的对应用软件进行测试就成了保证软件质量的重要前提。软件测试是保证软件产品质量的必要手段和方法[3]。从最通俗的角度看,软件测试就是采取手段来排除软件本身逻辑性错误,有时也需要保证性能上的要求。软件测试是极为重要的一项工作,可以有效地发现软件中存在的问题并提出解决方案[4]。为了达到以上目标,软件测试要尽可能全面的找出错误出现的地方,以及性能上可以提高的渠道,让开发人员进行排错处理和性能提升处理[5]。由于现在的手机硬件不断升级和对手机功能需求的不断增加,导致了现在手机软件正在变得越来越复杂,软件的大小也由之前的十几兆变成了现在的几十兆甚至是几百几千兆,手机软件的功能也越来越多元化,这些变化导致了手机软件的测试工作越来越复杂,需要投入的人力资源和花费的测试时间也越来越多,从而使得人们不断的设计和开发出更多更加快速和高效的软件测试方法和技术,其中包括变异测试[6],安全测试[7]等。
围绕着实现实用的、安全的、高效率的和高质量的软件产品的目标,软件工程学科着手于使用工程化的方式,量化和评估软件开发过程和管理方式,为保证软件质量提供有力的依据[8]。
作为保证软件质量的主要手段,软件测试的工作并不比写代码更加轻松和简单,对于大多数软件来说,对软件进行软件测试所花费的资源和人力在软件开发的总成本中要占至少3成以上,部分软件甚至会占到5成以上,在软件开发的周期中软件测试工作的测试时间要占到至少5成以上的时间,而且如果软件开发的过程不规范,测试的时间可能会大大的增加。
经过人们的不断尝试和探索,测试的方法不断的被开发出来,各种各样的测试方法至少有几百种,通常人们按照软件测试的自动化程度将软件测试分为自动化测试和手动测试两种测试类型,在这两种测试方法中,手动测试因为其方法的特殊性使得在功能测试中存在一些很难避免的问题,比如测试效率低下,重复测试,无法覆盖所有路径,而且还会因为测试人员的错误和失误导致测试不全或者错误,相比手动测试,自动化测试的工作效率更加高效,对于时间和资源的需求也更低,对于测试人员来说,自动化测试可以极大的减少测试人员的工作量和花费的时间时间,避免测试人员因为重复进行大量的测试工作而出现失误。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/546.html

好棒文