ImageVerifierCode 换一换
格式:DOC , 页数:7 ,大小:311KB ,
资源ID:3599412      下载积分:6 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3599412.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(软件开发过程中的测试管理.doc)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

软件开发过程中的测试管理.doc

1、 软件开发过程中的测试管理 测试是开发中必不可少的工作      首先,一个软件产品或系统的开发成功,不仅仅是编写完为使用者提供服务功能的程序而已。软件程序编写的完成,其实只是完成了开发任务中的一半。与程序的开发相配合的、具有同样重要性的另一半工作,是对开发完毕

2、的软件所进行必要的测试。对测试的管理和执行,其重要性不亚于对程序本身的开发。你可以花费巨大的资源和努力进行程序的开发,可是你要是没有与此配套的完善的测试,所开发出来的软件往往会因为质量问题无法满足客户的要求和帮助你赢得市场的竞争。     近几年来国内信息业界的软件开发的成熟程度大大提高,很多公司都开始重视软件测试的重要性、并建立了与此相关的组织结构来保证测试工作得以执行。但是忽视或轻视测试工作的不良习惯和企业文化仍旧普遍存在。在中国项目管理俱乐部的网站上有业界的同仁们反映了这样的情况:他的公司居然还采用所有的软件开发人员都只做程序编写、只有一个人担任软件测试工作这样一种组织结构,而且

3、这个公司的领导认为只有程序的编写才属于实际的开发工作,因此只知道夸奖程序编写人员的工作成果、完全忽视测试人员的贡献。虽然这样的近于荒唐的例子可能是极少数的极端现象,但在相当大比例的软件企业中测试人员往往仍旧是被当作“二等公民”看待,好像他们只是开发人员的配角而已,对软件最终是否合格和能否发行的判决,并没有实际的影响力。     一个成熟和高效的开发组织应该、也必须采取与此完全相反的做法:将软件的测试和开发放到同等重要的位置上,对软件的测试和开发给予同样程度的重视。这种项目管理的理念就要求对软件测试给予与软件开发相同的资源和支持,用同等的组织结构和人才来保证软件测试得到严格的执行。 

4、     微软公司就是用组织结构来保证产品开发的运作流程充分体现对软件测试的尊重、承认测试的重要性。微软总部各个产品部门的所有开发组织都有与程序开发团队并列的测试团队 – 任何开发组织都是由项目管理、软件程序开发、和软件测试三个并列的团队组成。这样的“三驾马车”的组织结构,保证了测试团队是一个独立于程序开发团队之外的机构,软件测试的结果和测试人员的观点在这样的组织结构中不会被程序开发人员随意推翻或践踏,测试人员能够大胆申诉测试结果、坚持测试的判决、包括阻止不合格的软件发行。我在Windows操作系统部门进行视窗嵌入式操作系统的开发工作时,就碰到过好几起因为测试团队坚持测试结果的审判,从而阻

5、止了开发团队能够按时发行开发完毕的软件的情况。 敏捷模式中的测试驱动开发     事实上,现在最新的软件开发项目管理的模式之一甚至将软件测试的优先权提高到高于软件功能本身的开发之上。在敏捷模式(Agile Model)实践范围中的测试驱动开发模式(Test Driven Development,简称TDD)要求将软件的测试机制和可测性首先开发到软件中去,把对软件进行测试的功能作为软件功能开发的不可缺少的一部分来对待。它要求所有软件功能组件都必须有自己的进行自我的单元测试的机能、并且要求程序编写人员在开发软件的功能程序编码之前,先开发进行这些功能自我测试的程序。测试的程序编写完成

