软件测试的艺术(第3版)第02章 软件测试的心理学和经济学.pptxVIP

软件测试的艺术(第3版)第02章 软件测试的心理学和经济学.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 软件测试的心理学和经济学2.1 软件测试的心理学2.2 软件测试的经济学黑盒测试白盒测试2.3 软件测试的原则2.1 软件测试的心理学1.“软件测试”错误的定义2.“软件测试”正确的定义3.成功的测试和不成功的测试1.“软件测试”错误的定义“软件测试就是证明软件不存在错误的过程。”“软件测试的目的在于证明软件能够正确完成其预定的功能。”“软件测试就是建立一个‘软件做了其应该做的’信心的过程。”2.“软件测试”正确的定义“测试是为发现错误而执行程序的过程”人类行为总是倾向于具有高度目标性,确立一个正确的目标有着重要的心理学 影响。如果我们的目的是证明程序中不存在错误,那就会在潜意识中倾向于实现这 个目标,也就是说,我们会倾向于选择可能较少导致程序失效的测试数据。另一方 面,如果我们的目标在于证明程序中存在错误,我们设计的测试数据就有可能更多 地发现问题。与前一种方法相比,后一种方法会更多地增加程序的价值。3.成功的测试和不成功的测试例:病人因为身体不舒服而去看医生。如果医生对病人进行了某些实验检测,却没有诊断出任何病因,我们就不会认为这此实验检测是“成功的”。之所以是“不成功的”检测,是因为病人支付了昂贵的实验 检测费用,而病状却依然如故。病人会因此而质疑医生的诊断能力。但是,如果实 验检测诊断出病人是胃溃疡,那么这次检测就是“成功的”,医生可以开始进行适 当的治疗。因此.医疗行业会使用“成功的”或“不成功的”来表达适当的意思。 我们当然可以类推到软件测试中来,当我们开始测试某个程序时,它就好似我们的 病人。3.成功的测试和不成功的测试—本末倒置(本末倒置)当项目经理在归纳测试用例的结果时,尤其会用到这两个词。可能有些项目经理将没发现错误的测试用例称为一次“成功的测试”,而将发现了某个新错误的测试称为“不成功的测试。3.成功的测试和不成功的测试—合理的解释成功的测试:如果在测试某段程序时发现了错误,而且这些错误是可以修复的,就将这次合理设计并得到有效执行的测试称作是“成功的”。如果本次测试可以最终确定再无其他可查出的错误,同样也被称作是“成功的”。不成功的测试:未能适当地对程序进行检查,在大多数情况下,未能找出错误的测试被认为是“不成功的”。(因为认为软件中不包含错误的观点基本上是不切实际的)3.成功的测试和不成功的测试—成功的测试用例能发现错误就证明它是值得设计的。一个“不成功的”测试用例,会使程序输出正确的结果, 但不能发现任何错误。2.2 软件测试的经济学软件测试的策略:1.黑盒测试2.白盒测试1.黑盒测试黑盒测试是一种重要的测试策略,又称为数据驱动的测试或输入/输出驱动的测试。使用这种测试方法时,将程序视为一个黑盒子。测试目标与程序的内部机制和结构完全无关,而是将重点集中放在发现程序不按其规范正确运行的环境条件(判定的标准就是“穷举输入测试”,将所有可能的输入条件都作为测试用例。)1.黑盒测试穷举输入测试是无法实现的,这有两方面的含义,一是我们无法测试一个程序以确保它是无错的,二是软件测试中需要考虑的一个基本问题是软件测试的经济学。也就是说,由于穷举测试是不可能的,测试投入的目标在于通过有限的测试用例,最大限度地提高发现的问题的数量,以取得最好的测试效果。2.白盒测试白盒测试又称为逻辑驱动的测试,允许我们检查程序的内部 结构。这种测试策略对程序的逻辑结构进行检查,从中获取测试数据(遗憾的是,常常忽略了程序的规范)。2.白盒测试针对达种测试策略,建立起与黑盒测试中穷举输入测试相似的测试方法,将程序中的每条语句至少执行一次。但是我们不难证明,这还是远远不够的。这种方法通常称为穷举路径测试,所谓穷举路径测试,即如果使用测试用例执行了程序中所有可能的控制流路径,那么程序有可能得到了完全测试。2.白盒测试(完全测试质疑)程序中不同逻辑路径的数最多可能达到天文数字虽然我们可以测试到程序中的所有路径,但是程序可能仍然存在着错误(1.即使是穷举路径测试也决不能保证程序符合其设计规范。2.程序可能会因为缺少某些路径而存在问题。3.穷举路径测试可能不会暴露数据敏感错误)2.3 软件测试的原则原则1:测试用例中一个必需部分是对预期输出或结果的定义如果没有定义预期结果,即没有比较标准原则2:程序员应当避免测试自己编写的程序心理上,程序员很难对自己建立起来的程序进行破坏性审查程序员对规范的错误理解会导致程序错误,同样的误解导致无法测试这样的错误调试由程序员本人进行则更有效2.3 软件测试的原则原则3:编写软件的组织不应当测试自己编写的程序由于组织和项目经理总是希望保证进度,降低成本。定量地衡量软件的可靠性极其困难,即便是合理规划和实施的测试过程也可能被认为降低了完成进度和成本目标的可能性,因此编程组织难以客观测试自己的软件具有和程序员相似

文档评论(0)

celkhn5460 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档