- 1、本文档共76页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1、软件测技术与项目实训
2.1.4 软件测试的误区 在实际的项目开发与管理中仍然存在很多管理上或者技术上的误区。 (1) 期望用测试自动化代替大部分人工劳动 (2) 忽视需求阶段的参与 (3) 软件测试是技术要求不高的岗位 什么是单元测试 1、单元测试的定义 单元测试(模块测试)是对软件基本组成单元进行的测试。主要是为了发现单元内部可能存在的各种错误和不足。 2、什么是单元 一个最小的单元应该有明确的功能、性能、接口定义而且可以清析地与其他单元区分开。 单元测试 一个菜单、一个显示界面或者能够独立完成的具体功能都可以是一个单元。 单元测试涉及的内容 (1)目标:确保模块被正确地编码; (2)依据:详细设计说明书、源程序; (3)过程:包括设计、脚本开发、执行、调试和分析结果; (4)执行者:开发人员和测试人员 (5)测试方法:白盒为主,黑盒为辅 (6)评估:通过所有单元测试用例,代码没有严重缺陷。 单元测试误区 1)单元测试一种浪费时间的工作; 2)我是个很棒的程序员,我是不是可以不进行单元测试; 3)集成测试能找到所有的BUG; 2、单元测试的环境 在单元测试时,如果模块不是独立的程序,需要辅助测试模块,有两种辅助模块: 驱动模块(Driver):所测模块的主程序。它接收测试数据,把这些数据传递给所测试模块,最后再输出测试结果。当被测试模块能完成一定功能时,也可以不要驱动模块。 桩模块(Stub):用来代替所测模块调用的子模块。 驱动模块、桩模块 2、单元测试的环境(续) B A C D E 待测试模块 单元测试的测试环境举例: 练习:为下面的函数构造一个驱动模块,并至少设计5条测试用例。 /*计算2个整数的除法运算将结果转换为单精度输出*/ float divide(int a,int b) { float c; if(b==0) printf(“除数不能为0!”); return 0; c=(float)a/b; return c;} 单元测试的测试环境举例: 构造驱动模块如下: void main(void) { int x; int y; float z; scanf(“%d%d”,x,y); z=divide(x,y); printf(“f”,z); } 单元测试的测试环境举例: 编写5条测试用例,如下表所示: 单元测试的测试环境举例: 任务一 请查阅资料,说明动态测试与静态测试的区别,并加以描述! 请列出常用的动态测试方法包括哪些? 作业 1、描述软件开发过程 2、描述软件测试与软件开发过程的并行关系 3、解释动态测试、静态测试、黑盒与白盒测试、单元测试 * 后来证实,迪斯尼公司没有对市场上投入使用的各种PC机型进行正确的测试。软件在少数系统中工作正常——例如迪斯尼的程序员用于开发游戏的系统——但在大众使用的常见系统中却不行。 * 由?于其中的年份只使用两位十进制数来表示,因此当系统进行(或涉及到)跨世纪的日期处理运?算时(如多个日期之间的计算或比较等),就会出现错误的结果,进而引发各种各样的系统功?能紊乱甚至崩溃。另外,更广泛地讲,“千年虫”还包括以下两个方面的问题:一个是在一?些计算机系统中,对于闰年的计算和识别出现问题,不能把2000年识别为闰年,即在该计算?机系统的日历中没有2000年2月29日这一天,而是直接由2000年2月28日过渡到了2000年3月1?日;另一个是在一些比较老的计算机系统中,在程序中使用了数字串99(或99/99等)来表示?文件结束、永久性过期、删除等一些特殊意义的自动操作,这样当1999年9月9日(或1999年4?月9日即1999年的第99天)来临时,计算机系统在处理到内容中有日期的文件时,就会遇到99?或99/99等数字串,从而将文件误认为已经过期或者将文件删除等错误操作,引发系统混乱?甚至崩溃等故障。? * * 美国航天局为了省钱,简化了确定何时关闭着陆推进器的装置。为了替代其他太空船上使用的贵重雷达,他们在探测器的脚部装了一个廉价的触点开关,在计算机中设置一个数据位来控制触点开关关闭燃料。很简单,探测器的发动机需要一直点火工作,直到脚“着地”为止。 遗憾的是,故障评估委员会在测试中发现,许多情况下,当探测器的脚迅速撑开准备着陆时,机械震动也会触发着陆触点开关,设置致命的错误数据位。设想探测器开始着陆时,计算机极有可能关闭着陆推进器,这样火星极地登陆者号探测器飞船下坠1800米之后冲向地面,撞成碎片。 结果是灾难性的,但背后的原因却很简单。登陆探测器经过了多个小组测试。其中一个小组测试飞船的脚折叠过程,另一个小组测试此后的着陆过程。前一个小组不去注意着地数据是否置位——这不是他
文档评论(0)