- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程内容 软件测试含义 软件测试流程 软件工程师的要求 软件测试的方法 什么是软件测试 广义的概念 测试是指软件产品生存周期内所有的检查、评审和确认活动,如设计评审、系统测试。 软件测试概念 使用人工和自动化手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。 梅耶(Myers G.J.) 对软件测试提出了以下观点: (1)程序测试是为了发现错误而执行程序的过程 (2)好的测试方案很极可能是发现至今尚未发现的错误的测试方案 (3)成功的测试是发现至今为止尚未发现的错误的测试 软件测试的目的 测试的目的就是发现软件中的各种缺陷 测试只能证明软件存在缺陷,不能证明软件不存在缺陷 测试可以使软件中缺陷降低到一定程度,而不是彻底消灭 以较少的用例、时间和人力找出软件中的各种错误和缺陷,以确保软件的质量 测试的目标 为软件的质量评估提供依据 为软件质量改进和管理提供帮助 最终目的是确保软件的功能符合用户的需求,把尽可能多的问题在发布或交付前发现并改正: 确保软件完成了它所承诺或公布的功能 确保软件满足性能的要求 确保软件是易用性的和适应用户环境的 bug的概念 英文单词,本意是臭虫、缺陷、损坏、犯贫、窃听器、小虫等意思。现在人们将在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为bug(漏洞)。 Bug的由来 格蕾丝·赫柏(Grace Murray Hopper),是一位为美国海军工作的电脑专家,也是最早将人类语言融入到电脑程序的人之一。而代表电脑程序出错的“bug” 这名字,正是由赫柏所取的。1945年的一天,赫柏对Harvard Mark II设置好17000个继电器进行编程后,技术人员正在进行整机运行时,它突然停止了工作。于是他们爬上去找原因,发现这台巨大的计算机内部一组继电器的触点之间有一只飞蛾,这显然是由于飞蛾受光和热的吸引,飞到了触点上,然后被高电压击死。所以在报告中,赫柏用胶条贴上飞蛾,并把“bug”来表示“一个在电脑程序里的错误”,“Bug”这个说法一直沿用到今天。 DEBUG的概念 与Bug相对应,人们将发现Bug并加以纠正的过程叫做“Debug”(中文称作“调试”),意即“捉虫子”或“杀虫子”。而这奇怪的“称呼”,后来成为计算机领域的专业行话。 从而debug意为排除程序故障的意思。 经典Bug案例 一触即发的第三次世界大战,1980年,北美防空联合司令部曾报告称美国遭受导弹袭击。后来证实,这是反馈系统的电路故障问题,但反馈系统软件没有考虑故障问题引发的误报。1983年,苏联卫星报告有美国导弹入侵,但主管官员的直觉告诉他这是误报。后来事实证明的确是误报。幸亏这些误报没有激活“核按钮”。在上述两个案例中,如果对方真的发起反击,核战争将全面爆发,后果不堪设想。 悲剧的处女秀 1996年6月4日,阿丽亚娜5型运载火箭的首航,原计划将运送4颗太阳风观察卫星到预定轨道,但因软件引发的问题导致火箭在发射39秒后偏轨,从而激活了火箭的自我摧毁装置。阿丽亚娜5型火箭和其他卫星在瞬间灰飞烟灭。后来查明的事故原因是:代码重用。阿5型的发射系统代码直接重用了阿4型的相应代码,而阿4型的飞行条件和阿5型的飞行条件截然不同。此次事故损失3.7亿美元。 缺陷导致的损失 全球每年因软件缺陷引发的问题数不胜数。软件缺陷的代价极其昂贵。2002年左右,美国国家标准与技术研究所的一项研究表明,软件缺陷给美国每年造成的损失高达595亿美元。想想全球这个数额会是多大。那项研究还证实:超过1/3的损失——高达222亿美元,原本稍加测试,即可避免。 软件测试的流程 V模型中的过程从左到右,描述了基本的开发过程和测试行为。V模型的价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。在V模型中,单元测试是基于代码的测试,最初由开发人员执行,以验证其可执行程序代码的各个部分是否已达到了预期的功能要求; 集成测试验证了2个或多个单元之间的集成是否正确,并有针对性地对详细设计中所定义的各单元之间的接口进行检查;在所有单元测试和集成测试完成后,系统测试开始以客户环境模拟系统的运行,以验证系统是否达到了在概要设计中所定义的功能和性能;最后,当技术部门完成了所有测试工作后,由业务专家或用户进行验收测试,以确保产品能真正符合用户业务上的需要。 实际操作中的测试流程 现实中存在软件问题 知识点:测试的规律 Bug的80-20原则 80% 的软件缺陷常常生存在软件 20% 的空间里。这个原则告诉我们,如果你想使软件测试有效地话,记住常常光临其高危多发 “ 地段 ” 。在那里发现软件缺陷的可能性会大的多。这一原则对于软件测试人员提高测试效率及缺陷
文档评论(0)