6、之后,就开始进行单元测试的运行。这时候,由于提供功能的程序源代码都还没有编写,所以刚开始的时候这样的自我单元测试当然都是通不过的。当这些单元测试都能运行之后,开发团队然后才开始编写每个单元里面的具体功能的程序。     由于进行自我测试的程序已经完成了,每个功能开发完了之后,开发人员就马上可以启动单元的自我测试程序。要是单元的功能程序开发得完善,这时单元的自我测试就能通过,单元的开发就算完成了,测试人员再进一步进入到下一步的其它测试,比如使用案例的测试和系统整合的测试,等等;要是单元的功能程序在开发中有问题或缺陷,这时单元测试就还是无法通过,那么开发人员和测试人员就先集中精力来分析到底

7、是什么缺陷和错误造成单元组件的功能程序无法通过那些自我测试,然后可以根据测试失败的症状进行单元功能程序的纠错工作。     举例来说,如果我们需要开发一个进行文档选择的功能组件。采用传统的开发方法的话,就是开发人员先将文档选择的功能程序开发出来,然后进行黑箱效应测试,证实文档能被选择之后就完了 。采用TDD的开发方法,我们就不是先开发如何选择文档的功能程序,而是先考虑这个组件该如何进行单元测试。所以开发人员先编写在文档选择的使用过程中进行检测可能出现差错的测试程序。这些测试检验代码的白箱效应的测试,比如进行文档选择后的数据检查、以及程序的逻辑检查等等。等到这些单元测试程序完成并能够运行

8、之后,再开始编写实际的文档选择的功能程序。每个局部功能程序编写完毕就立即运行单元测试,直到单元测试全部通过为止。这时开发人员也可以根据软件构架设计的有求,对功能代码中的一些运算方程函数进行模块优化性的分解(也叫Refactor),除去任何重复的代码等等。任何源代码改动和分解之后,必须再次运行所有的单元测试,直到全部通过后才进行证实使用方案的黑箱效应测试,比如检测文档选择正确的结果、选择错误的结果、文档打不开的结果、文档找不到的结果等等。      这样的开发运作流程和管理的理念是,所有的程序都应该有它的可随时启动和利用的测试机制(Test Harness),而且这种测试机制应该是每个软

9、件功能组件单元的不可分割的一个组成部分。我们首先开发这些提供测试机制的程序,建立一个可供测试的框架。然后通过先测试失败、加上功能后然后造成测试成功这样一种反面性的验证,来证实开发出来的软件是符合所设计的测试要求的。所以你可以看得出来,测试驱动开发的模式的主导思想是为满足测试而开发。      比喻来说,这就好像是修建一条铁道线,得先把铁路轨道的标准定了、轨道先铺上,然后再在铁路上运行与轨道宽度标准相符合、专门为它而造的火车。铁路轨道的宽度标准决定了所用的火车必须遵循的宽度。所以可以说,轨道宽度标准是一个制约了火车合格标准的框架。先有了这个框架可以很容易地证实造出来的火车是否符合要求。当

10、然,你也许可以不顾宽度标准先造个火车再说,但这样造出来的火车不见得能在轨道上跑:要是轮距宽度不符合轨道标准,你就得返工重做。TDD的管理模式就是这个先造检测标准的理念在软件开发上的运用,就好像是你先定好轨道的宽度,然后说:按照这个标准造火车,不能在这个轨道上跑的火车就自动不合格;TDD的管理模式使开发人员建立同样的思路:按照这个测试标准去开发程序,通不过这些测试的软件就自动不合格。     这样的开发方法有很多好处,最明显的好处是“强迫”开发人员在设计程序的同时,并列进行必须进行的单元测试设计,催促你去思考如何验证你的程序单元的逻辑正确性和单元的完整性。更重要的是,这样的开发模式有助于

11、推动进行自动化测试的工具程序的开发、提高测试的效率,因为那些事先设计好的的单元测试程序,在单元的功能程序编写过程中,可以被随时使用,来验证所开发的功能程序部分是否符合要求。     这样的开发项目管理模式和理念,很明显地是将软件测试的作用和重要性提高到一个开发战略的层面。 测试不再是简单的开发完毕后再考虑使用的质量管理的辅助手段而已,而是衡量软件在开发过程中每个单元组件是否能够通过,可以说是掌握了项目进度的“生杀大权”。     这个开发管理模式相对来说是一个比较新颖的方法,它对传统的开发流程的项目管理造成了不可避免的冲击,因此并不是很容易被开发团队接受,特别在绝大多数的在开发

