当前位置: 首页 > news >正文

《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之94——BREW中的应用单元测试方法...

单元测试的主要任务是验证详细规格说明书规定的软件单元是否被开发人员以代码的形式正确实现了。这里的软件单元在面向过程的程序设计中指的是某个函数,在面向对象的程序设计中指的是类或类的成员方法。该测试要把每个函数的每个分支都100%覆盖到,并且每个函数的功能都100%覆盖。

单元测试一般是白盒测试,一般分为手工单元测试和自动化单元测试两种。手工单元测试的基本原理是构建桩模块和测试驰动模块驱动被测单元的执行,然后侧试人员输入设计好的测试用例,测试被测单元能否按照要求处理测试用例。对于出现异常情况的测试用例,测试人员应该记录下来并反馈给开发人员。自动化单元测试的目的是弥补手工单元测试的不足,让一部分或者全部的单元测试工作由计算机来自动完成,从而全面提高单元测试的效率。

为了实现单元测试的自动化,一般采用软件框架(Framework)的软件复用技术。框架是为最大化的重用而设计的体系结构,框架的一个重要机制是用户定义的方法一般是被框架调用,而不是用户的方法调用框架,这种机制称为“反向控制”。当外部事件发生时,框架的调度器通知事件处理对象,调用其中的用户代码,响应事件。反向控制的实质是允许框架,而不是应用程序决定何种方法被激活来响应外部事件。设计模式是框架成功开发的关键。成熟的框架通常使用了多种设计模式,从而具备良好的灵活性和可扩展性。

类似Java中的JUnit以及C++中的CPPUnit,开发商可以根据自己的需要构造自己的单元测试框架。

相关文章:

  • 一张图说明CDN网络的原理
  • 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之95——BREW中的典型上有测试TBT...
  • 我的程序库:HiCSUtil
  • 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之96——BREW中运营商管理的测试UBT...
  • echarts学习网站
  • 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之97——BREW的应用管理器...
  • QTableWidget嵌入QpushButton后定位QpushButton
  • 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之98——BREW中RUIM的相关问题...
  • Linux strace命令使用详解
  • wireshark在ubuntu系统中的正确安装方法
  • 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之99——BREW中的应用删除和召回...
  • 数据存储——SQLite数据库存储——API
  • 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之100——BREW中绚丽多彩的应用...
  • 001.[python学习]写在前面的
  • 数据文件丢失的处理
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • JS数组方法汇总
  • LeetCode29.两数相除 JavaScript
  • MaxCompute访问TableStore(OTS) 数据
  • mysql innodb 索引使用指南
  • Wamp集成环境 添加PHP的新版本
  • 从零开始的无人驾驶 1
  • 搭建gitbook 和 访问权限认证
  • 电商搜索引擎的架构设计和性能优化
  • 基于Android乐音识别(2)
  • 配置 PM2 实现代码自动发布
  • 前端
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 数据结构java版之冒泡排序及优化
  • 算法系列——算法入门之递归分而治之思想的实现
  • 项目实战-Api的解决方案
  • 小程序开发中的那些坑
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 云大使推广中的常见热门问题
  • 找一份好的前端工作,起点很重要
  • 中文输入法与React文本输入框的问题与解决方案
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • gunicorn工作原理
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​queue --- 一个同步的队列类​
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #{}和${}的区别是什么 -- java面试
  • $.ajax中的eval及dataType
  • (1)(1.13) SiK无线电高级配置(六)
  • (1)STL算法之遍历容器
  • (C++17) std算法之执行策略 execution
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (zt)最盛行的警世狂言(爆笑)
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (转)ABI是什么
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存