您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第一章_软件测试概述
厦门大学软件学院软件测试课程软件测试技术课程杨双远13720893736yangshuangyuan@xmu.edu.cn软件测试参考书1、《实用软件评测技术》主编:戳天喜出版社:国防科技大学出版社参考书2、《软件测试》作者:(美)RonPatton译者:周予滨姚静出版社:机械工业出版社原出版社:SAMS参考书3、《软件测试》作者:[美]PaulC.Jorgensen译者:韩柯杜旭涛出版社:机械工业出版社原出版社:CRC参考书4、《软件测试与JUnit实践》编著:王东刚出版社:人民邮电出版社重点关于JUnit的使用方法参考书5、《软件测试技术》编著:路晓丽葛玮龚晓庆等出版社:机械工业出版社重点关于面向对象的软件测试部分参考书6、《软件测试》主编:佟伟光出版社:人民邮电出版社重点有一个门诊挂号的实际例子参考书7、《软件测试技术经典教程》编著:赵斌出版社:科学出版社重点关于TestDirector、QTP、LoadRunner、JUnit等测试工具的介绍。参考书8、《软件性能测试与LoadRunner实践》编著:于涌出版社:人民邮电出版社重点关于LoadRunner的使用方法参考书9、网上资料、上视频资料其他网上资料课程安排---理论教学部分软件测试技术概述软件测试分类白盒测试方法JUnit白盒测试黑盒测试方法LoadRunner性能测试集成测试与系统测试面向对象的软件测试软件自动化测试工具介绍其他测试(界面测试、安全性测试等)全软件开发周期测试案例课程安排---实验教学部分实验前期准备:1、熟悉Eclipse编程2、掌握Java编程3、熟悉MSSqlserver2000数据库实验实践教学:1、JUnit白盒测试实验(2课时)2、DevPartner白盒测试工具(2课时)3、TestDirector测试管理工具(4课时)4、QTP性能测试工具(或WinRunner)(4课时)5、LoadRunner压力测试工具初级应用(2课时)6、LoadRunner压力测试工具高级应用(2课时)7、WEB链接测试工具(2课时)8、SQL安全性测试工具(2课时)厦门大学软件学院软件测试课程第一章软件测试概述杨双远yangshuangyuan@xmu.edu.cn软件测试课程目标了解软件测试的重要性掌握软件测试的基本概念理解测试对于软件质量保障的重要性了解软件测试的基本流程和过程了解黑盒测试和白盒测试含义理解软件测试的分类和内容课程内容软件测试的重要性软件测试基本概念软件测试误区软件测试技术软件测试方法软件测试流程软件测试过程微软软件测试简介软件测试的重要性一、软件系统的层次性越来越复杂,上层系统越来越依赖于底层模块的稳健性1.管理信息系统MISMIS(ManagementInformationSystems2.企业应用集成EAI(EnterpriseApplicationIntegration)3.企业资源计划ERP(EnterpriseResourcePlanning)4.业务流程重组(BusinessProcessReengineering)与ERP5.电子商务EC(ElectronicCommerce)信息化发展过程信息化发展历程管理信息系统MIS重点在人机交互生命周期法-----------------》EAI原型法-----------------------》ERP定制过程-----------------------》BPR固化---------------------------》ERP实施?EAI方式??商业ERP?信息化发展历程电子商务EC互联网买方卖方B2B、B2C、C2C、G2B、G2C、B2E、B2B2CCA认证网上银行物流信息化发展趋势1、构件化(组件)2、功能化(管理信息系统MIS)3、系统化(企业资源计划ERP)4、套件化EAS(EnterpriseApplicationSuite)5、产业化(产业协同EC、SCM)6、应用托管SAAS(早期为ASP)7、软件服务外包S+S8、国际化(业务外包)世界是平的软件测试的重要性二、软件测试遍布于整个软件生命周期,无处不在软件测试已经从编码阶段前移到需求分析阶段,甚至前移到可行性论证阶段。同时后置到整个软件应用的日常维护阶段,贯穿于整个应用软件生命周期当中。企业也不再单纯需要软件编码人才,更多的逐渐在强调业务理解能力、业务表达能力以及业务转化能力等复合型需求。?应用企业选人标准??业务管理知识与软件应用能力密不可分,先下业务部分锻炼3个月后开发软件与直接进入研发部门,谁的前途更大?例子1:软件选型问题福建晋江某全国名牌鞋服企业随着分销店的全国推广需求,迫切需要应用DRP分销资源计划系统,就投资了200多万元购买了在晋江中小企业实施应用良好的北京某软件公司的DRP系统。按照该软件公司的DRP产品在晋江中小企业的应用效果来说,这样的选择无可厚非。但是当遍布全国的20多个城市分销店全部上线试用的时候,晋江总部的服务器就彻底瘫痪了,无法支撑全国分销人员的在线使用。当时的解决方案是:(1)提升服务器性能,主要增加CPU和扩大内存;(2)拓宽网络出口带宽,从4兆光纤网络升级为10兆光纤出口。使用后有了一定程度的局部改善,但是在上线人员一多的时候还是继续瘫痪,不知道如何从根本上进行解决。???根本问题原因?例子1:根本原因所在软件原因:(1)其采用的是微软SQLserver2000数据库,在大并发用户群上负债均衡能力不如Oracle数据库;(2)该DRP系统主要是面对50用户下的中小鞋服企业,缺乏良好的三层架构软件设计,系统服务层支撑能力有限,在100多人以上用户同时上线后,数据库服务器对所有的用户无法及时响应,直到最后瘫痪。企业原因:主要是两个方面的IT服务缺失:(1)软件选型服务缺失。缺乏IT高端人才指导,企业更多关注到软件购买合同、价格、功能等方面的要素,而无法深入了解到软件性能问题;(2)软件测试服务缺失。在大用户量的情况下,该软件产品在上线前,本身就应该进行性能测试、压力测试和安全测试。例子1:可能的解决方案(1)采用服务器集群或刀片服务器,使得负载可以自动调配,但微软SQLserver2000本身不支持数据库服务器负债均衡,需要专门软件支撑;(2)租用电信或移动专线网络,把全国所有连锁店用专线互连,将Internet访问变为局域网访问,这种解决方案最简单,不需要改动源代码,但花费代价很高,不一定能够完全解决;(3)采用数据库镜像或者建立分区表,在总部建立中心数据库,在各连锁店建立分支数据库或按照不同中心对数据表进行分区设计,定时将所有的分支数据库同步到中心数据库当中,或者将连锁店分成几个部分数据库,定时部分数据库同步合并。这种解决方案技术力量要求很高,花费也较高,毕竟每一个连锁店最好有一个分支数据库服务器,但不需要改动代码;例子1:可能的解决方案(4)将原DRP系统中使用的微软SQLserver2000数据库升级到SQLserver2005数据库,提升DBMS数据库管理系统的自身性能,同时在配置时增加SQLserver2005数据库可同时访问的用户数量,这种升级对DRP系统有一定影响,但花费较小,可能DRP系统局部源代码需要变更;(5)将原微软SQlserver2000数据库直接变为Oralce9i或10g数据库系统,这种解决方案可以较大程度解决多用户并发问题,但源代码改动量很大,还需要重新花钱买Oracle数据库管理系统;(6)重新定制开发或者另选一套DRP产品,这是最彻底的治本方法,也是花费代价最高的一种方案。最终该鞋服企业选择的也是这种方案,重新投入了几百万元来搭建自己的DRP产品。例子2:系统维护问题福建泉州某区政府搭建电子政务平台(主要为政府网站和OA系统),通过招标程序由福建知名的N软件公司的负责建设。电子政务平台建设完成后,区信息中心人员对平台上的软件进行了功能测试,基本上达到了预期目的。但是系统运行了半年过后发现,保存在政府内部服务器上政府公文一旦上传,但尚未在OA中审核发表,也可以在外部终端通过Google中搜寻并检索到,并可保存到客户端PC当中,从而造成政府公文提前泄密。N公司声称是政府服务器硬件防火墙和服务器上操作系统配置不当造成的,与N公司提供的软件无关。???根本原因以及解决方案?例子2:根本原因所在原因:(1)未在软件中针对政府文件服务器划分访问控制;(2)软件安全性测试服务缺失。例子2:可能的解决方案(1)收紧服务器的存取控制权限,尽量使用windows2003操作系统及NTFS格式进行文件访问权限控制;(2)设置robots.txt文件,禁止Google索引你的网页;(3)利用goolge提供的黑客工具进行自动化安全性测试,例如:SiteDigger和Gooscan。参考文档:黑客技巧使用Google黑掉Windows服务器.txt安全攻破SQL服务器系统的十种方法.mht例子3:应用可行性论证问题厦门某制造公司想实现抱枕个性化定制服务,即为每一个个体客户提供单个抱枕定制,一方面由于每一件商品都是个性的,所以绝对不允许出错;另一方面定制后的产品价格必须在批量生产成本的三倍以内,否则成本太高,无法销售。若需要建设这样一个平台,必须提供哪些功能?这些功能之间需要考虑哪些要素?例子3:平台需求1、应用系统(1)个性化定制门户,包括小货车系统和电子支付系统;(2)基于WEB的个性化抱枕定制软件,具备较为逼真的3D效果;(3)制造车间生产管理系统。2、应用性能需求考虑:(1)个性化抱枕定制软件与制造车间生产管理系统之间的数据接口(单向?双向?)(2)如何保证生产制造过程中不出错?(3)如何保证单个生产成本在批量生产成本的三倍以内?例子3:可能的解决方案(1)必须实现将个性化抱枕定制软件中的图片转化为生产制造过程中所需要的尺寸数据以及客户订单编号信息。同时将生产完成后的数据自动导入到个性化定制门户中,与客户电子订单相匹配。(2)在每一道生产工序中,要考虑使用条码枪和货篮,将所有的定制件与同一条码捆绑,同篮取同篮放,参考DELL和麦德森等公司产业链,整个生产过程中,以货篮为单位进行数据打包传递,而不是传递单一部件,同时实现装篮和拆篮两种软件方法。(3)尽可能扩大中间标准件规格,最后一道工序或仅某一两道工序会应用到定制件,这样可大大降低成本。同时考虑采用拉式ERP系统,类Dell公司的ERP系统。(4)尽量采用货篮在实际生产线中先尝试走一遍,若无问题,再考虑软件研发事宜。软件测试的重要性三、软件研发人员过剩,软件测试人才不足,需求旺盛。软件测试人才不但需要是一个编码人才,同时还需要有良好的业务理解能力、代码分析能力、软件编程能力、软硬平台分析能力以及团队合作能力。一个好的软件测试人员需要3年以上的培养,而不是单纯的掌握一些软件自动化测试工具就行的,是一个长效发展性质的岗位。同时现阶段企业逐步从强调软件公司过渡到强调软件质量上来,更多的强调软件的性能,迫切需要大量的高端软件测试人才,目前软件测试人员工资普遍要高于软件研发人员,国外尤其重视。高端的软件测试、维护和性能调优人员是企业做大做强的核心关键人员之一,例如:银行、电信、游戏公司、大型龙头企业等的软件应用系统复杂多变,对高端IT运维人员需求旺盛。课程内容软件测试的重要性软件测试基本概念软件测试误区软件测试技术软件测试方法软件测试流程软件测试过程微软软件测试简介软件测试基本概念什么是软件测试软件测试的目的软件测试原则软件测试的重点软件测试质量软件测试度量软件的可测试性什么是软件测试广义的概念–指软件生存周期中所有的检查、评审和确认工作,其中包括了对分析、设计阶段,以及完成开发后维护阶段的各类文档、代码的审查和确认狭义概念–识别软件缺陷的过程,即实际结果与预期结果的不一致软件研发流程项目立项可行性研究需求分析概要
本文标题:第一章_软件测试概述
链接地址:https://www.777doc.com/doc-3250931 .html