12、人员说了算的企业文化里,这样的开发方法的使用和推广很容易受到开发团队的阻力,因为它不仅用开发流程的改革来承认测试的重要性,并且由于开发人员被要求进行单元测试的开发和执行的额外工作 ,开发人员的工作量和习惯也都需要作一定的改变。     但是毫无疑问,这个项目管理模式所能够带来的巨大好处是有目共睹的。这也是为什么这几年来在业界中像敏捷模式、TDD模式等新型管理方法在软件开发的项目管理上被越来越广泛地利用。就拿微软本身来说,我们目前也正在进行一场内部的改革项目管理的“革命”:两年前,总部产品开发部门有少数一些项目经理们自愿组成一个推广敏捷模式的兴趣社团,在少数几个开发团队开始推动敏捷模式和

13、TDD等。他们有点像个“地下组织”,因为绝大多数的产品开发团队还是在使用传统的方法,公司也没有人正式倡导敏捷模式等。但是近两年来,采用TDD等模式来充分发挥测试对质量管理起到的好处,很快就得到很多团队的共识,因为那些采用了这些模式的团队在软件质量的增进上有明确的数据可以证实,这种尊重测试的方法为提高软件质量、降低Bug Count(缺陷数)、最终帮助开发项目的成功所能带来的巨大好处。在好几次公司的经验交流会上,一些采用了敏捷模式和TDD等方法的团队公布详细的质量管理的数据比较,来证明这些新方法的优越性。微软快速适应变化的特性使得公司很快地也学会支持对新型模式的采用,现在全公司对技术员工进行开发

14、工程教育的部门也开辟相关的课程,帮助一起来推广对敏捷模式和TDD等管理改革的采用,颇有“星星之火快要燎原”的气势。有的团队甚至采用配对的两人坐在一起开发的工作模式:一个人开发进行单元测试的程序,另一个人接着开发功能程序、并马上进行测试。两个人来回使用同一台计算机来完成对某个组件的开发。  完善的测试依赖全面的测试计划     前面讲述了测试对软件开发的重要性。那么在开发项目管理的运作中,究竟如何执行具体的测试呢?答案是:每个软件都有它的功能设计,通过它们为用户解决某些问题或提供某些服务。测试的目的有两个:第一是要确证这些为用户解决某些问题的功能设计被正确无误地开发出来了,也就是

15、说,如果用户按照所设计的使用方法和过程(我们称为User Scenario,即使用方案),的确能够利用这些功能所提供的服务和解决问题;第二是保证软件在被使用的情况下,如果使用者并不按照所设计的使用方案在使用软件,它不应该由于任意的使用、或其它外部影响造成任何问题,包括出现差错,比如数据遗失、数据错误、 甚至造成系统崩溃等等。     为了达到这两个不同的测试目的,在执行具体的测试时就要采用不同的测试方法。为达到第一个目的、也是最主要的目的,最佳的方法是根据所设计的每个功能和使用方案,设计一个相对应的测试执行过程,去验证这个功能或使用方案是能够从头到尾完成的。这个测试执行过程的定义和描述

16、我们称它为测试方案或测试案例(Test Case)。要能够确证所有功能的确是准确地被开发出来了,唯一的办法就是为每一个使用方案都设计出大量的、一套完整的测试案例(在微软的产品开发中往往都是几百甚至上千的测试案例在测试中被使用),然后通过对这些测试案例的按部就班的执行来证明软件的确可以完成所设计的功能。测试案例的全面性和完整性最终决定了为达到第一个目的测试的质量。     要能够做到制定完整的测试案例,就需要有一个可以作为依据的纲领性指南,帮助测试人员设计这些案例。这样的纲领性指南是由一份叫做测试计划的文件来总结的。测试计划在软件的设计规范书的基础上进行总结和撰写,根据具体的软件和使用要

