您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第1节 软件测试概述1
软件测试技术SoftwareTestingTechnology主讲教师:孙军梅博士副教授jmei_sun@yahoo.com.cn课程主要内容第1部分软件测试概述(What)第2部分软件测试基础(概念、原理、方法、步骤、工具)(How)第3部分软件测试实践(Application)课程考核平时成绩:10%(包括出勤情况,课堂表现,书面作业)实验成绩:30%期末成绩:60%国内软件测试专业网站软件测试网测试时代室验室软件工程组织一起测试网技术社区中国软件测试在线国外软件测试专业网站网站教学参考书RonPatton著,《软件测试》SoftwareTestingSecondEdition(英文版第2版)(美),机械工业出版社,2006赵斌,软件测试技术经典教程,科学出版社,2007古乐等编著,软件测试案例与实践教程,清华大学出版社LoadRunner教程QuickTest使用指南QualityCenter教程第1部分软件测试概述教学目标了解为什么要学这门课?----why掌握测试是做什么的?-------what(1)了解软件测试的发展现状和测试人员的职业规划-------what(2)软件缺陷与软件故障案例跨世纪“千年虫”问题设计考虑不周全美国航天局火星登陆事故系统测试衔接问题爱国者导弹防御系统炸死自家人系统时钟误差积累迪斯尼的狮子王,1994~1995兼容性问题冲击波计算机病毒Windows2000安全漏洞……为什么要做软件测试?软件失败时,也许仅仅是给我们带来了不便,也可能是灾难性的。我们需要软件测试,来保障软件质量。什么是软件测试?有人说,软件测试就是在寻找软件中的Bug。这种说法对吗?什么是Bug(缺陷)?软件的Bug就是指程序运行时出现的故障。这种说法对吗?软件中(包括程序与文档)不符合用户需求的问题。(这是我们判断一个软件问题是否是Bug的唯一标准)。什么是软件缺陷(Bug)?软件缺陷的定义软件未达到产品说明书中已经标明的功能软件出现了产品说明书中指明不会出现的错误软件未达到产品说明书中虽未指出但应当达到的目标软件功能超出了产品说明书中指明的范围软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良Bug的3种类型完全没有实现的功能。基本实现了用户需要的功能,但是运行时会出现一些功能或性能上的问题。实现了用户不需要的功能,即多余的功能。什么是软件测试?从软件质量保证的角度看软件测试是一种重要的软件质量保证活动测试过程中的活动包括分析软件和运行软件也有人认为软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。什么是软件测试?1979年,MYERS在《软件测试艺术》(Theartofsoftwaretesting)书中给出定义:软件测试是为了发现软件缺陷而执行程序或系统的过程。测试文档属于软件测试,但是它不一定需要执行程序。我按照用户的需求测试了实际的系统,却一个缺陷也没有发现,我所做的测试工作有意义吗?当然有意义,因为我至少证明了该系统基本符合用户的需求。什么是软件测试?1983年IEEE对软件测试的定义:使用人工或自动手段运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。明确提出软件测试以检验是否满足需求为目标。什么是软件测试?软件测试是贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其目的是尽快尽早地发现在软件产品中所存在的各种问题——与用户需求、预先定义的不一致性。软件测试的依据需求规格说明书;相关的设计说明(概要设计,详细设计等);已经基本成型的UI(可以有针对性地补充一些用例)。代码软件测试的目的测试是软件开发重要环节之一软件测试在软件生命周期中占据重要的地位;软件测试是软件质量保证的重要手段之一需要弄清楚的几个概念精确和准确确认和验证确认是保证软件符合产品说明书的过程;验证是保证软件满足用户要求的过程。质量和可靠性测试和质量保证软件测试的目标是尽可能地找出软件缺陷,并确保缺陷得以修复;软件质量保证的职责是创建和执行改进软件开发过程并防止软件缺陷发生的标准和方法。软件开发中的人员角色软件测试和SQA的关系SQA(SoftwareQualityAssurance,软件质量保障):为确保软件开发过程和结果符合预期要求而建立的一系列规程,以及依照规程和计划采取的一系列活动及其结果评价。做软件质量保障的具体工作人——QA软件测试和SQA的关系SQA的工作:通过监控软件开发过程来保证产品质量。保证开发出来的软件和软件开发过程符合相应标准与规程(ISO9000或CMM)保证软件产品、软件过程中存在的不符合问题得到处理,必要时将问题反映给高级管理者。确保项目组制定的计划、标准和规程适合项目组需要,同时满足评审和审计需要。软件测试和SQA的关系CMM(CapabilityMaturityModel,能力成熟度模型)是SQA用来监督项目的一个标准质量模型。1级初始的2级可重复的项目级3级定义的具备了组织化思想,不仅仅是针对具体项目。4级可管理的组织过程处于统计的控制之下。5级不断优化的公司里测试部门的组织结构技术总监项目经理项目经理开发工程师测试工程师开发工程师测试工程师小公司组织结构公司里测试部门的组织结构测试经理测试工程师项目经理开发工程师大公司组织结构项目经理开发工程师项目部测试部公司里测试部门的组织结构专业外包公司组织结构项目经理测试组长测试组长测试工程师测试工程师软件测试发展历程20世纪50-60年代软件测试才开始与调试区别开来,成为一种发现软件缺陷的活动70年代以后软件技术的成熟和完善使得软件测试的规模和复杂度加大,软件测试也逐渐形成了一套完整的体系,逐渐走向规范化。20世纪80年代早期质量的号角才开始吹响20世纪90年代早期测试工具终于盛行起来软件测试的现状(国外)据统计,在欧美的软件项目中,软件测试的工作量占到项目总工作量的40%,软件测试的费用要占到项目总经费的30%,在微软,开发人员和测试人员的比例为1:1.5,BORLAND公司测试人员与开发人员的比例大概为1:1,比尔盖茨曾说:人们都说我们是世界上最大软件开发公司,其实我们更是世界上最大的软件测试公司.微软公司两个产品中开发人员和测试人员比例exchange2000windows2000项目经理25约250开发人员140约1700测试人员350约3200测试与开发人员比例2.51.9软件测试现状(国内)与一些发达国家相比,国内测试工作还存在一定的差距。目前主要有3种形式:第1种:为欧美和日韩的知名软件公司提供测试外包和人力外包服务,代表公司有博彦科技(客户为微软、惠普、NEC等),文思创新(客户为微软、IBM),信必优等。这类公司属于专业化的测试公司,对员工的外语水平要求较高。第2种:国内大型IT公司(如华为、亿阳)提供软件测试外包和人力外包服务,但因现在国内大多数公司都有自己的测试部门,故这种形式在逐渐减少。第3种,也是最多的一种形式,就是国内软件公司下设软件测试部或质量保障部为公司自身开发的项目和产品进行测试和质量保障,其对测试人员的从业经验比较看重。软件测试工程师待遇、职业发展据统计,软件测试工程师的缺口为20万人左右。软件测试的原则软件测试的原则软件测试是有风险的行为我们的目标是找到最优的测试量,使测试不多不少。测试无法显示潜伏的软件缺陷你可以报告软件缺陷存在,却不能报告软件缺陷不存在。并非所有软件缺陷都要修复软件测试人员的素质要求软件测试人员的素质要求如何成为一名优秀的测试工程师练好内功-------基础熟悉各种武术招式-------各种测试技术不断学习充电阅读原版书籍阅读缺陷管理系统中的缺陷报告阅读高手写的测试用例学习产品相关的业务知识提问:软件运行时产生的错误是Bug,这句话对吗?“软件测试能够保障软件的质量”,这句话对吗?软件测试和软件质量之间是什么关系?哪个阶段引入的缺陷最多,修复成本又最底?作业第1章课后小测验P12第3章课后小测验P31第21章课后小测验P233第22章课后小测验P240(除第2题)
本文标题:第1节 软件测试概述1
链接地址:https://www.777doc.com/doc-3398007 .html