第6章系统测试、实施与维护

第6章系统测试、实施与维护

ID:21865646

大小:1.09 MB

页数:119页

时间:2018-10-20

第6章系统测试、实施与维护_第1页
第6章系统测试、实施与维护_第2页
第6章系统测试、实施与维护_第3页
第6章系统测试、实施与维护_第4页
第6章系统测试、实施与维护_第5页
资源描述:

《第6章系统测试、实施与维护》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章系统测试、实施与维护6.1软件测试6.2调试6.3系统实施6.4系统维护6.5实验五习题6.1软件测试6.1.1测试的基本概念软件测试是对软件计划、软件设计、软件编码进行查错和纠错的活动。测试的目的是为了找出软件开发过程中各个阶段的错误,以便分析错误的性质和确定错误的位置,并纠正错误。软件测试伴随着程序设计的出现而出现,随着软件技术的发展,人们对软件测试的认识也在不断加深。通常人们认为“软件测试是为了证明软件是正确的”。实际上这种认识是错误的。1983年,IEEE提出的软件工程标准术语中软件测试的定义是:“使用人工或自动手段来运行或

2、测定某个系统的过程,其目的在于检验它是否满足规定的需求,或弄清预期结果与实际结果之间的差别”。G.J.Myers则认为“程序测试是为了发现错误而执行程序的过程”。上面的两种定义有不同的强调方面,关于软件测试的概念,我们要注意以下两点:(1)软件测试是为了发现程序中的错误而不是证明程序的正确性。按照Myers的观点,“成功的测试是发现了至今尚未发现的错误的测试”。当然测试的目的不仅仅是发现错误,还包含检验、评价等。(2)软件测试方法不仅仅是执行程序,也包括人工方法。事实上,人工测试在某些测试阶段可以发现大部分的错误。6.1.2测试的基本原则

3、要高质量地完成测试工作,找出软件中的错误,应该遵守下面的一些基本原则:(1)测试队伍与开发队伍应分别建立。开发和测试工作两者在思想和方法上都是不一样的,为了保证测试的质量,应分别建立开发和测试队伍。开发工作是建设性的,而在测试阶段,人们设计出一系列的输入数据(称为测试用例),目的是为了“破坏”已经建造好的软件。就像给硬件产品做高低温试验、震动试验、破坏性试验一样。而且一般程序编写者往往认为自己编写的程序是正确的,要他们找出自己程序中的错误是十分困难的。(2)设计测试用例时,要给出测试的预期结果。一个测试用例应由两部分组成:①对程序进行测试

4、的一组输入数据的描述;②由这一组输入数据所产生的程序的预期输出结果的描述。预期输出结果不一定是精确的输出结果,对于一些复杂的计算,人工计算结果可能需要很大的工作量,可以给出一个对输出结果有效范围的描述。(3)设计测试用例时,应包括对有效的和期望的输入条件的测试,也应包括对无效的和非期望的输入条件的测试。一个程序不仅当输入合法时能正确运行,而且当有非法输入时,应该能够拒绝这些非法输入,并给出适当的提示信息。(4)在程序修改之后,要进行回归测试。对程序的任何修改都有可能引入新的错误,所以必须进行回归测试,即将以前的所有测试用例再次输入测试,而

5、不是仅仅测试以前结果不正确的测试用例。回归测试有助于发现由于修改程序而引入的新错误。(5)对发现错误较多的程序段,应进行深入的测试。如果发现某个程序段错误较多,则表明这个程序段质量很低,有可能隐藏有更多的错误,应该进行深入的测试。6.1.3测试方法软件测试方法有多种,这些测试方法具有不同的思路和出发点。总的来说,测试方法可分为静态测试方法和动态测试方法两大类。所谓静态测试方法,是指不在计算机上运行被测试程序,而是采用其他手段达到对程序进行检测目的的测试方法。静态测试方法包括人工测试方法和计算机辅助静态分析方法。所谓动态测试方法,是指在计算

6、机上运行被测试程序,并用所设计的测试用例对程序进行检测的方法。动态测试方法根据设计测试用例的思想不同可分为白盒测试、黑盒测试以及穷举测试等。下面分别介绍各种测试方法。1.人工测试方法人工测试方法是指依靠人而不是计算机来对程序进行检测的方法。人工测试可以找出计算机测试不容易发现的错误,可以减少系统测试的总工作量。根据统计,人工测试能有效地发现30%~70%的逻辑设计和编码错误。人工测试可以采用人工运行和代码审查的方式。代码审查可以由程序编写者本人非正式地进行,也可以由审查小组正式进行。代码审查主要是对照常见程序错误清单对程序代码进行分析审查

7、,并将发现的错误记录下来。表6.1是由Myers提供的常见程序错误清单,该表主要针对FORTRAN一类的程序设计语言所编写的程序,其他的程序设计语言编写的程序也可参照该清单。表中的参数相当于C语言中函数的形式参数,而变元相当于C语言中函数调用时的实际参数。表6.1Myers提供的常见程序错误清单表6.1Myers提供的常见程序错误清单表6.1Myers提供的常见程序错误清单表6.1Myers提供的常见程序错误清单表6.1Myers提供的常见程序错误清单2.计算机辅助静态分析方法计算机辅助静态分析方法是利用计算机测试工具对被测程序的特性进行

8、分析方法的总称。静态分析工具主要有下面几种形式:(1)静态确认工具:对程序进行静态分析和确认,收集一些程序中的信息,以查找程序中的各种缺陷和可疑的程序构造。例如,使用了一个尚未赋值的变量,或者

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。