- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
思考和练习(续) 7.8 一个C 语言程序,读入3 个正整数作为三角形的边长,要求程序打印如下信息:该三角形是等边的、等腰的或一般三角形。试设计一组测试用例,用来测试此程序。 7.9 某高校拟对参加计算机应用水平考试成绩好的学生进行奖励,成绩合格者奖励50元,成绩在80 分以上者奖励100 元,成绩在90 分以上者奖励200 元,并公布奖励成绩及所获奖金,编写程序流程图,设计测试用例,写出测试路径及所满足的覆盖条件。 7.10 设某个程序用于求一元二次方程ax2+bx+c=0 的根,a、b 和c 为整数。试采用等价类划分法和边界值分析法来设计测试用例。 * 第*页 思考和练习(续) 7.11 Drikstra 说:“程序测试只能证明错误的存在,不能证明错误不存在。”Myers 说:“测试是为了证明程序有错,而不是证明程序无错。”如何理解这两句话所蕴涵的意义。 7.12 一个折半查找程序可搜索按字母顺序排列的名字列表,如果查找的名字在列表中则返回真,否则返回假。为了对它进行功能测试,应该设计哪些测试用例? * 第*页 课堂讨论 按照前期选择并实现的软件开发项目,根据本章内容给出完成编码后的软件项目的测试用例设计并运行后进行结果分析; * 第*页 补充 回归测试 在集成测试过程中每当一个新模块结合进来时,程序就发生了变化:建立了新的数据流路径,可能出现了新的I/O操作,激活了新的控制逻辑。这些变化有可能使原来工作正常的功能出现问题。在集成测试的范畴中,所谓回归测试是指重新执行已经做过的测试的某个子集,以保证上述这些变化没有带来非预期的副作用。 更广义地说,回归测试就是用于保证由于调试或其他原因引起的变化,不会导致非预期的软件行为或额外错误的测试活动。 回归测试可以通过重新执行全部测试用例的一个子集人工地进行,也可以使用自动化的捕获回放工具自动进行。利用捕获回放工具,软件工程师能够捕获测试用例和实际运行结果,然后可以回放(即重新执行测试用例),并且比较软件变化前后所得到的运行结果。 * 下面是用伪码书写的存根程序和驱动程序: Ⅰ. TEST STUB(*测试正文编辑模块用的存根程序*) 初始化; 输出信息“进入了正文编辑程序”; 输出“输入的控制信息是”CFUNCT; 输出缓冲区中的字符串; IF CFUNCT=CHANGE THEN 把缓冲区中第二个字改为*** ELSE 在缓冲区的尾部加??? END IF; 输出缓冲区中的新字符串; END TEST STUB Ⅱ. TEST DRIVER(*测试正文编辑模块用的驱动程序*) 说明长度为2500个字符的一个缓冲区; 把CFUNCT置为希望测试的状态; 输入字符串; 调用正文编辑模块; 停止或再次初启; END TEST DRIVER 7.5.2 集成测试 集成测试是测试和组装软件的系统化技术,在装配的过程中对组装的模块进行测试,主要目标是发现与接口有关的问题。它包括子系统测试和系统测试两个过程。测试的技术有两种: 非渐增式测试技术 渐增式测试技术 非渐增式测试方法:是先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序。 渐增式测试方法:是把下一个要测试的模块同已经测试好的那些模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。这种每次增加一个模块的方法称为渐增式测试,这种方法实际上同时完成单元测试和集成测试。 两者的主要优缺点对比: 非渐增式测试一下子把所有模块放在一起,把庞大的程序作为一个整体来测试,测试时会遇到许许多多的错误,而且改正错误相当困难; 渐增式测试把程序划分成小段来构造和测试,在这个过程中比较容易定位和改正错误;对接口可以进行更彻底的测试;可以使用系统化的测试方法。 因此,目前在进行集成测试时普遍采用渐增式测试方法。渐增方式有两种集成方法: 自顶向下集成 自底向上集成 1.自顶向下集成 在渐增式测试方法中,可采用从自顶向下的集成技术把模块集成到软件系统中。从主控制模块开始,沿着程序的控制层次向下移动,逐渐把各个模块一一结合起来,从而构成目标系统。在把附属于主控制模块的那些模块组装到程序结构中去时,有两种策略: 深度优先的策略 宽度优先的策略 深度优先的策略 深度优先的结合方法,先把软件结构的一条主控制通路上的所有模块都结合组装起来。然后再结合组装中央或右侧的控制路径,直到所有模块都被结合进去为止。其中选择一条主控制通路取决于应用的特点,并且有很大任意性。 M1- M2- M5- M8- M6- M3- S7- S4 宽度优先的策略 宽度优先的结合策略是沿软件结构水平地移动,把处于同一个控制层次上的所有模块组装起来。然后再组装下一个控制
文档评论(0)