android单元测试一(单元测试简介)

    说实话以前做java项目的时候基本上没用过JUnit测试,最近做android项目的时候遇到单元测试,没办法,只能硬着头皮去研究了。在这里留下自己学习的痕迹,希望有兴趣的大神可以一起讨论讨论,写的不好请勿喷。

1,什么是单元测试

    单元测试是对软件基本组成单元/模块进行的测试,又称为模块测试。基本单元/模块可以是函数、类实例、方法、存储过程,也可以是任何具有明确功能、规格定义、明确接口定义、并且其规模是一般比较小的程序代码模块的组合体。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

2,为什么要单元测试

   单元测试的重点在于发现程序设计或实现的逻辑错误,使问题及早暴露,便于问题的定位解决。单元测试中多采用白盒测试和黑盒测试相结合的方法,既关注单元功能,也关注程序模块的逻辑结构。两者结合起来,既可以避免由于过多关注路径而导致测试工作量很大的问题,又可以避免因从外部设计测试用例而可能丢失一些路径的问题。现今,更多观点认为单元测试应该由编码人员实施。

图1 单元测试在V模型中的位置

图2  软件开发过程中Bug的引入、发现及修复与成本的关系图

3 单元测试的类容
  1)单元功能测试

      单元功能测试的内容如下:

        a,单元设计的功能点是否全部实现。

        b,运算的优先级和先后执行顺序是否正确

        c,计算中精度的处理是否正确。

        d,计算中的误差是否会无限放大。

  2) 模块接口测试
     在单元测试的开始,应对所测模块的数据流进行测试。如果数据不能正确地输入和输出,就不能进行其他测试。对模块接口可能需要进行下面的测试外包项目:

       a,调用所测模块时的输入参数与模块的形式参数在个数、属性、顺序上是否匹配。
       b,所测模块调用子模块时,它输入给子模块的参数与子模块的形式参数在个数、属性、顺序上是否匹配。
       c,模块对外部文件、数据库进行输入/输出时,必须对文件操作进行测试。例如,缓冲区的大小、是否在读写文件前打开文件,在结束前关闭文件等。
       d,是否修改了只做输入用的形式参数。
       e,输出给标准函数的参数在个数、属性、顺序上是否正确。 
       f ,全局变量的定义在各模块中是否一致。
       g,限制是否通过形式参数来传送。
3) 内部数据流测试
   内部数据流测试包括以下几点:
     a,不正确或不一致的数据类型说明。
     b,使用尚未赋值或尚未初始化的变量。
     c,错误的初始值或错误的默认值。
     d,变量名拼写错误或书写错误。
     e,不一致的数据类型。 
     f ,全局变量对模块是否产生影响。

4)逻辑路径测试
   逻辑路径测试包括以下几点:
    a,是否到达重要的功能点路径。
    b,逻辑判断的边界点是否正确。
    c,异常/错误处理。
    d,比较完善的模块设计要求能预见异常或出错的条件,并设置适当的异常处理和出错处理,以便在程序出现异常或错误时,能对出错程序重新进行安排,保证逻辑上的正确性。

          重点应该考虑下面几个问题:异常或出错的描述是否可以理解。
    e,异常处理是否合理、出错后对错误的定位是否准确。
    f ,提示的错误与实际的错误是否一致。 
    g,对错误条件的处理是否正确。

 


             (欢迎转载,转载请注明出处http://blog.csdn.net/wecanace/article/details/8437452

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值