- 1、本文档共119页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章系统测试,实施和维护
第6章 系统测试、实施与维护 ;6.1 软 件 测 试 ; 软件测试伴随着程序设计的出现而出现,随着软件技术的发展,人们对软件测试的认识也在不断加深。通常人们认为“软件测试是为了证明软件是正确的”。实际上这种认识是错误的。1983年,IEEE提出的软件工程标准术语中软件测试的定义是:“使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求,或弄清预期结果与实际结果之间的差别”。G.J.Myers则认为“程序测试是为了发现错误而执行程序的过程”。 ; 上面的两种定义有不同的强调方面,关于软件测试的概念,我们要注意以下两点:
(1) 软件测试是为了发现程序中的错误而不是证明程序的正确性。按照Myers的观点,“成功的测试是发现了至今尚未发现的错误的测试”。当然测试的目的不仅仅是发现错误,还包含检验、评价等。
(2) 软件测试方法不仅仅是执行程序,也包括人工方法。事实上,人工测试在某些测试阶段可以发现大部分的错误。 ;6.1.2 测试的基本原则
要高质量地完成测试工作,找出软件中的错误,应该遵守下面的一些基本原则:
(1) 测试队伍与开发队伍应分别建立。
开发和测试工作两者在思想和方法上都是不一样的,为了保证测试的质量,应分别建立开发和测试队伍。开发工作是建设性的,而在测试阶段,人们设计出一系列的输入数据(称为测试用例),目的是为了“破坏”已经建造好的软件。就像给硬件产品做高低温试验、震动试验、破坏性试验一样。而且一般程序编写者往往认为自己编写的程序是正确的,要他们找出自己程序中的错误是十分困难的。 ; (2) 设计测试用例时,要给出测试的预期结果。
一个测试用例应由两部分组成:
① 对程序进行测试的一组输入数据的描述;
② 由这一组输入数据所产生的程序的预期输出结果的描述。
预期输出结果不一定是精确的输出结果,对于一些复杂的计算,人工计算结果可能需要很大的工作量,可以给出一个对输出结果有效范围的描述。 ; (3) 设计测试用例时,应包括对有效的和期望的输入条件的测试,也应包括对无效的和非期望的输入条件的测试。
一个程序不仅当输入合法时能正确运行,而且当有非法输入时,应该能够拒绝这些非法输入,并给出适当的提示信息。
(4) 在程序修改之后,要进行回归测试。
对程序的任何修改都有可能引入新的错误,所以必须进行回归测试,即将以前的所有测试用例再次输入测试,而不是仅仅测试以前结果不正确的测试用例。回归测试有助于发现由于修改程序而引入的新错误。 ; (5) 对发现错误较多的程序段,应进行深入的测试。
如果发现某个程序段错误较多,则表明这个程序段质量很低,有可能隐藏有更多的错误,应该进行深入的测试。 ;6.1.3 测试方法
软件测试方法有多种,这些测试方法具有不同的思路和出发点。总的来说,测试方法可分为静态测试方法和动态测试方法两大类。
所谓静态测试方法,是指不在计算机上运行被测试程序,而是采用其他手段达到对程序进行检测目的的测试方法。静态测试方法包括人工测试方法和计算机辅助静态分析方法。
所谓动态测试方法,是指在计算机上运行被测试程序,并用所设计的测试用例对程序进行检测的方法。动态测试方法根据设计测试用例的思想不同可分为白盒测试、黑盒测试以及穷举测试等。 ; 下面分别介绍各种测试方法。
1. 人工测试方法
人工测试方法是指依靠人而不是计算机来对程序进行检测的方法。人工测试可以找出计算机测试不容易发现的错误,可以减少系统测试的总工作量。根据统计,人工测试能有效地发现30%~70%的逻辑设计和编码错误。
人工测试可以采用人工运行和代码审查的方式。代码审查可以由程序编写者本人非正式地进行,也可以由审查小组正式进行。代码审查主要是对照常见程序错误清单对程序代码进行分析审查,并将发现的错误记录下来。 ; 表6.1是由Myers提供的常见程序错误清单,该表主要针对FORTRAN一类的程序设计语言所编写的程序,其他的程序设计语言编写的程序也可参照该清单。表中的参数相当于C语言中函数的形式参数,而变元相当于C语言中函数调用时的实际参数。 ;表6.1 Myers提供的常见程序错误清单 ;表6.1 Myers提供的常见程序错误清单 ;表6.1 Myers提供的常见程序错误清单 ;表6.1 Myers提供的常见程序错误清单 ;表6.1 Myers提供的常见程序错误清单 ; 2. 计算机辅助静态分析方法
计算机辅助静态分析方法是利用计算机测试工具对被测程序的特性进行分析方法的总称。
静态分析工具主要有下面几种形式:
(1) 静态确认工具:对程序进行静态分析和确认,收集一些程序中的信息,以查找程序中的各种缺陷和可疑的
您可能关注的文档
最近下载
- 大模型原理与技术-课件 chap6 大模型微调.pptx
- 2025年物业保洁培训课件.pdf VIP
- 第13课制作数字相册(课件)三年级全一册信息技术人教版.pptx
- 【培训课件】《中华人民共和国公务员法》解读.ppt VIP
- 2024郑州电力高等专科学校教师招聘考试题库及答案.docx VIP
- 2025年陕西省单招考试英语模拟试题 完整版2025.pdf VIP
- 3.2.4 植物在自然界中的作用(课件)2024-2025学年度人教版生物七年级下册.pptx VIP
- 免疫治疗在食管癌新辅助及辅助治疗中的临床进展.pptx
- 2016陕西交通职业技术学院单招英语模拟试题及答案.pdf VIP
- 铁路货车的常见故障(全).ppt VIP
文档评论(0)