- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
测试程序和系统
第八章 测试程序和系统 8.1.1 几个术语 错误 缺陷 失效或故障 8.1.2 产生缺陷的原因 与用户或客户交流不够、有误或根本不进行交流; 软件本身的复杂性; 程序设计缺陷; 需求变化; 时间压力; 盲目自信; 程序文档的缺乏; 软件开发工具; 8.1.3 软件测试目的 确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。 提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。 ?软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。 8.1.4 软件测试类型 1、黑盒测试 黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。 “黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。 2、白盒测试 白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,主要用于软件验证。 “白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。 3、静态测试 静态方法是指不运行被测程序本身,仅通过分析或检查源程序的文法、结构、过程、接口等来检查程序的正确性。静态方法通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。静态测试结果可用于进一步的查错,并为测试用例选取提供指导。 链接:成对编程 概要说明?成对编程是软件开发中两个人一起编写一个项目的一种技术。每个伙伴工作在同一台机器上,当一个程序员在写代码时,另一个伙伴在一旁观看,同时认真分析所写的代码。写代码者从战术上考虑具体实现,其伙伴则从战略上考虑整个程序。他们之间频繁的交换角色,这样将使得可以更快写完代码,并且减少错误,更重要的是:代码将至少有两个人非常清楚的掌握。 成对的案例?考虑一个典型的代码审视的工作。一个需要一人8小时开发的模块由8个人花一小时审视,也就是等于总共要花费16个工作人日。然而,审视者不能保障必需的时间去熟悉代码,而且他们的审视也相当的肤浅。单个人开发确实能非常熟悉该模块,但是可能太熟悉了以至于不能发现漏洞。?如果这个模块需要两人合作8小时来开发,总共需16工作人日。然而,这种情况下,两个伙伴将会非常熟知这个模块的代码。在开发过程中所隐含的一些错误也将被另一个伙伴发现。?成对编程的实践是简单的,但是是一种简单而有效的编写和审视代码方法。两人同时熟知代码,并且将错误漏洞出现在代码中的可能性大大减少。代码将有一个良好的结构。 当然成对还有更多的益处:?成对更有勇气:一个人不敢尝试的东西他的伙伴将有勇气去尝试并扼杀其原有的评估;?成对能鼓励团队:由于代码不是一个人独立完成的,而将是属于整个团队所有。?成对促使知识的传播:由于在开发的过程中不断的交换伙伴,而使每个成员将熟知系统的每个模块。?成对能提高生产力:一个人在开发的过程中将会出现一段疲劳、消极的时期。如果双人变成,则可以相互促进,当一方疲劳时,他们可以交换角色。他们将能保持强度(比一个人工作强)。?成对是一件有趣的事:和他人一起工作是一件有意义的,非常刺激而且简单的游戏。它将会提高工作
文档评论(0)