17、求,制定出整个软件产品的总体测试构思和设想、测试总体范围、对测试方法和测试自动化工具的要求和定义等等。在测试计划的基础之上,测试工程师们根据它再进一步制定详细的具体测试方案。至于测试计划该怎样写,该包括什么内容,我在《软件开发项目管理》一书的第十一章里有详细的测试计划文件的模版你可以参照使用,这里我就不再重复了。 应该同时满足测试的两个不同目的     但是光进行测试案例的执行、按照事先设计好的使用步骤来测试软件的使用状况,只能达到上面所讲的第一个目的,却无法满足第二个目的。原因是,当你的软件在众多的使用者手中被使用时,用户们不见得一定会按照你所设计好的、或所期望的步骤来使用软

18、件,而是任意地使用的。这个时候软件就有可能由于设计得不当或内部的缺陷而发生各种不同严重程度的问题。这一类的问题光用测试案例的执行不见得可以找得出来、而且通常往往是找不出来的。所以与执行测试案例的执行相并列的,还需要进行一系列的与正常的使用方案并不一样、甚至毫无关系的测试。这一类的测试是尽量找出在非正常或随意任意使用的情况下可能出现的Bug。     对这样的测试目的,我们采用两种手段来达到:第一种手段是由测试团队设计并执行各种非正常性的测试,包括边界测试、压力测试、安全测试、以及进行一定数量的随机任意性测试(这些测试种类的详细定义见书中的解释)。这样的一些测试可以找出很多在正常使用情况

19、下无法发现的缺陷。但是光靠测试团队的有限人力和资源,还是无法照顾到大量的随机任意性状态下可能发生的出错情况。所以你还得想办法“动员群众”来达到最好效果。微软的企业文化在这方面有两个很有意思的传统,值得国内业界的借鉴:     第一个叫“抓虫大扫除”(Bug Bash):在某一个版本的发行里程碑到达之后,在发行之前项目经理向全体开发组织发出通知,告诉大家哪一天的某个时间是Bug Bash的时间,到时候全体成员,包括开发、测试、文档等团队、甚至市场部门的员工,全都放下手中的工作,在规定的那一个或几个小时的时间里,每个人把自己当作是用户一样来使用这个未成品的软件,并且进行竞赛,看谁能找到最多

20、的Bug。这样做的目的是,不是按照测试方案的顺序来检查软件,而是通过像真正的用户那样来使用软件,即完全是任意性的、无规则的顺序,看看在这样的使用条件下,还有没有仍旧没有被发现的严重的Bug。 我们往往采用谁找到最严重的Bug 就得奖的方法来鼓励大家尽力找出Bug。抓虫大扫除一结束,项目经理马上进行新呈交的Bug数量的统计,然后向开发组织中的全体员工公布。得奖的小有免费的咖啡、午餐、电影票等,大有各种礼物。所以每次Bug Bash 大家都踊跃参加,找到很多测试案例执行时没找到的问题。      抓虫大扫除对任意性的手动式的测试很有效,但对任意性的自动测试则效率有限。所以我们又采用第二个手

21、段:“分享大家的计算机”(Machine Share):当我们在测试服务器产品时,需要模拟成千上万的使用者同时使用服务器的情况、或是需要模拟大量的黑客攻击的情况。这时候测试团队的机器往往不够用,还需要大量额外的机器加入到这样模拟中来。这时测试团队就会去逐个请求其他员工、 请他们在下班后不使用计算机的时候,在他们的机器上运行模拟大量使用或攻击的程序。谁的机器上的程序造成了服务器的崩溃或造成攻击成功,这个机器的主人就会得到一个免费的冰淇淋。有个人的机器连续三次攻击成功,测试团队还制作了一个巨大的冰淇淋画像挂在他办公室门前的走廊上,第二天上班大家都看到、并昵称他为黑客大王。        总

