• 1. 目录测试概念交流 如何确定测试范围 如何实施测试
  • 2. 测试概念-概念 单元测试是面向程序设计的测试,测试对象为单个程序单元或几个程序单元构成一个小的功能单元的测试(IEEE)。 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。--百度概念 接口测试是测试组件或服务通过接口的方式退外提供的功能正确性的测试,它是集成测试阶段的一种测试手段。
  • 3. 测试概念-测试阶段划分业务流程业务点功能模块功能点功能点功能模块功能点业务点功能模块功能点功能点功能模块功能点系统测试集成测试集成测试单元测试向上集成
  • 4. 测试概念-测试覆盖度比较被测试系统单元测试集成测试系统测试
  • 5. 测试概念-单元测试类型 动态测试静态测试白盒测试结构测试规范审查 安全审查黑盒测试功能测试 性能测试结构测试是面向代码的测试,测试对象为每一个程序文件或一个类功能测试是面向功能单元的测试,测试对象为一个最小功能体性能测试是面向功能单元的测试,测试对象为一个最小功能体规范审查是面向代码的测试,测试对象是每一个程序文件或一个类安全审查是面向代码的测试,测试对象是每一个程序文件或一个类
  • 6. 测试概念-单元测试类型比较单元测试中白盒测试(结构性测试),是面向代码的测试,测试对象为每一个程序文件或一个类。 单元测试中黑盒测试(功能性测试),是面向功能单元的测试,测试对象为一个最小功能体。 白盒测试测试覆盖强度大按测试要求对所有语句覆盖和判断条件覆盖。 包括(私有方法等) ,测试开发量比较大,测试代码与原代码量差不多1:1的比例。 黑盒测试测试覆盖单元功能方法,主要覆盖public 方法对对输入值按照边界,等价类、等方法进行功能覆盖。 在UAP平台项目中根据测试资源现状可采用黑盒测试办法,做功能性验证 单元测试自动化 测试覆盖分析
  • 7. 测试范围测试阶段测试范围单元测试代码级测试,测试单元是单个代码文件或一组实现特定功能的代码文件。 保证代码级系统功能点正确性、稳定性、可靠性。集成测试系统或服务对外提供的业务功能接口的测试,是一组系统功能点经过组合实现某一个业务功能,并对上层提供调用接口的测试 保证系统功能组装成业务功能实现后的业务功能的正确性,稳定性,容错性系统测试系统支撑的完整业务流程的功能验证,性能验证,安全验证、可靠性验证、安装部署升级等方面的测试。
  • 8. 测试项目实施确定范围确定系统内那些代码是可测试的确定那些代码是核心代码确定那些代码是接口代码测试分析上下文分析分析输入分析输出测试开发准备环境编写测试代码本地测试本地代码调试本地回归测试回归测试提交测试代码纳入配置管理测试环境集成回归
  • 9. 测试实施-确定范围识别核心代码范围 去掉系统自动生成的代码 去掉UI相关的代码 包括复杂逻辑处理的代码必测试 一组实现核心功能点的代码 识别接口代码范围 定义在public中的代码 通过NCLookup对外提供服务的接口实现代码
  • 10. 测试实施-测试分析分析上下文 上下文是指调用这个被测试的方法,所需要的运行环境,例如需要启动中间件 分析输入 分析所有影响方法结束输出的输入,作为测试输入条件,常见的是参数数据、静态全局变量、同类中私有变量、外围配置信息(数据库中、配置文件中等等) 分析输出 正常返回值,抛出的异常,回写数据库,类中变量赋值、向外发通信包等等
  • 11. 测试实施-测试分析输入输出P1obj.aPobj1.b Pobj.2cPobj2.dRb.aRb.bRb.c case1case2case3
  • 12. 测试实施-测试分析测试用例设计方法 正常分支路径覆盖 异常输入测试(针对不同的参数类型,应有不同的异常输入场景) 参数数据的等价分析 参数数据的边界分析
  • 13. 测试实施-测试分析输入输出P1obj.aPobj1.b Pobj.2cPobj2.dRb.aRb.bRb.c case1nullnullnullnullerrorerrorerrorcase2值域A值域A 值域A 值域A expectValueexpectValueexpectValuecase3值域B值域B值域A值域AexpectValueexpectValueexpectValue
  • 14. 测试实施-测试开发测试运行上下文构造 测试数据构造和管理:例如-输入参数数据构造 测试背景数据准备管理 测试对象与其他对象隔离 测试结果验证测试功能抽取 测试场景化抽取
  • 15. 测试实施-测试开发UAPUNIT代码生成封装UAPServer 上下文支持ExcelDataPrivide 支持多种验证格式支持多种参数构造TestNG运行层测(test-suit-class-method)支持datarprovide支持测试组划分支持超时、异常期待PowerMock支持对象部分方法隔离支持void 方法测试
  • 16. UAT功能介绍(1)UAT-(Unit-Auto-Testing) 单元自动化测试框架,支持UAP项目的单元自动化测试和接口自动化测试。 UAT在测试体系中的位置,如下图: 系统测试集成测试单元测试UAT测试框架Sonar代码审查
  • 17. UAT功能介绍(2)单元测试和接口测试实现自动化需要解决问题: 测试对象构造 测试上下文管理 测试数据管理 测试方法调用 测试结果验证 测试数据回退 自动化回归执行
  • 18. UAP单元测试过程规划
  • 19. UPA单元测试运行环境
  • 20. UAP单元测试框架(1)回归测试需求 ·建立单元自动化回归测试框架,能够自动完成每日自动代码更新、编译、测试并返回测试报告。 简化开发工作量 通过技术手段减少开发人员测试代码量,并且能够支撑多种测试手段。 通过技术手段实现复杂参数对象的构造,减少参数数据对象构造工作量。 测试用例和测试数据管理 通过测试工具对测试用例和测试数据进行管理,并且跟踪测试用例每次执行状态。
  • 21. UAT功能模块结构测试开发自动回归开发测试环境生成 测试代码自动生成 测试代码调试开发代码获取编译 测试代码执行调度 测试报告生成和发送UAT支撑库测试对象构造 测试输入数据构造支持 测试数据备份恢复管理 测试结果验证支持(db,log,assert) 测试结果循环验证支持 测试上下文管理TestNG(测试驱动支持库),PowerMock,Mockito
  • 22. 测试代码开发(1)UAT-Plugin Eclipse 插件初始开发环境自动生成代码单项目初始工作区间项目初始生成Mock构造语句生成DataPrivte语句生成数据文件(excel,spring)生成参数对象构造语句生成结果验证语句
  • 23. 测试代码开发(2)实现方式为Eclipse 插件方式与Eclipse集成,提供测试开发环境构造建和测试代码结构化生成功能 测试开发环境的构建提供对单项目构建环境和工作区所有项目项目测试开发环境构建。 测试环境构建功能包括:测试目录初始化,测试资源初始化,测试基础库初始化 测试代码结构化生成功能,是通过对被测试代码结构分析,按照设定的生成规则生成测试代码。 测试代码结构化生成包括如下功能: 测试对象构造语句生成(支持简单构造和Lookup方式构造) 测试参数对象构造(提供DB、Spring、Mock,简单构造、复杂构造等方式) 测试方法调用语句构造 测试数据Excel和database方式构造DataPrivoder语句 测试结果验证语句构造
  • 24. UAT测试支撑库(1)UAT 支撑库构造测试上下文测试数据管理测试结果验证数据库访问支持测试日志管理测试场景支撑库
  • 25. UAT回归测试平台Hudson持续集成平台UATCoberturaCC插件TestngClearCase