1、单元测试实践 计算机科学与技术学院准备n 软件软件l VISIOl Excell Wordl Visual Studio 2013 aboven 被被测项目测项目l UnitTestDemo.NUnitl Account类的类的ValidatePoints方法方法计算机科学与技术学院测试流程流程图测试用例单元测试缺陷单回归测试计算机科学与技术学院单元测试基本流程n 读源码读源码n 绘制流程图绘制流程图n 设计测试用例设计测试用例n 编写单元测试编写单元测试n 执行单元测试执行单元测试n 填写缺陷单、覆盖率、执行情况表填写缺陷单、覆盖率、执行情况表计算机科学与技术学院业务需求n(1)商业用户且交
2、易金额大于)商业用户且交易金额大于100,绩,绩点增加点增加4点;点;n(2)个人用户且交易金额大于)个人用户且交易金额大于100,绩,绩点增加点增加2点;点;n(3)商业用户且交易金额小于)商业用户且交易金额小于100(含(含等于等于100),绩点增加),绩点增加1点;点;n(4)其他情况,不改变绩点;)其他情况,不改变绩点;计算机科学与技术学院计算机科学与技术学院绘制流程图n 采用采用VISIOn 节点:起始节点:起始/结束节点、判定节点、流程结束节点、判定节点、流程节点节点n 编号编号l 先判定节点,后流程节点先判定节点,后流程节点l 从上自下,从左自右从上自下,从左自右l#阿拉伯数字阿
3、拉伯数字#,如,如#1#l 开始节点编号开始节点编号#0#,结束节点编号最后,结束节点编号最后计算机科学与技术学院计算机科学与技术学院设计测试用例n 根据流程图,分析条件与代码路径并编根据流程图,分析条件与代码路径并编号号计算机科学与技术学院条件分析n T1:amount 100&accountCategory=AccountType.Businessn T2:amount 100&accountCategory=AccountType.Personaln T3:amount=100&accountCategory=AccountType.Business计算机科学与技术学院路径分析n L1:
4、0,1,4,7n L2:0,1,2,5,7n L3:0,1,2,3,6,7n L4:0,1,2,3,7计算机科学与技术学院设计测试用例n 以路径覆盖为目标,设计测试用例以路径覆盖为目标,设计测试用例n 测试用例测试用例l 被测类功能描述、输入参数物理意义与范围被测类功能描述、输入参数物理意义与范围l 测试项目、测试类命名测试项目、测试类命名l 测试用例编号、测试方法命名测试用例编号、测试方法命名l 代码路径编号代码路径编号l 预置条件:输入参数值、桩函数返回值、模预置条件:输入参数值、桩函数返回值、模拟对象值、期望值拟对象值、期望值计算机科学与技术学院计算机科学与技术学院编写单元测试n 按照测
5、试用例设计文档,编写单元测试按照测试用例设计文档,编写单元测试n 执行单元测试执行单元测试n 填写缺陷单填写缺陷单l 缺陷编号、测试用例编号缺陷编号、测试用例编号l 缺陷描述、违例个数、实例截缺陷描述、违例个数、实例截图图、代码行号、代码行号n 覆盖率截图覆盖率截图n 填写执行情况表填写执行情况表l 测试用例编号、执行结果、日期、执行人测试用例编号、执行结果、日期、执行人计算机科学与技术学院计算机科学与技术学院执行情况表计算机科学与技术学院课堂练习n 以以LogAnalyzer为背景,实施单元测试为背景,实施单元测试n 提交提交l 程序流程图程序流程图l 单元测试用例设计说明书单元测试用例设计
6、说明书l 单元测试代码单元测试代码l 测试测试覆盖率、执行情况表覆盖率、执行情况表计算机科学与技术学院考试复习n 单元测试活动流程图、活动内容、文档单元测试活动流程图、活动内容、文档n Arrange-Act-Assert涵义涵义n 软件测试与软件测试与SQA关系关系n 使用桩对象时被测类、测试类与桩对象使用桩对象时被测类、测试类与桩对象的交互图的交互图计算机科学与技术学院n Rhino Mocks编写单元测试(桩对象编写单元测试(桩对象)n NUnit编写单元测试(模拟对象)编写单元测试(模拟对象)n CalculateRevenue单元测试单元测试l 流程图流程图l 条件分析、路径分析条件分析、路径分析l 测试用例测试用例l 测试代码测试代码