软件工程教案-测试技术

软件工程教案-测试技术

ID:46976185

大小:237.66 KB

页数:29页

时间:2019-12-02

软件工程教案-测试技术_第1页
软件工程教案-测试技术_第2页
软件工程教案-测试技术_第3页
软件工程教案-测试技术_第4页
软件工程教案-测试技术_第5页
资源描述:

《软件工程教案-测试技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件工程教案(5)测试技术张海涛测试的产生编程大师说:“任何一个程序,无论它多么小,总存在着错误。”初学者不相信大师的话,他问:“如果一个程序小得只执行一个简单的功能,那会怎样?”“这样的一个程序没有意义,”大师说,“但如果这样的程序存在的话,操作系统最后将失效,产生一个错误。”但初学者不满足,他问:“如果操作系统不失效,那么会怎样?”“没有不失效的操作系统,”大师说,“但如果这样的操作系统存在的话,硬件最后将失效,产生一个错误。”初学者仍不满足,再问:“如果硬件不失效,那么会怎样?”大师长叹一声道:

2、“没有不失效的硬件。但如果这样的硬件存在的话,用户就会想让那个程序做一件不同的事,这件事也是一个错误。”“没有错误的程序世间难求。”[James1999]9/8/202121测试的方法与步骤“测试的目的就是寻找错误!”9/8/202131-1测试规则以发现错误为目的;成功的方案是能够发现尚未发现的错误;再好的方案也会有没发现的错误;只能证明有错,不能证明没错。9/8/202141-1测试规则在实践中,测试要考虑时间、费用等限制,不允许无休止地测试。“彻底地测试”只是一种理想。测试有助于提高软件的质量,但

3、是提高软件的质量不能依赖于测试。软件的高质量是设计出来的,而不是靠测试修补出来的。为了测试的真实性,对测试的心理要求是“无情”。9/8/202151-2测试的方法(1)黑盒法:只测输入和输出,不看内部结构。问题:是否能穷尽所有I/O?(2)白盒法:分析程序内部—每个分支通路。问题:是否很耗费时间?9/8/202161-3步骤(1)模块测试(单元测试)(2)子系统测试:多个模块的组装,主要测试接口部分(3)系统测试:完整的系统组装后测试问题:*测试的目的是什么?(4)验收测试:≈系统测试与系统测试的区别:

4、用户的参与+实际数据(5)平行运行:对于关系重大的系统,必须新旧系统同时运行比对一段时间9/8/202171-4测试阶段的信息流输入信息:软件配置—需求说明书,设计说明书,源程序清单测试配置—测试计划,方案(用例,数据,结果)输出信息:找到的错误+错误率数据9/8/20218单元测试2-1目标1——“模块”模块间的接口局部数据结构重要执行通路(选择,循环等)出错处理影响以上4方面的边界条件9/8/202192-1目标1—“模块”错误的声明(举例)错误的变量(未声明,未使用)溢出与不相容精度与初值9/8/

5、2021102-2目标2—模块接口参数的性质、数目等是否对应?调用是否正确?与内部函数的参数传递是否正确?外部文件读/写,I/O的错误处理输出信息的拼写错误9/8/2021112-3代码审查(1)代码审查小组组长,设计者,编码人员,测试人员(2)过程:分析文档-〉程序逻辑-〉提出问题9/8/2021123集成测试3-1组装测试方法分模块测试→一次性组装→所有模块集成测试分模块测试→逐个模块组装→直到集成测试典型的渐增测试9/8/2021133-2结合方法(1)自顶向下的结合方法:主模块-〉子模块在树状结

6、构中采用深度/广度搜索逐个测试(2)自底向上的结合方法:子模块-〉主模块问题:两种方法的问题?(3)混合法:以上两种方法结合使用9/8/2021144验收测试4-1测试方法——黑盒法“系统是否为用户预期的系统?”9/8/2021154-2测试的范围纯技术问题用户特别感兴趣的问题生产中的主要问题用户使用步骤的相关测试兼容性问题,可移植性问题9/8/2021164-3软件配置的复查文档与程序的一致性为今后的维护做准备9/8/2021175设计测试方案“黑盒法为基本方案,白盒法做补充!”9/8/2021185

7、-1边界值分析经验:边界值最容易出错!测试用例设计:边界值边界值的相邻值9/8/2021195-2等价划分等价划分:经典黑盒法方法:划分出所有的有效等价类,进而划分所有无效等价类例如:函数strToInt测试方案*functionstrToint(dstr:shortStr):integer其中:shortStr=array[1..6]ofchar9/8/2021205-3逻辑覆盖(1)逻辑覆盖:有选择地执行某些具有代表性的通路,用以替代穷尽法。“黑盒法与白盒法的结合!”9/8/2021215-3逻辑覆

8、盖(2)逻辑覆盖分类:语句覆盖:每个语句至少执行一次;判定覆盖:语句覆盖+每个可能结果执行1次;条件覆盖:语句覆盖+条件表达式的每个结果执行1次条件/判定覆盖:条件覆盖+判定覆盖9/8/2021225-3逻辑覆盖(2)逻辑覆盖分类:条件组合覆盖:选取足够多的测试数据使每个判定表达式的组合条件都至少出现1次其它说法:点覆盖=语句覆盖;边覆盖=判定覆盖;路径覆盖=条件覆盖+判定覆盖+组合覆盖9/8/2021235-4错误推测直觉+经验僵化的模式

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。