联想软件测试理论与实践毕业论文.doc
《联想软件测试理论与实践毕业论文.doc》由会员分享,可在线阅读,更多相关《联想软件测试理论与实践毕业论文.doc(258页珍藏版)》请在三一办公上搜索。
1、联想软件测试理论与实践联想软件测试中心序联想软件测试理论与实践终于完成了,欣喜之余,回想起软件测试中心这几年在测试技术和流程管理方面取得的巨大进步,真是令人感到骄傲和自豪。当然,软件测试工作持续改进是我们永恒的目标,所以随着我们对软件测试理论认识和实践经验不断深化,本书也会陆续做一些修订和补充。本书主要是联想软件内部使用,为软件测试中心人员提供测试技术指导和测试实施指南,对测试新员工尤为适用。同时联想其他同仁也可阅读此书,以了解软件测试知识和我们实际工作情况。本书安排由浅入深,从软件基础开始讲解,重点讲解了软件测试技术、软件测试类型、软件测试管理等几方面,同时也对软件质量、测试持续改进、测试自
2、动化也做了介绍。对于软件测试新员工,可以按顺序学习,对于有一定测试经验或对软件测试比较了解的同仁,则可以直接选择自己所关心的章节进行阅读和参考。另外,本书并没有提供很多测试实例,大家可以到软件测试中心的技术构架中去获取。由于本书遵从联想软件研发规范,遵从联想软件设计中心的过程改进方针。所以阅读本书前,需要大家对软件工程和联想软件研发规范有一定的了解。本书采用的术语与联想软件设计中心研发规范相一致,同时在很大程度上把软件测试工作描述得更为深刻,有些目标和标准甚至是我们目前还没有开展实施的,并包含了作者个人的一些观点,所以可能会有不科学、不实用之处,敬请各位同仁多多指正和包涵!很多人为本书的编写虽
3、然付出了很多时间和心血,但仍感觉完成得较为仓促,所以请大家在阅读本书的同时,多多提出宝贵的意见和建议,谢谢!本书是在联想助理总裁联想软件设计中心总经理韩振江的关心下完成的,这里要向所有关心本书和关心软件测试工作的领导和同仁们道谢!作者于年12月目录序目录前言第一章:软件测试概述第一节:什么是软件测试第二节:软件测试的目的第三节:对软件测试的理解第四节:软件测试的原则测试技术和策略方面测试管理方面“好”的测试的一些属性第五节:测试用例介绍对测试用例的理解测试用例设计生成的基本原则第六节:软件测试模型V模型h模型Shewwhart循环模型模型小结第七节:确认和验证第八节:软件测试流程概述软件开发流
4、程概述软件测试流程概述测试工程师的职责第九节:测试人员的素质要求测试人员的技术素质要求测试人员的非技术素质要求第十节:如何做好软件测试工作第二章:软件质量与测试第一节:软件质量的重要性第二节:软件质量问题的原因第三节:对软件质量特性的理解软件质量内涵软件质量特性定义软件质量特性之间的关系软件质量的观点软件质量特性对于测试人员的意义第四节:基于软件质量特性的测试功能性测试可靠性测试易用性测试兼容性测试第三章:软件测试技术和方法第一节:静态测试和动态测试静态测试动态测试第二节:黑盒和白盒测试概述第三节:黑盒测试技术等价类划分边值分析特殊数据分析因果图法第四节:白盒测试技术白盒测试概述程序结构分析逻
5、辑覆盖最少测试用例倒数计算测试覆盖准则程序中的错误分类(Wowden)域测试(Domain Testing)划分分析的过程域测试与划分分析的比较符号测试路径分析程序插装(Program Instrumentation)程序变异(Program Mutation)第五节:BUG分析技术BUG引入原因BUG分析要考虑的问题BUG修改后的分析BUG分析技巧第六节:软件应用通用测试方法WEB站点测试技术与方法软件测试环境配置方法日期时间相关应用的测试方法数据库应用测试方法(Microsoft SQL Server)第七节:其他测试技术和方法文档测试语言测试软件安全性测试第八节:测试技术和方法的应用原则
6、与技巧应用原则第四章:软件测试类型前言第一节:单元测试第二节:集成测试集成测试的概述集成测试的策略和方法联想软件的集成测试工作第三节:确认测试确认测试概述确认测试策略与方法确认测试设计方法确认测试的其他有关内容第四节:系统测试系统测试概述系统测试内容系统测试的技术与工具应用第五节:验收测试第六节:封样测试封样测试概述封样测试过程封样测试注意事项第八节:特殊测试类型回归测试用户反馈测试第五章:软件测试经验与策略第一节:到底什么时候开始软件测试工作?第二节:测试资源不充分的测试策略第三节:如何应对没有文档化的需求第四节:影响测试工作量的因素附件01:软件测试术语定义附件02:SEI/CMM 所提议
7、的软件评估与测试KPA介绍软件评估与测试的定义把验证和测试作为一个独立的KPA的理由加速软件文化的转变评估与测试在项目跟踪方面的作用评估与测试占项目花费中的比例评估于测试对项目开发进度和项目花费方面的影响缺陷的花费评估与测试KPA的内容:建议的评估/测试KPA目标:执行的委托执行的能力执行的活动测量和分析验证实施:与现有CMM的KPA相协调把软件评估和测试KPA融于整个CMM之中重新组织现有KPA的建议附件03:WEB站点应用测试技术与方法WEB站点应用测试基础知识HTMLWEB页面错误提示释义IE浏览器ASPIIS服务器性能WEB站点应用测试原则WEB站点应用测试标准WEB站点应用测试细则W
8、EB页面测试多用户测试:性能测试压力测试WEB事务处理能力测试WEB安全测试:产品交互测试产品输入/输出测试WEB站点应用测试的BUG分析链接ASP关于本文档:附件附件1:ASP常见问题附件2 ASP错误一览表附件3 :IE5.0快捷键附件4 :Jscript错误及相应解释附件5:VBScript错误代码及对应解释附件6:HTML状态代码及含义附件04:软件测试环境配置方法测试环境配置步骤测试环境配置的原则配置主测试环境遵循原则:配置辅测试环境遵循原则测试环境配置缺陷分析和修改附件一:电子教室测试环境配置方法附件二:B/S结构产品测试环境配置方法附件05:日期时间相关应用的测试方法日期时间应用
9、标准1、日期和时间的格式2、日期和时间的输入3、日期和时间的存储4、日期和时间的逻辑日期时间与质量特性功能性可靠性易用性效率可维护性和可移植性日期时间与测试环境配置日期时间一些具体应用情况与测试方法附件06:数据库应用测试方法前言:四、SQLServer测试方法4.1数据库应用安装测试、安全性测试及软件结构测试4.2数据库应用性能测试附件附件07:测试说明同行评审测试说明检查内容测试说明同行评审注意问题附件08:面向对象软件的测试面向对象测试模型(Object-OrientTestModel)面向对象分析的测试(OOATest)面向对象设计的测试(OODTest)面向对象编程的测试(OOPTe
10、st)面向对象的单元测试(OOUnitTest)面向对象的集成测试(OOIntegrateTest)面向对象的系统测试(OOSystemTest)附件9:语言测试语言翻译问题外国语言测试要考虑的因素1、文本扩展2、ASCII、DBCS和Unicode3、热键和快捷键4、扩展字符5、字符计算6、阅读方向7、图片中的文字8、文字脱离代码9、本地化测试使用环境和兼容性问题附件10:文档测试软件文档包括的内容文档测试标准文档测试方法文档测试原则文档测试细则文档测试要考虑的因素附件11:软件安全性测试安全性测试概述安全性测试要考虑的问题两个常见到安全性错误安全性测试设计安全性测试其他问题软件的安全目标缓
11、冲区溢出软件安装安全性测试十条安全法则前言目前,越来越多的软件组织开始重视软件测试工作,联想软件设计中心更是如此。因为大家都已意识到:软件测试在开发过程中的作用越来越重要,而且软件测试本身就是一门学科,测试人员的技术和经验水平会直接影响软件产品质量和用户满意度。不过,仍有很多人对软件测试不以为然,觉得“就是那么回事儿”,在开发过程中并不重要,而且技术含量不高。那么希望本书的介绍会使这些人改变这种态度。此篇只是介绍性讲述软件测试的大致情况,如果您对软件危机和软件测试发展有简单的了解,可以跳过此章。为了更好的了解软件测试,首先让我们来回顾一下软件危机及软件测试的发展。计算机硬件的飞速发展和普及,促
12、使软件产品能应用和普及到社会的各个领域,软件产品的质量状况也理所当然成为大家共同关注的焦点之一。不论软件的开发/销售组织还是软件的使用者,为了在日趋激烈的竞争环境中生存,为了使自己的软件占有市场,必须把软件质量作为企业的重要目标之一,以避免被竞争对手淘汰出局。用户为了保证自己业务的顺利完成,当然希望选用优质实用的软件。质量不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅度增加,还可能会产生其他的责任风险,造成公司信誉和品牌形象的下降,继而影响软件组织的发展前途甚至是生存。软件危机曾经是软件界甚至整个IT业最热门的话题。为了解决这场危机,软件管理者、专家和学者做出了大量的努力。现在人们
13、已经逐步认识到所谓的软件危机实际上仅是一种状况,那就是软件中有缺陷,正是这些缺陷导致了软件开发在成本、进度和质量上的失去控制和平衡。大家已经意识到,软件中存在缺陷是不可避免的,问题在于我们如何去尽量避免缺陷的产生和消除已经被发现的缺陷,使程序中的缺陷密度达到尽可能低的程度,降低软件的质量风险。很多人曾经认为更好的程序语言可以解决软件缺陷的困扰,这就一度推动了程序设计语言的发展,更多的语言开始流行:结构化程序设计语言、面向对象的程序设计语言、形式化描述语言、可视化工具 程序语言对提高软件生产效率起到了一定的积极作用,但它对整个软件质量尤其是可靠性的影响还是比较小的。受到其他行业项目工程化的启发,
14、软件工程学出现了,软件开发被视为一项工程,以工程化的方法来进行规划和管理软件的开发。针对需求不确定的应用,可以使用目前很流行的迭代开发模型,还可以采用快速应用程序开发(RAD)和协同应用程序开发(JAD)技术;IBM的Dr.Harlan Mills提出了净室过程,净室过程组合了形式化程序验证和统计过程控制(SPC),它是一种相当新的软件开发方法,特别是要求SPC应用到软件的知识,这影响了其被广泛的接受;硬件成本持续降低,可支持CASE工具运行的新的强大的工作站和网络已经成为软件工程使用的工作平台,CASE工具可完成一些特定的软件开发过程。这些工具易于维护、易于交叉检查、易于理解。许多人相信CA
15、SE工具是解决软件危机的“拯救者”,但事实上我们看到的情形却是许多公司花了大量的金钱买回CASE工具,但很少使用,原因在于这些工具执行的过程并不适用于机构的软件开发过程。虽然软件新技术和新工具层出不穷,但一直没有解决软件开发过程的成熟性问题,即软件工程能力需要增强,其核心在于“管理”,因此人们将目标转向了管理的改善,一些以改进软件开发过程为目标的活动已经展示出积极的结果。可喜的是,联想软件设计中心的软件开发过程采用目前非常流行的基于SW-CMM1.1的过程改进方法(CBA-IPI),通过了CMM和CMM3的认证,并正逐步把研发管理水平提高到CMM5水平,软件工程水平已经走在了国内软件企业的前列
16、。联想软件建立了专门的过程改进和质量管理部门,出台了一系列过程改进方针,软件研发规范不断推陈出新,使软件开发过程越来越成熟和规范。但事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有缺陷。采用新的语言、先进的开发方式、完善的开发过程,可以大大减少缺陷的引入,但是绝不可能完全杜绝软件中的缺陷,这些缺陷需要在测试阶段来发现并改正,而对软件质量的评估也需要通过分析测试结果得出。“亡羊补牢,犹未为晚”,既然“亡羊”不可避免,那么“补牢”就是非常关键的措施;“补牢”实施得越好,“亡羊”的数量就会大大减少。软件测试是所有软件工程学科的基本组成单元,是软件开发的重要阶段。统计表明(外部资料得到
17、的数据),在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40以上。而在软件开发的总成本中,用在测试上的开销要占30到50。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。因此,测试对于软件开发来说是不可替代的,问题是我们应该思考“采用什么方法、如何安排测试?”本书就要回答这些问题。很多人认为,软件测试是比较容易的工作。的确,很多软件开发公司雇佣了能力较低或是非专业的技术人员做软件测试工作,这是不争而令人遗憾的事实。但是,从联想软件测试中心四年来的实践证明,如果测试人员的能力
18、和技术水平很低时,测试阶段投入的工作量往往得不到预期的效果,即投入的工作量越多,对项目的负面影响越大既加大了项目投入,又影响了项目进度,但软件质量提升却不大;而只有测试人员的技术能力达到一定水平后,测试投入对项目的积极效果会显著增加。(见下图)图0-1,测试资源投入参考图从项目花费角度来看,在项目工作引入和加强测试,会大大减少项目后期的维护费用,这里有一个公式已经为软件业所公认:C3C1+C2其中:C3没有执行软件测试活动的维护花费; C1=软件测试活动的维护花费;C2=软件测试没有发现缺陷的维护花费。由此可见,缺少了测试活动,虽然会减少项目前期的费用和投入,但对于联想软件的后期维护和长期发展
19、是有百害而无一利的。联想软件设计中心对软件测试工作非常重视,无论是从资源投入还是测试流程规范推广上,都为软件测试工作提供了很大的支持,使得软件测试队伍成长愈来愈快,规模愈来愈大,并且朝着健康方向不断前进。另外,联想软件测试中心做为一个独立测试机构,这种独立测试机构设置有许多好处。由于心理学上等因素的影响,软件开发者很难以客观、准确地测试自己的软件,而找出那些因为对问题的误解而产生的缺陷就更加困难。测试中心作为一个独立的行政组织与核算中心,可以避免软件开发者测试自己开发的软件或者软件开发机构测试自己的软件,这样就能够更有效地发现软件中的缺陷。还有,软件产品的开发过程受到进度、成本和质量三者的制约
20、,进度和成本指标易于度量,而质量却很难量化度量,因此,在软件开发过程中,当进度、成本和质量三者发生矛盾时,质量最容易被忽视,如果测试组织与开发组织来自相同的机构,测试过程就会面临来自与开发组织同一来源的管理方面的压力,使测试质量大大降低。由于测试中心做为一个独立组织平台这种方式,无论在技术上还是管理上,对提高软件测试质量和软件质量都有着积极的意义,具体说来,包括以下方面:a) 资源保证性。测试中心的主要任务是进行独立测试工作,这使得测试工作在费用、人力投入和计划实施方面更有保证,不会因为开发工作量的增加而减少对测试的投入,降低测试阶段的作用,可以避免开发部门“重开发,轻测试”这种心态对测试工作
21、产生不利的影响。b) 工作客观性。测试人员能够对软件中的缺陷抱着客观的心态,这种心态可以解决测试中的心理学问题。这样,既能够进一步发现软件中更多的缺陷,又能不受发现的缺陷状况的影响。而经济上的独立性使测试工作有更充分的资源和条件,能够按测试计划和流程来完成。c) 技术专业性。测试人员把测试工作本身作为自己本职工作,在长期的工作过程中势必能够积累大量实践经验,形成自己的专业优势。同时软件测试也是技术含量很高的工作,需要有专业队伍加以研究,并进行测试实践。专业化分工是提高测试水平,保证测试质量,充分发挥测试效度的必然途径。d) 结果可信性。由于专业优势,独立测试工作形成的测试结果更具信服力,对软件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 联想软件测试理论与实践 毕业论文 联想 软件 测试 理论 实践

链接地址:https://www.31ppt.com/p-4030869.html