- 1、本文档共109页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件单元与集成测试
嵌入式软件测试第五部分
软件单元与集成测试
单元测试
集成测试
单元与集成测试环境
单元测试—重要性
基于软件问题报告的分析结果
在嵌入式软件开发中,没有特定的缺陷类型占据主导地位
需求问题及需求相关问题是主要缺陷原因(36%)
归结于缺乏系统化单元测试的问题是第二大原因 (22%)
单元测试—对象
软件的独立单元
例子
结构化程序设计语言中的函数或子程序
面向对象语言中的类
4GL的菜单或画面
单元测试—特点
实现-串行或并行测试
方法-白盒为主
单元测试—测试准备
要求的文档可提交
软件设计规格说明、软件接口设计规格说明
源程序符合规范要求并已无错误地通过编译或汇编
被测软件单元已纳入配置管理中
具备了规定的单元测试环境和测试工具
单元测试—通过准则
命名符合规则
控制流程正确
变量使用无差错
达到质量度量指标
功能与设计说明一致
性能达到软件设计指标
覆盖测试达到规定的覆盖率
对发现的问题已进行修改并通过回归测试
单元测试—测试策略
测试内容
静态测试
动态测试
原则
静态和动态测试互补,不能相互替代
建议静态测试在动态测试前完成,实践中,部分动态测试可与静态测试并行
单元测试—静态测试
全面的静态分析
选择性代码检查
补充代码走查
单元测试—静态测试度量
收集并分析
每小时审查的代码行数(LOC)
每千行代码(KLOC)生成的变更请求数(CR)
每小时生成的变更请求数(CR)
代码审查过程花费的总时间
单元测试—动态测试
黑盒测试
白盒测试
基于数据结构的测试
单元测试—动态测试
被测单元
单元接口
局部数据结构
边界条件
独立执行路径
错误处理的路径
测试用例
单元测试—接口测试
调用被测单元时的实际参数与该单元的形式参数的一致性
个数、属性、量纲、顺序
被测单元调用子模块时,传递的实际参数与子模块的形式参数的一致性
个数、属性、量纲、顺序
是否修改了只作为输入值的形式参数
调用其他模块时,检查其可用性和处理结果
单元测试—接口测试
被测单元调用内部函数时,使用参数的正确性
个数、属性、量纲、顺序
被测单元使用全局变量/数据的合理性
是否与定义一致
在单元有多个入口的情况下,是否引用了与当前入口无关的参数
常数是否当作变量来传递
单元测试—接口测试
文件属性的正确性
OPEN/CLOSE语句的正确性
文件是否先打开后使用
文件结束条件的判断和处理的正确性
规定的I/O格式说明与I/O语句是否匹配
缓冲区容量与记录长度是否匹配
输入/输出错误是否检查并作了处理以及处理的正确性
单元测试—接口测试
输出时的文本错误
内容、格式、长度等
使用外部资源时,检查其可用性并及时释放资源
内存、文件、硬盘、端口等
单元测试—局部数据结构
不正确或不一致的数据类型说明
错误的变量名或函数名称
变量名或函数名拼写错或缩写错误
定义的变量从来没有被使用,就很可能使用了错误的变量名
使用了外部变量或函数
变量没有初始化或未赋值就使用
初始值或缺省值错误
单元测试—局部数据结构
错误的类型转换
不一致的数据类型
数组越界
非法指针
下溢、上溢或是地址错误
全局数据对软件单元的影响
单元测试—边界条件
合法数据和非法数据的正确处理
边界内点和边界外点的正确处理
例如
测试处理n维数组的第m个元素
测试循环执行到最后一次循环体
测试取最大值或最小值
测试数据流、控制流中刚好等于、大于或小于确定的比较值
单元测试—独立执行路径
独立路径是指在程序中至少引进一个新的处理语句集合或一个新条件的任一路径。在程序的控制流图中,一条独立路径是至少包含有一条在其他路径中从未有过的边的路径
通过对控制流圈复杂性的分析,可导出基本的、可执行的独立路径集合
单元测试—独立执行路径
不可达或冗余代码
错误的算法
混合型计算的优先级错误
精度错误
比较运算错误
赋值错误
表达式的不正确符号表示
、=;=、==、!=
循环错误
单元测试—错误处理路径
错误自动检测机制
资源使用前后
其他模块使用前后
错误处理策略
抛出错误
通知用户
进行记录
错误处理的有效性
在系统干预前处理
报告和记录的错误真实详细
单元测试—动态测试步骤
步骤1-冒烟测试
步骤2-肯定测试(Positive testing)
步骤3-否定测试(Negative testing)
步骤4-专用测试
步骤5-覆盖测试(Coverage testing)
步骤6-覆盖率评估
步骤7-覆盖率完善与实现
单元测试— ①冒烟测试
目标
用最简单的方法执行被测单元
考核最基本的能力
方法
基于规格说明的测试
等价类划分
单元测试— ②肯定测试
目标
走查相关规格说明
每个测试用例测试一或多个设计陈述
覆盖全部设计陈述
方法
基于规格说明的测试
等价类划分
因果图
状态转换
单元测试— ③否
您可能关注的文档
- 2016题库正文(营销服务)总汇.doc
- 2016遂宁市公需科目题库2总汇.doc
- 博园-模板工程及支撑体系安全验收表总汇.doc
- 呼图壁20132014规划总汇.doc
- 博大光明建设集团信息化系统建设方案总汇.doc
- 后张法预应力空心板施工方案总汇.doc
- 后张法预应力混凝土空心板施工技术方案总汇.doc
- 玻璃幕墙安装工艺标准总汇.doc
- 2016数学建模A题系泊系统设计总汇.doc
- 2016暑假化学自学第一单元步入化学殿堂总汇.doc
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
文档评论(0)