(教育技术学专业论文)软件测试方法在教育网络平台开发中的应用.pdf_第1页
(教育技术学专业论文)软件测试方法在教育网络平台开发中的应用.pdf_第2页
(教育技术学专业论文)软件测试方法在教育网络平台开发中的应用.pdf_第3页
(教育技术学专业论文)软件测试方法在教育网络平台开发中的应用.pdf_第4页
(教育技术学专业论文)软件测试方法在教育网络平台开发中的应用.pdf_第5页
已阅读5页,还剩85页未读 继续免费阅读

(教育技术学专业论文)软件测试方法在教育网络平台开发中的应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 教育信息化是一个国家的教育走向成熟的重要标志。在我国,伴随着教育信 息化的不断推进,越来越多的教育企事业单位需要定制一些信息系统用以辅助日 常的教育教学工作。这些教育教学管理系统除了交由专门的软件开发公司负责生 产之外,一些具有科研能力的高校也会把此类软件开发的任务交给由教师与学生 组成的团队完成。 由于非专业的开发团队在经验与技能上存在一定的差距,可能会导致团队在 项目的开发与质量管理过程中遇到多种问题,以至于项目开发的质量与进度受到 极大的影响。 本文主要研究了软件单元测试技术与自动化w e b 功能测试技术的应用,第 一部分主要研究如何在项目开发过程中使用n u n i t 单元测试框架将单元测试项 目整合至项目中,其中一方面阐述了以测试驱动开发为主导思想的测试用例开发 方法,另一方面阐述了编写全面高质量的测试用例代码的方法,并设计了一个适 用于对数据库进行单元测试的解决方案。 本文的第二研究部分是研究如何使用l i g h t w e i g h tt e s ta u t o m a t i o n f r a m e w o r k ( 轻量级自动化测试框架简称l t a f ) 进行自动化网页功能测试。研 究的目的在于让测试人员摆脱手工测试的窘境,将主要精力投入到设计更加细致 的测试方案中。该章节主要阐述了编写网页测试脚本的方法,提供了对网页表单 进行测试的实施策略以及对带有a j a x 技术的页面进行测试的解决方案。 本文通过实践,系统地阐述了将自动化测试框架作为软件质量保证的一种手 段引入项目开发的过程之中,从而提高软件项目的整体质量的可行性与实施过 程,具有可操作性。 关键字:软件测试、n u n i t 、l t a f 、单元测试、w e b 测试 论文类型:软件开发 a b s t r a c t e d u c a t i o ni n f o r m a t i o n i z a t i o ni sa ni m p o r t a n td e m o n s t r a t i o nt os h o w t h em a t u r i t y0 fac o u n t r y se d u c a t i o n i nc h i n a ,w i t ht h ed e v e l o p i n go f e d u c a t i o ni n f o r m a t i o n i z a t i o n ,m o r ea n dm o r ee d u c a t i o n a ii n s t i t u t i o n s n e e dt oc u s t o m i z es o m ei n f o r m a t i o ns y s t e m st os u p p o f lt h ed a i l yw o r k o fe d u c a t i o na n dt e a c h i n g i na d d i t i o nt ob u yp r o d u c t sf r o ms o f t w a r e c o m p a n y s u c hk i n d0 fs o f t w a r es y s t e mc a na l s ob em a d eb y t e a m s w h i c ha r ef r o mc o l l e g e sa n du n i v e r s i t i e s a st h ee x p e r i e n c ea n ds k i l l sg a pw i l ll e a dt os o m eb i gi s s u e si nt h e p r o c e s so fs o f t w a r ed e v e l o p i n ga n dm a n a g e m e n t ,t h eq u a l i t ya n d p r o g r e s so ft h ep r o j e c td e v e l o p m e n tm a y b eg r e a t l ya f f e c t e d t h i sp a p e rm a i n l ys t u d i e so nu n i tt e s t i n gt e c h n i q u e sa n da u t o m a t e d w e ba p p l i c a t i o nf u n c t i o n a lt e s t i n gt e c h n i q u e s w et a k et h i si s s u e ,t h a ti s ,h o wt oi n t e g r a t en u n i tt e s tf r a m e w o r ki n t o t h ed e v e l o p m e n to fl m ss y s t e mp r o j e c t ,a st h ef i r s tp a r to fr e s e a r c h i n g i nt h i sp a r t ,w e i it r yt od e s c r i b et e s t d r i v e nd e v e l o p m e n ta st h eg u i d i n g i d e o l o g yo ft h em e t h o d o l o g yo ft e s t i n gc a s ed e v e l o p m e n t w et r yt o f i n da w a yt ow o r ko u th i g hq u a l i t yt e s t i n gc a s e s a tl a s tw e i im a k e a s o l u t i o no fu n i tt e s t i n gt od a t a b a s e t h es e c o n ds t u d yi sp e r f o r m i n ga u t o m a t i o nw e b t e s tb yu s i n g l i g h t w e i g h tt e s ta u t o m a t i o nf r a m e w o r k s t u d ya i m e d t oh e l pt e s t e r st o g e t r i do fd i l e m m a so fm a n u a lt e s t i n g ,a n dc o n c e n t r a t et od e s i g nm o r e d e t a i l e dt e s tc a s e s w e i | s h o wh o wt om a k ew e bt e s t i n gs c r i p t s , w o r k i n go u tw e bt e s t i n gs t r a t e g ya n dt r yt om a k e an e wf r a m e w o r k e s t a b l i s h e do nt h eb a s i s0 fl t a fw h i c hc a nb eu s e dt ot e s ta j a xw e b f o r m s t h i sp a p e rt r yt or e s e a r c h i n gh o wt ot a k es o f t w a r et e s t i n ga sa m e a s u r eo fs o f t w a r eq u a l i t ya s s u r a n c e ,p o s s e s sm a n e u v e r a b i | i t y k e y w o r d s :s o f t w a r et e s t i n g ,n u n i t ,l t a f ,u n i tt e s t ,w e bt e s t 上海师范人学硕士学位论文图表目录 图表目录 图2 1 上海中学门户网上办公系统4 图3 2l m s 系统结构图15 表4 1 测试统计表样例3 8 表4 2l m s w e b 控制行为的类列表3 9 表4 3l m s w e b 基础功能函数分布表4 0 表4 4 参与转换的类列表5 1 图5 1l t a f 测试桩程序界面6 2 图5 2 首页测试流程图6 4 图5 3 登录测试流程图6 7 图5 4w e b 端新建预约界面6 9 图5 5 测试基类框架图71 图孓6 模拟口历控件行为的类结构图7 4 图5 7 模拟被测试页面的模型类结构图7 5 v 上海师范人学硕士学位论文论文独创性声明 论文独创性声明 本论文是我个人在导师指导下进行的研究工作及取得的研究成果。论文中除 了特别加以标注和致谢的地方外,不包含其他人或机构已经发表或撰写过的研究 成果。其他同志对本研究的启发和所做的贡献均已在论文中做了明确的声明并表 示了谢意。 储躲强滚 隰鼬j2 7 论文使用授权声明 本人完全了解上海师范大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其它手段保存论文。保密的论文在解密后遵守此 规定。 作者签名:互及逸导师签名:叶硒拗日期2 讲j f2 7 、l ov ,1y i 。 8 7 上海师范人学硕七学位论文第一章序论 1 1 研究的背景 第一章序论 技术的进步为教育产业注入了新的生机与活力,越来越多的教育软件进入了 我们的生活。教育软件的类型也从起初的c a i 软件,逐渐发展成为领域涉及教育 教学各个方面的智能系统。这种进步带来的是教育软件行业的蓬勃发展,不过也 造成了激烈的市场竞争与良莠不齐的产品充斥着市场的局面。目前教育软件产业 由高校科研部门与专业软件公司共享市场份额。由于定制软件的成本较高,许多 有一定研发能力的高校会采取科研项目的形式由学校的内部团队进行自主研发。 在2 0 0 8 年1 0 月至2 0 0 9 年8 月的近一年的时间中,本人参与了上海师范大 学现代教育技术示范中心的网络应用平台项目的建设工作,该项目是上海师范大 学学科重点建设项目,意在形成一整套基于现代教育技术理念的数字化综合教育 管理平台,并通过数据报表服务对教育资源使用情况数据进行分析以实现教育资 源科学化管理并发挥最大的效能。作为开发成员,我主要负责机房管理系统的 w e b 端开发工作。在开发的过程中,本人遇到了一系列的问题与困难,例如系统 运行中会出现很多异常、调试的时间比编写代码的时间还要多等等。这些问题给 开发工作带来了很多不利的影响,尽管最后在大家的努力下,项目如期完成并投 入测试运行。在项目告一段落之后,本人对之前所做的一系列工作进行了反思, 回顾开发过程发现,有时开发工作处在一种很无序的状态,开发人员在不断地对 自己做的程序修修补补,最后勉强达到了能够正常运行的要求,但不知后面还会 不会出现新的问题( 其实答案是肯定的) ,所以有些问题值得深思:系统的架构 是否健壮? 开发人员编写的代码是否对无用信息有正确的对应策略? 这个平台 能否在运行时对突发情况做出响应? 如何让这个平台运行的更好? 开发人员对其编写的软件产品如此的没有自信,问题的主要根结在于其没有 采用有效的质量保证手段来规范开发过程,故而本文希望通过对该项目的后续支 持工作来改进前期设计的缺陷,并在此过程中引入适当的软件测试方法作为质量 控制手段。故在此背景下选择陔课题。 第一章序论上海师范人学硕士学位论文 1 2 研究目的与意义 研究的目的在于掌握主流的软件测试技术,在众多的测试方法中找到合适的 解决方案并应用到轻量级网络平台开发过程中,通过引入适当的软件测试技术作 为质量控制手段以提高项目的整体质量。并且希望通过本文的案例研究,对现实 中的一些网络平台开发的项目能起到指导意义。 1 3 研究过程与技术路线 ( 一) 确定研究对象 研究对象为实验室开放管理系统项目( l m s ) ,研究的切入口并非是如何实现 该系统,而是从该系统的源代码质量入手,分析源代码质量,再进而进行下一步 研究软件测试工作。 ( 二) 确定测试技术路线 由于目前软件测试,尤其是w e b 应用程序的软件测试种类层出不穷,如何从 众多类型的测试中选择合适的测试类型是研究继续进行的先决条件。 ( 三) 确定测试框架 在确定了要进行哪种类型的测试之后,解决与掌握测试技术本身就成为了下 一个需要关注的方面,现在包括惠普、微软在内的知名软件企业都为软件测试设 计提供了一整套测试平台以供使用,这些平台尽管强大,但成本也同样非常高, 虽然可以采取破解措施,但仍然违背本研究的初衷。故而本文将目光放在了开源 测试框架上,现在针对n e t 体系的开源测试框架有很多,性能与优势各不相同, 必须结合该项目实际来选择适合的测试框架。 ( 四) 进行测试得出测试方法总结与测试结果 准备活动结束之后,将要开始进行测试计划的制定与测试用例的编写,进行 测试工作。在测试过程中,对方法与细节进行分析。 ( 五) 解决测试过程中的疑难问题 测试方案实施的过程并不会是一帆风顺的,其中必然遇到一些不可预测的问 题,必须将这些问题通过技术性手段加以解决。 2 上海师范人学硕十学位论文第一章序论 ( 六) 形成分析性研究报告 在以上一系列任务完成之后,开始撰写研究报告,主要是对研究过程与研究 方法做一个总结性的分析,内容覆盖整个测试过程的方方面面。最后得出一整套 使用开源平台的测试方案。 3 第二二章教育网络平台与软件质姑概述上海师范大学硕十学位论文 第二章教育网络平台与软件质量概述 2 1 教育网络平台的现状与发展趋势 教育网络平台是教育信息化体系中的一个重要的组成部分,在从传统的单机 版的教育软件麓展至采用b s 结构的教育网络丌放系统在复杂程度与开发技术 手段上都不断地进步着。建立教育网络平台的主要目的是建立一个信息的共享平 台,使得所有的受教育者能够在校园之外获得知识与教育资源,不仅如此,教育 网络平台已经在功能上从教学辅助平台向教务管理系统拓展,希望借助于网络提 高教学管理工作的效率与灵活性,能够使教学工作人员与学生更加方便地获取教 学相关信息与资源。在高校,教育网络平台的普及率十分高,从网上选课平台至 学生卡管理系统等,覆盖了校园生活的方方面面。相应地,办学规模较大的中学 对教育网络平台的需求也正在不断地体现出来,尤其是在一些拥有国际部的学校 中,为了促进校内信息化程度的提高校方专门投资建设了校园信息化管理系统。 e rn 萄艇 ij 晌m 日b 明s y 咖 - 崮2 - i 上海中学门户嘲上办公系统 黝霹 一 勰: ! 。 上海师范人学硕十学位论文 第二章教育网络平台与软1 ;,| :质量概述 以上海中学为例,如图2 1 所示,改版后的上海中学网站中拥有网上办公这一模 块,在该模块中,分别设有本部教学系统,国际部教学系统,信息发布系统,教 师系统与研究型学习平台等五个子系统,系统复杂程度高,功能强大。信息平台 的强大支撑的确给予上海中学更加灵活的教务管理能力,但不难发现如此复杂强 大的系统也必然伴随着巨大的投入,并不是所有学校都能有像上海中学这样的财 政实力。所以在中学系统,信息系统的普及仍然处于初步的探索阶段。 由于教育网络平台必定会在未来软件市场中占有一席之地,许多市场机构, 软件开发公司纷纷开始涉足这一领域,推出自己的教育网络平台产品。如上文所 述,将教育网络平台的开发任务外包给专业开发公司,在得到高质量产品与服务 的同时,也会伴随着很大的投入。并且在产品的后期维护与修改上又要有一笔数 额可观的投入,这使得许多有校园信息化需要的企事业单位望而却步。 这种情况在一些具有自主研发能力的高校中能够得到缓解,高校在校园信息 化这一问题上给予了高度的重视,信息化办公室之类的机构也是在此背景下诞生 的。 l t 技术民营化使得高校内部的组织也能够通过学习获得软件平台开发的能 力,在时间与条件允许的情况下,中小型项目完全可以交给高校内部团队或者由 导师牵头的学生团队进行自主开发。 从实现技术的角度分析,编程语言的进步,框架的不断完善,使得教育网络 平台的开发难度门槛不断的降低,这也是i t 领域技术民营化发展的必然结果。 开发者所考虑的已经不只是如何去构建一个平台,更多地,他们所要关注的是如 何更好地实现复杂的业务逻辑以及设计出更加优秀的用户体验。从学校的角度来 说,校方会更加倾向于使用“门户 这一概念去建设自己的校园网络平台,f - j p 会成为一个学校或者教育机构的形象标识,许多学校在w e b l 0 时代就已经拥有 了自己的门户网站,但随着w e b 2 0 时代的变迁,缺乏交互性的门户网站已经被 时代所淘汰。一流的教育机构需要一流的办事效率,将网上办事的平台嵌入门户 中是一个很好的选择,在门户中使用统一认证的身份验证模式,用户登陆成功后 就有权利使用门户平台上集成的各子系统资源,这样能更好地实现网上教育资源 的整合。 5 第二章教育网络平台与软件质量概述上海师范人学硕十学位论文 2 2 当今教育网络平台开发所遇到的问题与挑战 如果将一个学校看作独立运作的系统,教务员就是协调学校同常教学工作的 中枢神经。教务员拥有随需应变的能力,能处理f 1 常工作中的突发情况,可是要 研制一个能够符合同常教学工作需要并且能够随需应变的网络管理平台并不是 件简单的任务。由于专业开发人员不一定对教育单位的实际业务流程有着十分清 楚的认识,所以即使他们能够按期开发出界面大方美观,功能很多的产品,但在 易用度与用户体验上不一定能达到令人满意的效果,这就是为什么有很多的单位 投资了建设了一套网络教育平台之后,使用该平台的人数却一点点地逐步减少, 以至于最后该平台形同虚设。许多的教育机构与单位都遇到过如此相同的尴尬境 地。 造成用户最终放弃使用网络平台的原因有很多,其中最重要的原因是用户体 验的挫折感,一个系统功能固然重要,当用户面对眼花缭乱的一堆数据与链接时, 就已经失去了耐性,如果在操作上还是一头雾水,那很快就不会再去使用它。 其次,系统的容错能力不够,致使产品容易出现崩溃等情况,不稳定的产品 质量也会给系统的用户评价带来毁灭性打击。 第三,由于日常教学工作存在着变化性,使得用户需求会发生经常性的变化, 变化会增加软件开发与后期维护的困难程度,许多网络平台产品的致命伤也是在 使用生命周期上显得过于短暂,扩展性不够,而使用方在后期的投入上又显得力 不从心。 综上所述,现如今教育网络平台研发产业正作为软件行业中的一支新兴力量 异军突起,在蓬勃发展的同时,也面临着由混乱的市场竞争导致的产品质量良莠 不齐,开发商过于关注产品功能却忽视了用户体验度这一重要指标等潜在的威 胁。 2 3 教育网络平台的开发与软件工程 2 3 1 软件工程概述 教育网络平台隶属于网络应用程序,故而对于此类应用软件的开发自然要使 6 上海师范人学硕十学位论文第二章教育网络平台与软件质餐概述 用软件工程中的知识与方法。软件工程是一门工程类的学科,它涉及软件生产的 各个方面,作为一门工程学科,它要求工程技术人员能够恰当地应用理论方法与 工具,又能够有选择的利用它们,即使在没有可用的理论和方法的情况下,也力 求找出解决问题的方法。软件工程学就是一种策略的集合,它既涵盖了软件开发 的技术过程,又包括诸如软件开发项目管理、支持软件生产的工具、方法和理论 的开发等活动。 2 。3 2 软件过程与软件生命周期 软件过程是指制作软件产品的一组活动及其结果。而所有的软件过程都包含 着四个基本的活动,他们是:软件描述、软件开发、软件有效性验证、软件进化。 软件描述主要指由客户和软件工程师共同定义所要生产的软件的功能特性 与对其操作的一些约束,之后将要进行的是软件的设计与编程活动即软件开发, 在后期交付的时候,需要对软件的有效性进行验证以检查软件的正确性从而保证 产品符合客户的需要,最后在很长的一段时间里,软件会伴随着变化的需求与市 场而修改,这就是软件进化的过程。 对于不同类型的软件系统,软件开发过程也不尽相同,如果是一个复杂度极 高的航空管制系统,在开发系统之前就需要完成全部的软件描述工作。而对于本 文中所提到的诸如实验室开放管理系统之类的类电子商务系统,可以把描述与编 程交织在一起。但反而言之,一旦采用了不恰当的软件开发过程,后果是可想而 知的,轻者增加了无谓的成本投入或者降低了软件的质量,重者会使整个软件项 目毁于一旦。 同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成 熟、衰亡等阶段,这一系列的过程称为软件生命周期。1 它是一种描述软件产生 直到报废的生命周期。在该周期内有问题定义、可行性分析、总体描述、系统设 计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。2 这种按照时间 划分阶段的思想是一种典型的软件工程思想原则。 基于这种开发思想,1 9 7 0 年温斯顿罗伊斯( w i n s t o nr o y c e ) 提出了著名的 1 h f t p :b a i k e b a i d u c o m l v i e w 4 719 3 h t m 2 同上 7 第二章教育网络平台与软件质量概述上海师范大学硕士学位论文 “瀑布模型”,该模型将软件生命周期划分为制定计划、需求分析、软件设计、程 序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互 衔接的固定次序,如同瀑布流水,逐级下落。3 这个模型对今后的软件开发有着里程碑性的指导意义,在今后的十几年中, 开发人员一直把瀑布模型当作项目开发的指导思想,一般正规项目的开发过程都 要严格遵循该模型所规定的策略执行。 2 3 3 软件质量的重要性 科技的产生直接影响到了人类社会的生产力发展,计算机科学从起步开始至 今已经涉足了人类生活的各方面,软件作为计算机硬件的支撑,它的质量好坏也 直接影响到了计算机系统整体的质量。 软件危机给当时的计算机行业带来了巨大的破坏与冲击,其实质就是越来越 糟的软件质量无法保证越来越庞大复杂的系统工程的运行。软件危机最为明显的 危害表现在以下几个方面: 1 软件开发的费用和进度失控。这个现象源于6 0 年代中期大容量高速度的计算 机的出现,使得计算机的应用面更加的广阔。越来越多的行业需要软件的支 撑,需要设计的软件的规模也不断的扩大,而当时自给自足的作坊式软件生 产方式已经无法满足此类大型软件设计的需要,费用超支、进度拖延的情况 屡屡发生。有时为了赶进度或压成本,生产商不得不采取一些权宜之计,这 样又往往严重损害了软件产品的质量。 2 软件的可靠性差。美国i b m 公司于1 9 6 3 年至1 9 6 6 年开发的i b m 3 6 0 系列机的 操作系统。该软件系统花了大约5 0 0 0 人一年的工作量,最多时,有1 0 0 0 人 投入开发工作,写出了近1 0 0 万行的源程序。尽管投入了这么多的人力和物 力,得到的结果却极其糟糕。据统计,这个操作系统每次发行的新版本都是 从前版本中找出1 0 0 0 个程序错误而修正的结果。可想而知,这样的软件质量 糟到了什么地步,尽管耗费了大量的人力物力,而系统的正确性却越来越难 以保证,出错率大大增加,由于软件错误而造成的损失十分惊人。 3 h t t p :b a i k e b a i d u c o m v i e w 5 5 10 3 7 h f m 8 上海师范人学硕士学位论文第二章教育网络平台与软什质量概述 3 生产出来的软件难以维护。由于落后的作坊式的软件开发过程缺乏规范的开 发规则,致使生产出来的软件产品缺乏相应的文档资料。这给软件后期的维 护带来了相当大的困难,尤其是当软件出现了错误的时候,这些错误很难被 定位,很难被改正,有时改j 下了之后还会出现许多新的错误。 4 软件成本在计算机系统总成本中所占的比例居高不下,且逐年上升。4 由于微 电子产业生产自动化的提高,计算机硬件的成本逐年下降,性能也逐步提高。 但是软件开发却需要大量的人力资源的投入,软件的成本会随着软件的规模 不断的扩大而增加。 软件工程学的存在就是追求高质量软件的方法论集合。那什么是软件质量 呢? 软件质量可以被定义为:软件符合特定需要的程度,或者说,如果考虑到人 的因素的话,软件质量则应被定义成符合用户需要与期望的程度。无论怎样去看 待软件质量,它毋庸置疑的都是十分重要的。 应该明确,质量,时间与成本是关系到软件项目成败的关键因素。在这些因 素中,只有质量是不可以通过管理手段立刻发生改变。质量低下对软件的影响往 往是显著的而且难以复原的。 提高产品质量几乎是所有厂家一直的追求,提高产品质量就能提高产品的核 心竞争力,所以一般的生产厂商都会设立独立的质量管理部门对产品的质量进行 把关,那便是所谓的q a 部门。而在q a 前加上一个s ,便产生了软件质量管理( s q a ) 这一概念。s 的意思是s o f t w a r e ,因为q a ( q u a l i t ya s s u r a n c e ) 的概念从传统 工业中由来,所以特别加上s 。s q a 的工作,这个至今没有一个比较标准统一的 说法。可以广义,也可以狭义,运用之妙,存乎一心。本文所述s q a 的工作内 容主要分为三个方面: l 、狭义的s q a 。( 1 ) 制定软件研发过程中各类标准、规范和文档格式,并培训 研发人员;( 2 ) 在研发过程中监督上述规范的落实。 2 、测试( t e s t ) 。 3 、软件配置管理( s c m ) ,对软件研发过程中产生的各类成果( 文档、源代码、 4 同上 9 第二章教育网络平台与软件质量概述上海师范大学硕士学位论文 培训材料、半成品、成品甚至研发心得等等) 统一管理,执行完善的版本控制, 以便必要的时候能够沿用和回溯。 质量保证牵涉到软件开发过程的方方面面,对软件开发团队素质也有很高的 要求,也不是所有团队都能够完全按照$ q a 所规定的那样严格执行开发过程中的 质量管理,因为那样会大大增加成本投入,而并没有那么多的成本与时间能供团 队使用,尤其是作为非专业性质的开发团队,质量管理与风险预测都缺乏经验, 在这样的客观条件限制下,如何才能做到生产出高质量的软件产品,是本文接下 来要讨论的话题。 2 3 4 传统软件开发方式存在的缺陷与不足 前文提到了软件工程学中的一个经典的软件过程模型一瀑布模型。瀑布模型 是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发 的基本框架。并且详细的规定了制定计划、需求分析、软件设计、程序编写、软 件测试和运行维护等六个基本活动, 在瀑布模型诞生之后的近十年中,一直占据着软件开发行业的主导思想。相 信这也是必然的,因为业界对于制定一个标准化软件开发模式有十分迫切的需 要,瀑布模型正好填补了这一空白。 瀑布模型中强调的软件开发的过程应该严格按照开发顺序进行,从系统需求 分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息 未被覆盖或者发现了问题,那么最好“返回”上一个阶段并进行适当的修改。但不 允许出现“越级 的开发行为,所有的开发都必须遵照文档化标准执行。 瀑布模型的过程标准严格,为项目提供了按阶段划分的检查点,当一个节点 完成后,只要去关注后续阶段的任务就行了。但并不是所有的项目都是适用于瀑 布模型,对于很多需求变化很大的项目,该模型就显得力不从心,用户需求如果 频繁地被修改,那在这样的项目中应用瀑布模型进行开发显然是没有意义的 因瀑布模型强调文档对于整个项目的重要性,要求每个阶段都要经过仔细的 验证。但这样一来也造成了文档泛滥,带来一些无谓的工作量。由于该模型的线 性过程过于理想化,对现代软件开发已经显得有些力不从心了。 1 0 上海师范人学硕十学位论文第二章教育网络平台与软件质量概述 其次对于瀑布模型而言,任何的结果都是要在中后期才能展现出来,那样会 增加开发的风险程度。 瀑布模型还假定设计可以被转换为真实的产品,这往往导致开发者在工作时 陷入困境。通常,看上去合理可行的设计方案在现实中往往代价昂贵或者异常艰 难,从而需要重新设计,这样就破坏了传统瀑布模型中清晰的阶段界限。 综上所述,传统软件开发模式已经无法适应如今变化莫测的时代需要,使用 更为灵活的手段去开发软件已成必然趋势。 2 4 构建高质量教育网络平台所应关注的方面 教育网络平台是一种软件产品,对其的研制工作就是在进行软件开发活动。 构建应用程序就如同构建一个模型,试想一下,当你将亲手做成的动力船模放入 水中,手持遥控器控制着任其在水面飞驰,船模优良的质量决定了那十分美妙的 成就感。那在这成就感的背后又隐藏着什么魔法呢? 怎样能够满怀着成就感地去 构建软件产品呢? 所有对于评价船模质量的观点,同样可以应用在软件的质量 上。 首当其冲并且已经被广泛接受的软件质量观点是软件的可用性即实际 用户的体验。一般来说,这种观点反映了最终用户在一个特定的环境中使用该软 件能达成目标的程度。以之前船模为例,当要开动这个模型的时候,目标已经定 下来了,就是要它在水中航行,特定的环境也已经确定下来,即良好的天气情况 下与风平浪静的水面。在这一既定条件下遥控船能够达到用户所期望的目标,但 不能保证在另外的环境下同样能够达到预期的要求,假如当时有七级大风或者有 雨,船模能够经得起考验吗? 往往在不同的外部环境下用户的体验是完全不同 的。这种想法同样地可以应用于软件质量。当开发人员验证软件可用性时,他们 所在乎的是最终的用户体验,对软件产品的感知。当一个软件出错的时候,前端 的用户只知道软件出错了,但是并不知道是什么原因导致了软件的错误或者崩 溃,而且他们也并不需要去关心诸如算法错误,并发冲突之类的技术性话题,因 为这是程序员与测试人员所需要关心的事。故而对于终端用户来说,一个能够用 的软件是最基本的条件。 第二章教育网络平台与软件质量概述上海师范入学硕士学位论文 但能够用不意味着用得好,当你带着模型船来到湖边的时候,已经知道自己 将会享受这次过程,因为你知道手里拿着的是一个高质量的产品。在你把船放下 水的之前,会检查船的各部分是否完好,动力系统是否工作正常,船体是否有渗 水等等,这些是该产品的外部质量属性,这个属性对于软件的可用性同样有着十 分重要的影响。而且更加重要的是,可以借助一些测试手段对这些属性进行测试, 在之后的章节中本文也将重点介绍使用自动化测试框架进行软件测试。在经过一 系列彻底的测试,并且修正了相关的错误之后,外部质量属性得到提高,所以通 过这种手段可以最大限度地减少终端用户会遇到的错误。 接下来,把目光投向制作这艘遥控船的工厂。此时会发现这艘船能拥有如此 高的质量并不是一种巧合。所有的零部件都是经过了严格的生产工序制作而成。 不同专业方向的工程师花费几个星期的时间以确保所有的细节都是正确的。所有 的材料在进厂之前都经过细心地检查以确保这些材料之中没有隐患,在装配过程 中遇到问题的时候制造工人也有权利停止生产。所有的这一系列行为被称为过程 质量属性。过程质量是确保高质量的软件能够被制造出来的一种途径。 注重过程质量往往要比注重产品质量本身要来的更加重要,而且在有些情况 下,这是必不可少的环节。试想一下,当模型制作出来被发现质量不过关,生产 者完全可以舍弃这个模型重新设计生产一个,但如果生产的是一艘巨大的航空母 舰呢? 当投资方将超亿元的预算砸在了这个项目上,得到的却是一艘质量不合格 的战舰,试问一下,这次还有能力推倒重来吗? 当然答案是否定的。那人们不禁 要问,该通过何种方法来确保能够制造出一艘合格的航空母舰呢? 对于工程管理 者而言,要在最后制造出一艘合格的战舰,他们所必须做的就是去检测制造过程 的质量。 软件项目不同于建造航空母舰,但可用性,外部质量属性与过程质量却是衡 量其质量好坏共同的标准。 作为软件产品,除了以上三个特征指标之外,还拥有另外一些软件产品特有 的属性: 功能性:这块特性集中反映该软件能做什么而不是怎么去做。 1 2 上海师范大学硕士学位论文第二章教育网络平台与软件质量概述 可靠性:这个特性指的是该软件在特定环境下所能达到特定设计要求的程 度。 效率:这个特性反映了软件在计算上的性能,即空间效率与时间效率的比值。 可维护性:这一特性与该软件的设计质量与实际代码的质量息息相关。可移 植性:许多软件产品的平台依赖性比较高,相对高的平台依赖性可以提高计算效 能,却对软件的移植造成了许多的障碍。 基于以上的论述得出了一个优秀的软件产品所应具有的品质:可用并且功能 完好,可靠并且效率相对较高,必须有很好的可维护性,可移植性作为可选的特 性,在一些有特殊要求的项目中应力争做到较低的平台依赖性。 构建一个教育网络平台,不仅应该注意软件开发中的质量保证问题,还需要 对校园工作系统的流程进行仔细地分析与研究,找到最适合实际情况的流程模 式,优化整个系统的结构。 本文将以一个教育应用网上平台开发作为案例,系统阐述如何在小团队低成 本为前提的软件项目开发活动中,通过引入适当的软件测试手段来提高整个项目 的过程质量属性,从而达到提高整体项目质量的目的。 1 3 第三章基于l m s 项目开发的质量管理策略分析 上海师范大学硕士学位论文 第三章基于l m s 项目开发的质量管理策略 分析 从这一章开始将集中探讨该项目的开发过程与整体质量控制策略,本文将从 过程,策略,方法,细节等四个角度对该项目的开发进行分析,并提出一系列的 解决方案。 3 1 实验室管理系统项目简介 上海师范大学现代教育技术实验教学示范中一d 实验室管理系统( 以下简称 l m s ) 是上海师范大学现代媒体示范中一d 所要求的一个模块。随着学生对实践要 求的不断提高以及实验设备的日益增多,需要通过信息手段实现对实验室的网络 化管理,从而为提高教学和科研水平打下基础。 该系统应用环境如下所示 学籍信息 系统 设备信息库 ( 条形码) 图3 - 1l m s 系统应用环境 该系统涉及三方面信息:学生信息、教师信息、实验室机房的设备信息。开 发人员将利用这三方面的信息建立这套实验室预约信息系统。 该系统所对应的最终用户是学院教师、机房管理人员与学生。 1 4 上海师范人学硕+ 学位论文第二章基于l m s 项目开发的质量管理策略分析 管理员可以通过w e b 界面端实时查看各机房的使用安排情况,也可以通过 w e b 端直接添加或修改预约信息,并且有权力执行机房预约行为。不仅如此, 管理员还可以通过w e b 端对所有的正在进行的课程进行管理。 教师经注册后,可以通过w e b 端查看所有预约课程信息,并且自己也有权 利提交机房使用预约的申请,在管理员审核通过后,该申请便生效了。在申请生 效之后,可以增加或者减少上课的班级与修改重修学生的成员名单。学生用户只 有浏览实验室使用情况的权限。 l m s 应具备以下特性:对实验室和设备基本信息的收集和管理;对实验室和设备 使用情况的记录、管理和统计( 预约、点名、清点、报表) ;与外部系统交换数 据的能力。 w e b 界面端 jl 1r r由以白士n 审 、 w c fs e r v i c e 集篓机房管理l - - 4 , 兴越芏仉厉 j 。 1 r 夕c c m w f 据库 图孓2l m s 系统结构图 如图3 2 所示,该系统由三大主要模块构成:w e b 端、机房管理客户端程 序、后台信息数据库。机房管理客户端程序由机房管理员专用,不对外开放。 w e b 界面端对所有人开放。 由于时间与人力的限制,万欣机房管理系统为购买第三方产品,开发团队则 根据万欣所提供的方案自行开发w e b 端。 1 5 第三章基丁:l m s 项目开发的质量管理策略分析上海师范大学硕士学位论文 w e b 端被用于向用户展现数据并与用户发生交互,用户所提交的数据,经 过自动与人工的双重验证后,经由一个w c f 服务将数据直接注入万欣管理系统 的后台数据库中。 这种设计思路的优点在于绕过了万欣机房管理系统的表现层面,也无需对方 提供相应的a p i ( 应用程序接口) ,能够节省一定的成本。 w e b 端不与万欣的数据库发生直接性的交互,而是交由一个独立的w c f 服 务( w i n d o w sc o m m u n i c a t i o nf o u n d a t i o n ) 去完成数据库的写入与读取, 这样既能够保护数据库的相对独立安全,同时也有利于开发人员协同工作,只要 将接口定义完整,开发过程可以交由不同人员同时进行,一人专门负责w c f 服 务端代码的编写,一人负责界面设计与网站后台代码的编写。 但是这种开发方式同样存在一定的风险,由于对方提供的是不开源的成品, 也没有相关的技术指导手册,故而在前期的需求分析中,开发人员必须仔细研究 后台数据库的结构与功能,如果分析出现了错误,那会给后面的开发工作带来巨 大的影响。 该系统采用微软n e t 技术架构,后端数据库使用s q l s e r v e r 2 0 0 5 ,开发语言 为c 。项目从0 8 年10 月开始正式启动,经过了一个多月的需求分析,得出了 数据库研究报告与所有的功能用例。之后进入了代码编写阶段。于0 9 年2 月得 到了初步的系统原型,再根据原型在测试服务器上进行测试与二次开发,0 9 年7 月上线测试,0 9 年9 月j 下式上线使用。 3 2c m m 模型与l m s 项目团队 能力成熟度模型( c a p a b i l i t ym a t u r i t ym o d e l ) c m m 是对于软件组织在定 义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。c m m 的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程 监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。5 5 h t t p :b a i k e b a i d u c o m v i e w 8 11 0 h t m 1 6 上海师范大学硕士学位论文第二章基丁:l m s 项目开发的质鼙管理策略分析 c m m 是一种用于评价软件承包能力并帮助其改善软件质量的方法,侧重于 软件开发过程的管理及工程能力的提高与评估。c m m 分为五个等级:一级为初 始级,二级为可重复级,三级为已定义级,四级为己管理级,五级为优化级。 如果使用c m m 模型去评价现有的l m s 开发团队的话,本文认为该团队的 成熟度介于等级1 和2 之间。 参照c m m 成熟度等级1 :初始级( i n i t i a l ) 。处于这个最低级的组织,基本 上该团队没有健全的软件工程管理制度。每件事情都以特殊的方法来做。如果一 个特定的工程碰巧由一个有能力的管理员和一个优秀的软件开发组来做,则这个 工程可能是成功的。然而通常的情况是,由于缺乏健全的总体管理和详细计划, 时间和费用经常超支。结果,大多数的行动只是应付危机,而非事先计划好的任 务。处于成熟度等级1 的组织,由于软件过程完全取决于当前的人员配备,作为 由导师作为项目牵头人的开发团队,成员都是学生,拥有编写代码能力的成员不 是很多,在协调与调度上也不是非常的严格。部分团队成员因各种原因退出了开 发项目,这在很大程度上给项目带来了极大的不可预测性。人员变化了,过程也 跟着变化。所以,要精确地预测产品的开发时间和费用之类重要的项目,是不可 能的。 成熟度等级2 :可重复级( r e p e a t a b l e ) 。在这一级,有些基本的软件项目 的管理行为、设计和管理技术是基于相似产品中的经验,故称为“可重复”。在这 一级采取了一定措施,这些措施是实现一个完备过程所必不可缺少的第一步。典 型的措施包括仔细地跟踪费用和进度。不像在第一级那样,在危机状态下方行动, 管理人员在问题出现时便可发现,并立即采取修正行动,以防它们变成危机。关 键的一点是,如没有这些措施,要在问题变得无法收拾前发现它们是不可能的。 在一个项目中采取的措施也可用来为未来的项目拟定实现的期限和费用计划。 所幸的是,即使本团队的成员缺乏项目经验,也同样有许多亮点值得借鉴。 项目的文档管理做得还是很好的,文档涵盖了产品的各方面,内容比较详尽 充足。负责制作文档的成员,也承担起了一定量的q a 人员的任务,他们手工地 对产品进行测试,在项目进行的各个阶段都会出测试报告,指出哪些功能已经实 现,哪些功能没有实现,哪些功能出错。这点己经做到了等级二中规定的仔细地 第三章基丁二l m s 项目开发的质量管理策略分析上海师范人学硕十学位论文 跟踪项目的进度并且在错误出现的时候立即采取修正行动之要求。由于能力所 限,参与编写文档的成员有一部分并没有完全的代码开发能力,这也给q a 的工 作带来了一定的局限性,他们只能负责黑盒测试,无法进行更加深入的白盒测试。 由于客观原因的限制,整个团队的现实情况如上所述,要想在短时间内提高团队 成员的能力水平几乎是不大现实的,但并不是说不可能。 3 3 强调代码质量的重要性 前一节对l m s 开发团队的能力水平做了一定的评估,并发现了开发团队本 身所存在的一些问题,即团队规模小,有人员流动,团队成员整体能力不是很强, 缺乏有经验的管理,缺乏有编程能力的测试人员。要以这样的阵容去迎接挑战实 属不易,但该团队并不是一无是处的,团队成员都有着很强的责任心,希望自己 能在这次项目中提高自身的能力与经验水平,不管任务有多困难,即便摆在面前 的条件有多么的糟糕,也必须找到一条适合本团队的提升软件产品质量的道路。 再将话题回到之前所提到的本团队中的q a 人员对于开发人员的支持中,在 本团队中,由编写代码能力并不强的人员帮助程序员测试他们所编写的代码,在 一定程度上能减少程序员的工作量,程序员只需要知道测试通不通过就行了,但 是一旦知道自己的程序出错,程序员就要停下手头的工作,专心地寻

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论