烟台学院毕业设计(论文) 第17页
第6章 系统测试
系统测试,英文是System Testing。是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。对象不仅仅包括需测试的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。 6.1 系统测试的定义
系统测试是为了发现错误而执行程序的过程。它不仅是软件开发阶段的有机组成部分,而且在整个软件工程(即软件定义、设计和开发过程)中占据相当大的比重。系统测试是软件质量保证的关键环节,直接影响着软件的质量评估。系统测试不仅要讲究策略,更要讲究时效性。验收测试作为系统测试过程的最后一个环节,对软件质量、软件的可交付性和软件项目的实施周期起到一锤定音的作用。 6.2 系统测试的目的及意义
系统测试是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误的测试。 测试的目的就是希望能以最少的人力和时间发现潜在的各种错误和缺陷。应根据开发各阶段的需求、设计等文档或程序的内部结构精心设计测试用例,并利用这些实例来运行程序,以便发现错误。信息系统测试应包括软件测试、硬件测试和网络测试。硬件测试、网络测试可以根据具体的性能指标来进行,此处所说的测试更多的是指软件测试。测试是开发过程中一个独立且非常重要的阶段,测试过程基本上与开发过程平行。 6.3 系统测试的重要性
系统测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,系统测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。
烟台学院毕业设计(论文) 第18页
事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,系统测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。 6.4 系统测试的常用方法
程序测试的主要方法分为两大类,白盒测试和黑盒测试。
白盒测试:一种是以程序的内部逻辑结构为依据而设计测试用例的方法,因而又称结构测试或玻璃盒测试,将软件看成一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符。白盒测试就是要选取足够的测试用例,对源代码实行比较充分的覆盖,以便尽可能多地发现程序中的错误。主要有两种方法:一种称为逻辑覆盖法,另一种称为路径覆盖法。
黑盒测试:也称功能测试,数据驱动测试等,它将待测对象堪称是一个黑盒子,在完全不考虑程序的内部结构和特性的情况下,只依据规格说明书检查程序的功能是否能正常使用。
黑盒测试主要是根据输入条件和输出条件的确定测试数据,来检查程序是否能产生正确的输出。进行黑盒测试主要有下面几种方法:等价分类法、边界值分析法、猜错法、因果图法。
本系统的测试综合了白盒测试、黑盒测试两种方法,但主要使用的是黑盒测试方法。在测试当中遵循了“尽早地和不断进行测试”,“保证测试用例的完整性和有效性”原则。通过测试达到以下测试目的:
(1)功能检查。
检查功能是否正确,是否遗漏或实现不了应该实现的功能等。 (2)接口检查。
烟台学院毕业设计(论文) 第19页
检查能否正确地接受信息或输出信息。 (3)数据检查。
检查数据结构或外部信息是否有(如数据文件)访问错误。 (4)性能检查。
检查性能需求能否得到满足。 (5)初始化、终止检查。
检查是否能进行正确地初始化或终止。 6.5 系统运行情况
系统评价是指系统在正式运行了一段时间之后,对它在功能上、技术上和经济上所进行的审核评价。针对本系统的评价如下:
(1)系统功能评价
根据本系统开发前所订的目标,在系统完成后经过测试运行,该系统达到了预定的开发目标,在实际使用中的功能可以满足用户需求,客户可以获得预期的收益。
(2)系统技术评价
本系统设计合理,功能达到了预期目标,且系统运行后稳定可靠,安全性高,具有实用性,大大提高了投资理财收益。
(3)系统经济评价
在规定时间内,该系统完成了系统分析时所确定的系统开发目标,达到了设计要求,投入使用后为用户节省了大量人力物力财力,提高了科学炒股水平。6.6 系统测试结果
所有功能都可以实现,系统运行良好,但是还有很多不够完善的地方,需要以后在使用的过程中继续完善。
烟台学院毕业设计(论文) 第20页
结 论
经过三个多月的设计和开发,终于完成了小区物业管理系统的设计与实现,在毕业设计的过程中,以前学习感到很抽象的课程,如软件工程、数据库原理、面向对象程序设等变得清晰起来。以前做一些应用的系统开发,随意性大,想到那里做到那里,没有统一的规划,一旦系统成型,出现错误返工修改工作量大,最终的系统可靠性不高。另外一直以来,进行程序设计均采用结构化开发方法,对系统的全貌难以在开发前看到,导致实现的系统不满足需求。
这次的毕业设计开发,主要有以下几点收获:
(1)对原型化的系统开发方法有了一定的了解。渐增式的原型化开发方法与面向对象的程序设计的结合不但能在系统开发初期让用户了解系统的概貌,而且能使系统开发模块化,提高开发效率,减少出错。对于后期的系统维护也提供了很大的帮助。
(2)通过实践,提高了系统分析的能力,对数据流图、数据字典、系统流程图等系统设计工具的使用有了更深刻的认识。为以后的工作、学习的进一步提高打下了坚实的基础。
(3)作为一名程序员要不断学习,因为在做程序的过程中我们会用到很多新的知识,可能是我们以前从未接触过的,所以我们需要坚持学习;2.作为一名程序员要有不怕纠错的勇气,因为在做系统的过程中会出现很多乱码或语法错误,在解决的过程中有时会很花时间甚至会带来很大的挫败感,但是我们要相信任何错误都是有原因的,只要我们努力,问题就一定会迎刃而解。
烟台学院毕业设计(论文) 第21页
致 谢
紧张而忙碌的毕业设计就要结束了,在我做毕业设计期间,许多老师,同学和朋友给我我无私的关怀和帮助,尤其是王杰老师。在此,我要向他们表示衷心的感谢。我要感谢学校的老师在毕业设计期间给了我悉心的关怀与帮助,并且给了我许多关键的,建设性的指导。
毕业设计期间,我虚心向同学们学习,与同学们团结协作,也增强了我的团队意识。此次毕业设计对提高我的编程技术、协调团队成员的关系等方面都有许多益处。在此我向同学们表示感谢。在这次的毕业设计中,我曾遇到了许多困难,而在克服这些困难的过程中,我的各方面的能力有了很大的提高,使我的理论知识更好的与实践相结合,增强了专业技能的可实践性。从调研,需求分析到查找资料,结构设计,详细设计以及调试程序。我终于设计出了一个比较完整的,周密的,可使用的炒股辅助系统。通过这次的毕业设计,我真正了解了软件工程设计的整个过程,既巩固了以前的理论知识,也为我以后的工作奠定了良好的基础。
当然,由于时间的短促,我所完成的系统并不是尽善尽美的,还有待进一步的修改和完善。最后,请允许我再一次向毕业期间无私帮助过我的老师,同学和朋友表示最衷心的感谢。