测试02单元测试-控制流-数据流-域测试
2017-06-08 22:48:12 50 举报
AI智能生成
单元测试02主要关注控制流、数据流和域测试。控制流测试主要检查程序中的决策路径是否正确,包括条件语句、循环语句等。数据流测试则关注程序中数据的传递和处理过程,确保数据在各个模块之间正确地流动。域测试则是针对程序中使用的变量、函数等进行测试,确保它们的取值范围和功能正确无误。通过这三方面的测试,我们可以全面地评估程序的正确性和稳定性,提高软件质量。
作者其他创作
大纲/内容
控制流测试
概念
路径:从输入节点到输出
节点之间的计算和判断节点(指明
控制是通过其true分支还是false分
支)的序列。
中心思想:在程序单元中适当的选择一些执行路径,并且观察选择的路径是否产生了预期的
结果
路径选择标准
全路径覆盖
子主题
语句覆盖
分支覆盖
谓词覆盖:条件组合覆盖
数据流测试
概念
动机
变量所对应的内存位置应该按照期望的方式访问
为一个变量生成的数值需要验证其正确性
测试方式
源码
静态数据流测试:分析源码
数据流异常
动态数据流测试:测试标准—>执行路径
方法
静态数据流测试(数据流异常)
dd、ur和du
1、二次定义错误;
2、未定义但被使用;
3、定义但未被使用;
动态数据流测试(数据流图)
构建
节点c-use
<div>分支节点用NULL节点表示</div>
边p-use
<div>true边表示不含条件的控制流</div>
入口节点:定义每个参数和非局部变量
出口节点:取消每个局部变量的定义
路径选择标准
all-c-uses
all-p-uses
all-uses
域测试:有
目标测试
错误
计算错误:路径正确,结果错误
域错误:执行了非期望路径
程序没有正确执行输入分类
封闭错误
边界移动错误
边界倾斜错误
域
封闭域
所有边界都是封闭的
开放域
有开放的边界
ON&OFF
ON点在边界上或接近边界处
封闭域内,开放域外
OFF点在ON点的邻域内
路径选择标准
1、封闭不等式边界:a、边界移动导致域减少;b、边界移动导
致域增加;c、边界倾斜;d、封闭错误
2、开放不等式边界:a、边界移动导致域减少;b、边界移动导
致域增加;c、边界倾斜;d、封闭错误
3、等式边界
测试详情
动态单元测试
被测单元独立执行
特点:
1从实际执行环境分离出来 2.模拟环境 3.选择的输入来执行:显示屏/日志/桩结果
脚手架
scaffolding
测试驱动 test driver
调用被测单元的程序
分支主题
桩 stub
静态单元测试
代码评审
预备、准备、检查(变更请求)、重做、验证、退出(报告)
目标:所关注的软件的质量,而非产品开发过程的质量
走查
作者带领团队使用预先定义好的场景来手动或模拟执行产品
变异测试
考察测试用例完备性的技术
变异体:对源代码的一次单一,微小,符合语法的更改
一组测试用例的变异分数:不等价变异体被用例杀死的百分数;
变异充分:用例的变异分数为100%
工具:Mothra
调试:检验故障的原因
蛮力调试法
遍布打印语句
调试工具:已执行的代码,变量值的变化
内存转储:汇编
原因排除法
回溯调试法
发现失败的代码作为起始点,追溯执行的代码
测试工具
代码审查器,边界条件检测器
文档生成器(JavaDoc可提取注释)
交互调试期:追溯和设置断点,追踪不良(ODB)
内电路仿真器,内存泄漏检测器,
静态代码分析器(McCabe:v=e-n+2 or v=e-n+1)
软件审查支持工具,测试覆盖率分析器,
测试数据生成器(CUTE, DART ,EGT系统)
测试装置,性能检测器,网络分析器,
模拟与仿真器,流量生成器,
版本控制工具(SUN, GIT, VSS,TFS)→配置管理工具
缺陷预防
插桩代码,返回值,标准控制,输入参数验证,断言……
逆运算
计时器例程,循环计数器
0 条评论
下一页