还剩5页未读,继续阅读
文本内容:
在设计系统的过程中,存在一些错误是必然的对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果这类错误隐蔽性强,有时会出现,有时又不出现,因此对这一类动态发生的错误的排查是耗时费力的
5.2程序的测试
5.
2.1测试的重要性及目的测试的重要性软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计测试是所有工程学科的基本组成单元,是软件开发的重要部分自有程序设计的那天起测试就一直伴随着统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上而在软件开发的总成本中,用在测试上的开销要占30%到50%如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括认为测试工作不如设计和编码那样容易取得进展难以给测试人员某种成就感;以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位是对责任者工作的一种否定;测试工作枯燥无味,不能引起人们的兴趣;测试工作是艰苦而细致的工作;对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己的开发能力的看法这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量2测试的目的如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置软件测试是为了发现错误而执行程序的过程;测试是为了证明程序有错,而不是证明程序无错误;一个好的测试用例是在于它能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此首先,测试并不仅仅是为了要找出错误通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法
5.
2.2测试的步骤与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成因此,大型软件系统的测试基本上由下述几个步骤组成模块测试在这个测试步骤中所发现的往往是编码和详细设计的错误系统测试在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误验收测试在这个测试步骤中发现的往往是系统需求说明书中的错误
5.
2.3测试的主要内容为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试1单元测试单元测试集中在检查软件设计的最小单位一模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误2集成测试集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等3确认测试确认测试的目的是向未来的用户表明系统能够像预定要求那样工作经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务即软件的功能和性能如同用户所合理期待的那样4系统测试软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试包括恢复测试、安全测试、强度测试和性能测试等单独对系统的测试主要从以下几方面入手功能测试测试是否满足开发要求,是否提供设计所描述的功能,是否用户的需求都得到满足功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准强度测试及性能测试测试系统能力最高实际限度,即软件在一些超负荷情况下功能实现的情况安全测试验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种非常的干扰针对本系统主要是对权限系统的测试和对无效数据、错数据、和非法数据干扰的能力的测试经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束
6、总结
6.1系统评价本文通过本系统设计与开发,从而得出下列结论学习一门新技术,最重要的是实践,只有多动手才能尽快掌握它一个系统的开发,经验是最重要的,经验不足,就难免会有许多考虑不周之处要想吸引更多的用户,系统的界面必须要美观、有特色、友好,功能要健全不过由于经验不足,我设计的图形界面比较简单只是对基本功能进行了开发本次开发,我参考了很多本系统的例子,吸取了一些别的本系统的长处,对自己的毕业设计进行了完善,但是还有很多的不足之处,有待以后进一步学习实践证明,本系统有着很好的发展前景,经测试运行本文所制作的系统界面友好、使用灵活、操作简单、功能齐全、表现方式独特,已基本具备了成熟的技术理论由于时间仓促,本次设计由我完成本系统的制作,对我这样一个ASP.NET新手而言所制作的模块还有不完善的地方数据库的设计也比较简单还有很多毕业设计中用到ASP.NET语言的知识也不够全面,还有很多地方不能够作到完全的理解和掌握通过这次毕业论文的设计制作使本人受益匪浅首先,由于毕业设计所用的ASP.NET技术和其中用到ASP.NET语言的其他部分是在课堂上没有接触过的,要用它来做设计必须通过大量自学来掌握,在这个过程中,不仅大大提高了我的自学能力而且让我对ASP.NET的学习有了进一步的认识由于是独立完成在毕业设计的过程遇到了很多的困难,我求教了不少老师和同学,在这个过程中让我体会到了,一个团队的重要性。