网站地图的重要性cm域名做网站

张小明 2026/1/13 0:18:23
网站地图的重要性,cm域名做网站,wordpress图片幻灯片,南充网站建设hulingwl本章节主要讲解“软件测试的白盒测试(二)之单元测试环境”的内容#xff0c;单元测试环境是指单元本身不是一个独立的程序#xff0c;一个完整的可运行的软件系统并没有构成#xff0c;所以必须为每个单元测试开发驱动单元和桩单元。一个完整的单元测试环境如图10-2所示。图…本章节主要讲解“软件测试的白盒测试(二)之单元测试环境”的内容单元测试环境是指单元本身不是一个独立的程序一个完整的可运行的软件系统并没有构成所以必须为每个单元测试开发驱动单元和桩单元。一个完整的单元测试环境如图10-2所示。图10-2 单元测试环境驱动单元(Driver)所测函数的主程序它接收测试数据并把数据传送给测试单元最后再输出实测结果。当被测试单元能完成相关功能时也可以不要驱动单元(如顶层函数就可以不使用驱动单元)。驱动单元具有如下特点(1)接收测试数据包含测试用例输入和预期输出。(2)把测试用例输入传送给要测试的单元。(3)将被测单元的实际输出和预期输出进行比较得到测试结果。(4)将测试结果输出到指定位置。桩单元(Stub)用来代替所测单元调用的子单元。桩单元具有如下特点(1)桩单元的功能是从测试角度模拟被调用的单元。(2)桩单元需要针对不同的输入返回不同的期望值模拟所替代单元的不同功能。(3)桩单元返回的期望值根据输入和被模拟单元的详细设计来确定。【实例】被测试的函数为FuncTest调用的子函数为加法函数add 和减法函数sub。函数代码如下由于被测试函数FuncTest 调用了加法与减法两个函数所以应该先写加法和减法的桩函数。但如果加法和减法这两个函数都已经经过了测试并且是正确的那么可以不用写桩函数直接调用这两个函数即可。写好后的桩函数代码如下//模拟加法函数的桩 int stub_add(int a, int b) { if((a1) (b1)) { return 2; } if((a2) (b1)) { return 3; } if((a3) (b0)) { return 3; } else return 9999;//只是为了处理异常而且是自定义的 } //减法函数的桩 int stub_sub(int a, int b) { if((a1) (b2)) { return -1; } if((a2) (b3)) { return -1; } if((a0) (b3)) { return -3; } else return 9999;//只是为了处理异常而且是自定义的 }接下来写驱动模块一般驱动程序都为main 函数驱动模块的代码如下​​​​​​​int main() { int z0;//接受被测试函数结果 zFuncTest(1,1); if(2 z) { printf(测试用例001 通过! ); } zFuncTest(2,1); if(3 z) { printf(测试用例002 通过!); } zFuncTest(1,2); if(-1 z) { printf(测试用例003 通过!); } return z; }从上面的实例中可以看出桩函数主要用于代替被测试函数(FuncTest 函数)所调用的函数(add函数和sub 函数)之所以设计桩函数就是为了隔离错误。假设如果不设计桩函数直接调用add函数和sub 函数当测试结果失败时就无法确定是被测试函数(FuncTest 函数)还是被调用函数(add函数和sub 函数)出错。那么什么时候需要写桩函数呢?一般以下两种情况需要写桩函数(1)被调用的函数未经过测试不能保证其正确性。(2)被调用的函数虽然已经测试过但是有一些情况无法模拟此时也需要写桩函数。如函数test​​​​​​​int test(int x, int y) { … if(a 10) { return x y; } else return 9999;//只是为了处理异常而且是自定义的 }假设被测试函数需要调用该函数test 函数也经过测试且是正确的但是在实际使用过程中很难模拟出a10 时的值那么测试过程中就可以通过桩函数人为地模拟这种情况。测试过程中并不是每次都需要写桩函数通常以下情况不需要写桩函数(1)最底层函数即被测试函数不调用任何的其他函数此时不需要写桩函数。(2)被调用的函数已经经过测试并且是正确的。测试过程中也并不是每次都需要写驱动函数对于顶层函数或main函数测试时就不需要写驱动函数。本章节关于“软件的白盒测试(二)之单元测试环境”的内容就学习到这里大家觉得文章有用的话一定要关注我们每天来这里和小编一起学习涨薪技能哦。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

搜网站的关键词免费网站模版下载

Minecraft世界转换终极指南:Chunker完整安装配置教程 【免费下载链接】Chunker Convert Minecraft worlds between Java Edition and Bedrock Edition 项目地址: https://gitcode.com/gh_mirrors/chu/Chunker 想要在Minecraft Java版和基岩版之间自由转换世界…

张小明 2026/1/9 22:01:53 网站建设

如何建立网站快捷互联网广告营销是什么

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - 开题报告https://www.paperzz.cc/proposal 开题报告是学术写作的第一道 “关卡”—— 既要体现研究价值,又要搭建清晰的逻辑框架,不少学生往往陷入 “选题老套、文献堆砌…

张小明 2026/1/10 15:32:38 网站建设

哪个旅游网站做的最好archlinux+wordpress

第一章:为什么顶级团队都在用Docker Buildx?Docker Buildx 正在成为现代软件交付链中的核心组件,尤其被云原生和 DevOps 团队广泛采用。它扩展了 Docker CLI 的能力,使得构建镜像不再局限于本地平台,而是支持多架构、并…

张小明 2026/1/10 17:08:15 网站建设

济南市住房和城乡建设局官方网站哪家网站专门做折扣销售

Linux 脚本编写与项目实践指南 1. 命令选项与格式优化 1.1 长选项与短选项 许多命令都同时具备短选项和长选项。以 ls 命令为例,它的部分选项既可以用短形式表达,也能用长形式表达。例如: [me@linuxbox ~]$ ls -ad和 [me@linuxbox ~]$ ls --all --directory这两条命…

张小明 2026/1/10 21:03:03 网站建设

学校部门网站的建设保健品网站可以做网站

知乎内容完整备份方案:告别知识流失的终极武器 【免费下载链接】zhihu_spider_selenium 爬取知乎个人主页的想法、文篇和回答 项目地址: https://gitcode.com/gh_mirrors/zh/zhihu_spider_selenium 你是否曾经历过这样的场景:深夜灵感迸发&#x…

张小明 2026/1/10 0:28:01 网站建设

网站建设3d插件网站推广建设

WeChatPlugin-MacOS微信小助手完整使用指南 【免费下载链接】WeChatPlugin-MacOS 微信小助手 项目地址: https://gitcode.com/gh_mirrors/we/WeChatPlugin-MacOS WeChatPlugin-MacOS是一款专为macOS平台设计的微信增强插件,通过集成多种实用功能来提升微信使…

张小明 2026/1/10 9:47:19 网站建设