青岛理工大学毕业论文(设计)
提高软件的可靠性,下面我们介绍一种类的服务的测试模型及相应的测试策略。
BBD通常有两种获取途径。一是采用逆向工程的方法根据源程序画出流程图,然后构造出BBD。但这毕竟是在缺少软件开发前期的分析、设计文档或文档不齐全的情况下退而求其次的办法。当源程序不正确时构造出来的BBD就是错误的。另一种途径就是追根溯源,在软件的分析、设计阶段就根据测试的需要构造出相应的BBD。这样就能从根本上解决问题,正确地指导类的服务的测试。 6.4.2 基于层次增量的类测试?
层次增量测试的基本思想是:首先分别测试父类的各个成员函数,再测试成员函数间的相互作用,把测试用例和执行信息保存在/测试历史中,在测试子类时,根据父类的测试历史修改部分的定义以及实现语言的继承映射来决定子类中的哪些特征应当重测试以及父类的哪些测试用例可以复用。?
这种根据类间继承关系的层次特性对类进行增量测试的技术是由M. Harrold等人提出的,其特点是复用父类的测试信息来指导子类的测试。
6.5 软件环境的测试
6.5.1 软件测试的性能要求
软硬件要求:系统环境 winXP;硬件系统环境 P4 2.4、1024MB内存、80G硬盘。系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。此外,对其他软件几乎没有依赖性,程序健壮性较好。 6.5.2 测试
建立一张模拟的SD卡,分别测试下载歌曲文件、播放、暂停、停止、上/下一首的功能是否有用。 6.5.3 软件测试的评价
软件功能评价:此软件各模块都能实现各自的功能,基本符合播放音乐的要
41
青岛理工大学毕业论文(设计)
求。
结论:此软件是可行的。 6.5.4 测试阶段
软件测试是一项复杂的系统工程,从不同的角度考虑可以有不同的划分方法,对测试进行分类是为了更好的明确测试的过程,了解测试究竟要完成哪些工作,尽量做到全面测试。按照软件测试的策略和过程分类,软件测试可分为单元测试、集成测试、确认测试、系统测试和验收测试所示。
[15]
。它们被依次顺序地执行,如图6.1
图6.1 软件测试分级模型
1、单元测试
单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。因为单元测试需要知道内部程序设计和编码的细节知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩模块来辅助完成单元测试。因此应用系统有一个设计很好的体系结构就显得尤为重要。 一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。 2、集成测试
42
青岛理工大学毕业论文(设计)
集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。在此采用自顶向下策略,从网站主页开始进入,测试每个模块之间的联系是否合理,如前台展示与后台管理的接口等。 3、确认测试
确认测试又称有效性测试。它的任务是验证软件的有效性,即验证软件的功能和性能及其它特性是否与用户的要求一致。在软件需求规格说明书中描述了全部用户可见的软件属性,其中有一节叫做有效性准则,它包含的信息就是软件确认测试的基础。 4、系统测试
系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。 5、验收测试
验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。这是软件在投入使用之前的最后测试。
6.6 音乐播放功能测试
在播放列表单击歌曲进入播放界面后,开始播放音乐,并且更新歌曲进度条。屏幕右侧的四个控制按钮可准确操作,包括上一首、下一首、播放和暂停功能。
43
青岛理工大学毕业论文(设计)
第7章 结论
7.1 遇到问题
由于对Android的接触较少,所以也遇到了一些问题,无论是哪种语言首先
要有自己的思路,接下来就是通过语言的实现。我主要遇到Android的四大组件的理解和使用,刚开始不知道如何用相关的组件,而且Android的组件相当的多,就老师上课讲的相关知识比较少,对于我们初学者学习比较困难,而且,只是不是那么的连贯和详细,上课的时间只是跟上老师再敲代码,实现一个具体的功能,但是不有真正的弄懂它的使用方法,所以,我们在课设中出现很多问题。
7.2 解决办法
由于Android是用Java语言编写的,自己学习Java还比较可以,语言不是主要的问题,主要的问题就是Android那四个组件的使用和理解,对于老师课堂上没有讲清楚的我下来主要是采用网上查找资料和自己到图书馆查阅相关的书籍,对于其一些接口查阅Android的相关API接口文档,通过自己慢慢地实现一个个的功能理解和消化相关的知识,对于解决不了的问题,向老师和同学们求助,然后自己在一点点的理解。
7.3 收获体会
本文通过本系统设计与开发,从而得出下列结论:
1、学习一门新技术,最重要的是实践,只有多动手才能尽快掌握它。 2、一个系统的开发,经验是最重要的,经验不足,就难免会有许多考虑不周之处。
44