zoukankan      html  css  js  c++  java
  • 白盒,单元测试

    前段时间面试,被面试官问到了很多关于测试方面的问题,最近一段时间学习一些关于测试方面的知识作为扩展补充。


    单元测试属于白盒测试的一种方式;

    白盒测试:

    软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
    

    白盒与功能:

    如果功能测试足够充分,那么白盒测试就没有必要;
    白盒测试具有有易于衡量测试完整性的优点,对于衡量测试的完整性是功能测试的主要缺陷,二者互补;
    

    软件工程流程图

    立项—>需求–>设计–>编码和单元测试–>集成测试–>确认测试–>系统测试–>系统实施


    常见工具

    测试工具分为几下几类:

    代码检测工具
    覆盖率测试工具
    内存检查
    性能检查
    质量分析工具
    

    常用工具有以下几种:

    代码检查:LINT
    覆盖率:TrueCoverage
    内存检查:BounderChecker
    性能检查:TrueTime
    

    单元测试:

    是最小粒度的测试,以测试某个功能或代码块。
    
    单元测试的对象是软件设计的最小单位——模块。
    
    单元测试的依据是详细设描述,单元测试应对模块内所有重要的控制路径设计测试用例,
    
    以便发现模块内部的错误。
    
    单元测试多采用白盒测试技术,系统内多个模块可以并行地进行测试;
    

    单元测试的内容:

    单元功能测试:

    单元设计的功能点是否全部实现。
    运算的优先级和先后执行顺序是否正确。
    计算中精度的处理是否正确。
    计算中的误差是否会无限放大。
    

    模块接口测试:(对内或对外)

    接口的依赖性、接口里的参数、可选参数和必选参数的组合、
    参数的类型、参数的长度;
    

    内部数据流测试:

    不正确或不一致的数据类型说明。
    使用尚未赋值或尚未初始化的变量。
    错误的初始值或错误的默认值。
    变量名拼写错误或书写错误。
    不一致的数据类型。
    全局变量对模块是否产生影响。
    

    逻辑路径测试:

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

    重点考虑一下几个问题:

    • 异常或出错的描述是否可以理解。
    • 异常处理是否合理、出错后对错误的定位是否准确。
    • 提示的错误与实际的错误是否一致。
  • 相关阅读:
    Unity 关于特效和UI显示的优先级问题
    使用Frida神器轻松实现hook C/C++方法
    理解 Android Binder 机制(三):Java层
    理解 Android Binder 机制(二):C++层
    理解 Android Binder 机制(一):驱动篇
    Android Hook Instrumentation
    Cocos Creator 中根据uuid快速定位资源
    android 通用混淆配置
    vToRay + bbr 加速
    SpringBoot项目单元测试
  • 原文地址:https://www.cnblogs.com/aixing/p/13327615.html
Copyright © 2011-2022 走看看