A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 炸天帮扛把子 初级黑马   /  2018-9-25 22:25  /  1766 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

   刚刚结束web自动化测试的课程,,Jmeter接口测试接踵而至,温故而知新,在这里先总结下单元测试.一、 什么是单元测试?
        概念:单元测试是针对程序的最小单元来进行正确性检验的过程。
        单元:一个单元可能是单个程序、类、对象、方法(函数)等。
        优点:
        1. 减少BUG
        2. 快速定位BUG
        3. 提高代码质量
        4. 减少调试时间
二、 单元测试流程
        1. 单元测试-计划
                        1) 确定要测试代码范围
                                依据:二八原则(20%的代码中隐藏了80%的缺陷)
                                                1. 频率:使用频率高的代码段;
                                                2. 复用性:(是否已被复用)        
                                                   1). 全新
                                                   2). 部分复用
                                                   3). 全部复用
                                                3. 开发人员:     
                                                   1). 技术
                                                   2). 业务
                                                4. 复杂度:业务逻辑复杂度(一般认为圈复杂度在7级以上代码包括在20%的代码中)                                                
                        2) 评估标准(确定被测代码的覆盖率)
                                评估标准:
                                                如何确定逻辑覆盖率?
                                                1. 语句覆盖率
                                                        说明:非分支非判断
                                                2. 分支覆盖率
                                                        说明:判断语句的分支;如:if判断有两个分支
                                                3. 条件覆盖率【容易混乱】
                                                        说明:结果为true或false;
                                                        注意事项:a>b and b>c 为两个条件,每个条件有true和false 也就是说1个条件的分母为2;
                                                4. 路径覆盖率
                                                        说明:路径分子永远为1;
                                                5. 分支-条件覆盖率
                        3) 流程图
                                说明:使用统一规定标准图形,描述程序运行的具体步骤
                                目的:
                                        1) 确定覆盖率
                                        2) 根据流程图画流图        (流图-->测试策略实现时学习)
        2. 测试策略-设计
                        1) 拿到开发代码进行调整(可独立执行)
                                方式:推荐:孤立策略
                                打桩:概念:打桩就是模拟编写一个我们需要引用的函数
提示:一般我们只模拟写个函数名,直接返回相应的结果即可
        3. 测试策略-实现
                        1) 根据调整好的代码-画流程图
                                什么是流图?
                                        概念:表达程序业务逻辑的复杂度一种示意图
                                构成:   
                                         1) 圈:判断条件、语句块(一条或多条语句)两者都圈   
                                         2) 线:箭头指向的线,用来连接圈和圈的指向   
                                流图的目的?
                                        1) 确定单元的复杂度级别
                                        2) 确定测试用例
                                        备注:
                                                1. 路径的个数为复杂度的级别(一条路径为1个复杂度级别)
                                                2. 路径的复杂度(1. 最少为条件的个数;2.最多为条件的个数+1)               
                        2) 根据流程图画流图-确定复杂度、路径
                        3) 根据复杂度和路径确定测试用例(测试数据)
        4. 单元测试-执行   
                        1) 使用测试框架(UnitTest)编写单元测试用例
                        2) 测试用例(代码)和测试数据分离
                        3) 生成测试报告

4 个回复

倒序浏览
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马