22、结以上综述,完善的测试是保证软件质量的关键手段,而要做到测试的完善,需要制定完善的测试计划,同时还需要开发团队为达到两种测试的目的进行带创意的各种执行手段来找出各种缺陷和差错 。        这里对测试计划的管理理念以及TDD等概念作了一个简单的介绍。有关测试计划的细节、测试方法的种类等,你可以进一步参阅《软件开发项目管理》一书。在后面的连载文章里,我会再来阐述和讨论采用敏捷模式进行开发的一些实践指南。你要是对如何进一步提高你的软件质量有兴趣或有责任负责推动项目管理的改革,可以通过网络进一步了解业界在这方面的发展以及最新的动态。 3、通过活动,使学生养成博览群书的好习惯。 B

23、比率分析法和比较分析法不能测算出各因素的影响程度。√ C采用约当产量比例法,分配原材料费用与分配加工费用所用的完工率都是一致的。X C采用直接分配法分配辅助生产费用时,应考虑各辅助生产车间之间相互提供产品或劳务的情况。错 C产品的实际生产成本包括废品损失和停工损失。√ C成本报表是对外报告的会计报表。× C成本分析的首要程序是发现问题、分析原因。× C成本会计的对象是指成本核算。× C成本计算的辅助方法一般应与基本方法结合使用而不单独使用。√ C成本计算方法中的最基本的方法是分步法。X D当车间生产多种产品时,“废品损失”、“停工损失”的借方余额,月末均直接记入该产品的产品

24、成本 中。× D定额法是为了简化成本计算而采用的一种成本计算方法。× F“废品损失”账户月末没有余额。√ F废品损失是指在生产过程中发现和入库后发现的不可修复废品的生产成本和可修复废品的修复费用。X F分步法的一个重要特点是各步骤之间要进行成本结转。(√) G各月末在产品数量变化不大的产品,可不计算月末在产品成本。错 G工资费用就是成本项目。(×) G归集在基本生产车间的制造费用最后均应分配计入产品成本中。对 J计算计时工资费用,应以考勤记录中的工作时间记录为依据。(√) J简化的分批法就是不计算在产品成本的分批法。(×) J简化分批法是不分批计算在产品成本的方法。对

25、 J加班加点工资既可能是直接计人费用,又可能是间接计人费用。√ J接生产工艺过程的特点,工业企业的生产可分为大量生产、成批生产和单件生产三种,X K可修复废品是指技术上可以修复使用的废品。错 K可修复废品是指经过修理可以使用,而不管修复费用在经济上是否合算的废品。X P品种法只适用于大量大批的单步骤生产的企业。× Q企业的制造费用一定要通过“制造费用”科目核算。X Q企业职工的医药费、医务部门、职工浴室等部门职工的工资,均应通过“应付工资”科目核算。X S生产车间耗用的材料,全部计入“直接材料”成本项目。X S适应生产特点和管理要求,采用适当的成本计算方法,是成本核算的基

26、础工作。(×) W完工产品费用等于月初在产品费用加本月生产费用减月末在产品费用。对 Y“预提费用”可能出现借方余额,其性质属于资产,实际上是待摊费用。对 Y引起资产和负债同时减少的支出是费用性支出。X Y以应付票据去偿付购买材料的费用,是成本性支出。X Y原材料分工序一次投入与原材料在每道工序陆续投入,其完工率的计算方法是完全一致的。X Y运用连环替代法进行分析,即使随意改变各构成因素的替换顺序,各因素的影响结果加总后仍等于指标的总差异,因此更换各因索替换顺序,不会影响分析的结果。(×) Z在产品品种规格繁多的情况下,应该采用分类法计算产品成本。对 Z直接生产费用就是直接计人费用。X Z逐步结转分步法也称为计列半成品分步法。√ A按年度计划分配率分配制造费用,“制造费用”账户月末(可能有月末余额/可能有借方余额/可能有贷方余额/可能无月末余额)。 A按年度计划分配率分配制造费用的方法适用于(季节性生产企业)

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服