版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章软件测试背景高等学校计算机类系列教材软件测试实用教程——方法与实践01引子:一个中国黑客高手找茬是指吹毛求疵地进行挑剔和批评,鸡蛋里挑骨头算不算找茬?读者肯定会说,“当然算,鸡蛋里挑骨头,这都不算找茬的话,就没有啥事情可称为找茬啦”,但是,这种“找茬”充其量是小儿科水平,真正的骨灰级“找茬”是要让别人哭着喊着求你来找茬,找完之后还要特虔诚地对你说声“谢谢”,并额外付给你一大笔酬金。哇哦,还有这么好的事情?先来看看中国学生黑客刘蝶雨的故事吧。引子:一个中国黑客高手软件测试就是软件行业的这种“找茬”职业,它位居2007年IT热门职业的榜首,与3G人才、动漫人才并列目前国家重点培养对象的前3甲,软件测试工程师认证成为IT认证新贵。您也想如刘蝶雨一样成为一名测试黑客吗?那么,还犹豫什么,现在就开始测试之旅吧。引子:一个中国黑客高手02软件测试的发展历程及现状软件测试的发展历程20世纪70年代以前是软件测试发展第一阶段,由于软件规模很小,软件开发过程中软件测试的含义较狭窄,测试等同于“调试”,目的是修复软件中已发现的缺陷,常由开发人员自行完成,该阶段对测试的投入少,且一般需等软件编写完成时才进行简单的测试。直至1957年,软件测试才开始与调试区别开来。但人们潜意识里认为软件测试的目的是“使自己确信产品能工作”,并形成一种“为了让我们看到产品在工作,就得将测试工作往后推一点”的错误认识。因此,测试活动始终相对滞后于开发活动。随着软件规模的日益扩大和软件复杂度的不断提升,这种模式已无法适应软件行业发展的需要。1.第1阶段:初始阶段软件测试的发展历程进入20世纪70年代,软件工程开始受到广泛关注,人们开始针对软件测试方法和过程展开探索,并产生一些有效的测试方法,初步建立软件测试基础理论,形成了分别以BillHetzel和GlenfordJMyers为代表的两大思想流派:(1)BillHetzel,代表著作TheCompleteGuidetoSofwareTesting,提出软件测试的第一类方法:软件测试的目的是验证软件是工作的,即软件功能是按预先设计执行的,以正向思维逐个验证被测软件系统所有功能点的正确性。第一类方法是主流和行业标准,以需求和设计为本,有利于界定测试工作的范畴,便于部署测试重点。2.第2阶段:定义阶段软件测试的发展历程(2)GlenfordJMyers,代表著作TheArtofSofwwareTesting,提出软件测试的第二类方法:软件测试的目的是证伪,即测试就是验证软件是“不工作的”,以逆向思维发现被测软件系统中的缺陷。第二类方法更强调测试人员发挥主观能动性,用逆向思维方式思考开发人员理解的误区、不良的习惯、程序代码边界等,试图破坏系统,有助于发现更多软件系统中的缺陷。该阶段最重要的里程碑事件包括:①1972年,BillHetzel博士在美国北卡罗来纳大学组织举行了历史上第一次以软件测试为主题的正式学术会议②1979年,GlenfordJMyers博士出版了软件测试领域第一本最重要的专著TheAntofSoftwareTesting。2.第2阶段:定义阶段软件测试的发展历程20世纪80年代初,软件快速趋向大型化和高复杂度,软件质量越来越重要。该阶段出现了软件测试行业标准(IEEE/ANSI)和ISO国际标准。该阶段最重要的里程碑事件包括:(1)1981年,BillHetzel首次在大学中开设SruchuredSofiwareTesting公共课,标志着软件测试走下神坛,成为更多IT技术人员需要掌握的核心技术;(2)1988年,DavidGelperin和BillHetzel在CommunicationsofACM上发表论文TheGrowhofSoftwareTesting,首次介绍系统化的软件测试和评估流程;(3)开始出现QA(质量保证)和SQA(软件质量保证)部门。3集成阶段软件测试的发展历程进入20世纪90年代,软件测试进入全面发展时期。一方面软件测试工具开始盛行,针对单元测试、系统测试等不同阶段的各种测试工具逐渐在多种软件测试活动中使用,软件测试工具厂商逐渐崛起。另一方面,软件测试技术研究取得较大的突破,形成多种测试过程模型,如:(1)Gelper博士提出的测试支持模型(TestingSupportModel,TSM),用于评估测试小组所处环境对于测试人员的支持程度;(2)Burnstein博士提出的测试成熟度模型(TestingManturityModel,TMM),依据软件能力成熟度模型(CapabilityMaturityModel,CMM)框架提出测试的5个不同级别。4.第4阶段:管理、测量和最佳化阶段1.国外现状在软件业发达国家(如美国),软件测试已发展得相当成熟,并成为一个独立的产业,主要体现在如下方面:(1)软件测试在公司中的地位非常重要。公司内部软件测试人员与开发人员的比例一般高于1:1,必要时会达到1.5:1的比例。软件测试的现状(2)软件测试的理论研究蓬勃发展。国际上每年都举办各种有关软件测试的学术年会,涌现出大量相关研究论文,并以美国卡耐基·梅隆大学的软件工程研究所最为著名。(3)软件测试市场繁荣。针对软件测试各阶段的自动化测试需求,不少专业公司致力于开发软件测试标准和自动化测试工具,并形成较大的产业,如HP的QTP和LR工具、IBM的Rational系列工具,也有不少专业人士提供了大量开源测试工具,如BugFree、BugZilla、JMeter等。2.国内现状中国的软件测试技术研究起步于20世纪80年代,随软件工程的研究而逐步发展起来,因起步较晚,导致相比欧美发达国家仍存在很大差距。进入20世纪90年代以后,随着国内经济持续快速增长,软件行业得到快速发展,国家大大提高了对软件产业的重视程度,也带动软件测试领域朝着正确的方向发展。软件测试的现状目前国内测试行业的现状主要体现在如下方面:(1)对软件测试的认识和重视程度在不断提高。因企业承接的项目规模偏小,对测试资金投入估计不足;且企业为争夺项目,承接项目时承诺的开发时间很紧,导致测试时间不够。(2)对软件产品化测试的技术研究从手动向自动化方式转变。国内软件企业规模偏小,往往通过关系得到企业订单,缺乏对企业的长远规划,对产品质量要求不严,对测试不肯投资,导致产品得不到严格测试就交付客户使用。(3)软件测试人员需求大,人员素质不断提高。从软件测试网连续5年来的测试从业人员调查报告可以看出,软件测试人员多为职场新手,很多对测试一无所知的人在从事基础的测试工作,无法保证测试工作的质量。(4)测试服务体系初步形成规模。随着用户对软件质量的要求越来越高,信息系统验收必须通过第三方测试机构的严格测试进行判定。软件测试的现状外包软件测试是指软件企业将软件项目中的全部或部分测试工作交给提供软件外包测试服务的公司(简称外包公司),由这些公司来为软件进行专门的测试,在技术和管理上提高软件测试的有效性,并使软件企业可以更好地专注于核心竞争力业务,降低软件项目成本。从为软件公司提供外包测试服务的业务模式看,外包测试主要存在现场测试、公司内部测试、设立联合研发中心3种模式。(1)现场测试模式(On-Site)即人员外派模式,外包公司将自己的测试人员派到客户现场提供包括测试计划制订、测试用例编写、测试脚本开发、测试流程优化等整个过程在内的测试技术服务,可派整个测试团队独立测试,也可将测试技术员分散在客户测试团队。外包测试的现状文思创新、博彦科技等是国内较为知名的提供外包测试服务的企业,这类公司主要为欧美和日韩的知名软件公司(如Microsoft、HP、IBM等)以及国内大型IT公司(如华为等)提供测试外包和人力外包服务。这类企业对员工的外语水平、综合素质和专业素质要求较高。(2)内部测试模式(In-House)内部测试模式又分为:完全离岸外包模式(OffShore)、现场增援与离岸结合模式(OnSitetOffShore),其中,前者是指承接客户的软件测试任务后,在外包公司内部进行软件测试工作,按照约定提交软件测试工件或者软件测试报告,服务费用按软件测试外包的工作量收费,该模式适用于外包项目较成熟、定义明确的情况;后者则指部分人员需外派到客户处进行现场测试,其他人员留在外包公司内部做测试。一些本地化产品的测试多采用这种模式。外包测试的现状(3)设立联合研发中心模式该模式下,外包公司与客户设立联合研发中心和测试实验室,使外包公司与客户关系更加紧密,形成在供应商和客户关系基础之上的战略合作伙伴关系。这种模式多被大公司所采用,如IBM、神州数码等,该模式也是测试外包公司的发展方向。外包软件测试行业的前景非常看好,近年来,我国软件外包产业年均增长率为36.5%,处于快速发展阶段,软件外包测试的兴起意味着更多机会,通过提供软件测试服务,国内软件本地化公司可扩展服务业务范围,不断扩大发展规模。外包测试的现状03软件测试的研究热点软件测试的研究热点当前软件测试的研究热点主要体现在4个方面。(1)针对软件特点而展开的实用软件测试技术和方法的研究随着当前软件应用行业的日益广泛,针对不同应用的软件(如Web应用、嵌入式系统、游戏软件等)具有各自的特点,对应也有特殊的测试重点和测试方法。Web应用程序的特殊性主要体现在:①整体结构为多层结构,表示层、业务逻辑层、数据层处于不同系统平台;②Web应用程序多由典型实体构成,如HTML、CGI、JSP、XML等;③从运行机制上看具有分布式、并发、动态、实时交互等特征;④综合使用多种编程技术,如CGI、PHP、ASP、JSP、数据库等,导致系统实现复杂;⑤程序运行性能与环境和负载具有复杂的关系,如客户端浏览器缓存的设置、网络情况、服务器配置、用户访问方式、用户分布特性等,均影响到Web应用程序的性能。软件测试的研究热点(2)针对新的软件开发技术展开的软件测试技术研究20世纪60、70年代因大型软件系统开发引起的软件危机促成了Yourdon和DeMarco的结构化分析与结构化设计的软件工程方法的盛行,针对这种开发过程,对应的基本测试方法有黑盒测试和白盒测试方法,并分单元测试、集成测试和系统测试3个不同的阶段展开测试活动。随着软件复杂度和规模的不断提高,传统的从需求分析→设计→实现→测试的开发模式将导致大量重复劳动,只有引入软件复用机制才能提高软件生产效率并掌控软件产品的质量,20世纪80年代出现了面向对象方法(Object-orientedMethod,OOM),用对象作为描述客观世界的基本单元,通过类的实例化、继承和多态的特性实现复用。在面向对象开发方式下,测试也发生了变化,对应有面向对象分析的测试、面向对象设计的测试及面向对象编码的测试,特别地,继承导致的父子关系、多态导致的对象的不确定性和对象所具有的状态性质等,都是面向过程的开发中所没有的,对应需找到新的测试方法。软件测试的研究热点(3)软件自动化测试技术的研究自动化测试是软件测试领域一个长期研究的方向,人们期望最大限度地通过自动化测试提高测试效率,支持各阶段的自动化测试,内容包括:①如何通过读取源代码或需求文档,自动生成测试用例;②如何通过读取和分析源代码,自动计算相关度量指标,从而对源代码的质量进行测量;③如何自动选择测试用例包,自动执行回归测试;④如何针对特定应用软件进行自动化测试;⑤自动化测试脚本技术研究等。软件测试的研究热点(4)软件可信性研究互联网的普及和发展为信息资源的广泛共享和利用提供了可能,但也导致安全性、可靠性、可用性等问题日益凸显,信息系统常无法以人们所信任的方式工作,并直接或间接对用户和社会造成损害。ISO/EC15408标准指出:一个可信的组件、操作或过程的行为,在任意操作条件下是可预测的,并能很好地抵抗应用软件、病毒及一定物理干扰造成的破坏。软件可信性是软件质量的一种特殊表现形式,重点关注使用层面的综合化质量属性及保障。人们从软件可信性度量与建模、可信软件构造与验证、可信软件演化与维护等方面展开了多方面研究。在可信的概念和结构研究方面,Avizienis等人提出可信安全计算的基本概念和分类方法;David等人对大规模互联网服务的体系结构与可信问题进行了深入研究。目前关于软件可信性的度量研究主要集中在软件的可靠性度量和安全性评估。软件测试的研究热点在可信软件构造与验证方面,可信软件构造主要借助已有软件工程的方法,面对开放的网络环境,将服务计算与工程作为一种重要的研究途径。在服务组合研究中,采用工作流作为典型构造方法,采用基于服务间依赖关系的软件构造方式,以提高软件组件的复用能力、灵活性和可信性,较少涉及对网络化软件的可扩展性和动态演化性的研究。对可信软件的验证,多采用基于概率统计、模糊数学和主观逻辑及证据理论的可信模型等工具,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川绵阳市河湖保护中心招聘2人考试参考试题及答案解析
- 26年老年护理六心服务课件
- 2026年甘肃省酒泉市肃北蒙古族自治县老年公寓招聘考试参考试题及答案解析
- 2026一汽奔腾春季校园招聘考试参考题库及答案解析
- 电子制造业精益生产实施方案
- 2026福建三明市永安市中小学公费师范毕业生专项招聘29人考试参考题库及答案解析
- 2026浙江宁波市镇海区档案馆编外人员招聘考试参考试题及答案解析
- 2026广西北海市农业技术服务中心招录公益性岗位人员1人考试参考题库及答案解析
- 2026安徽合肥市人力资源服务有限公司派驻至合肥机场国际服务中心运营管理人员招聘1人(第二次)考试备考题库及答案解析
- 2026安徽合肥市人力资源服务有限公司派驻至合肥机场国际服务中心运营管理人员招聘1人(第二次)考试参考试题及答案解析
- 雨课堂学堂在线学堂云《海军常见病的人体结构基础与防治(中国人民解放军海军军医)》单元测试考核答案
- 中烟国际老挝制造有限公司招聘笔试题库2026
- 2025年非遗湘绣五年趋势:博物馆文创与品牌建设报告
- 2025年河南豫能控股股份有限公司及所管企业第二批社会招聘18人笔试参考题库附带答案详解(3卷)
- 2025“才聚齐鲁成就未来”山东文旅云智能科技有限公司招聘2人笔试历年参考题库附带答案详解
- 拍卖车位协议书范本
- 按揭房屋赠予协议书
- 子痫应急预案应急演练脚本
- 肺小结节科普讲座课件
- 武体院体育管理学课件11社会体育管理
- 软件系统集成联调报告模板
评论
0/150
提交评论