




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章:软件测试概述软件缺陷定义:(1)软件未达到产品说明书中已经标明的功能;(2)软件出现了产品说明书中指明不会出现的错误;(3)软件未达到产品说明书中虽未指出但应当达到的目标; (4)软件功能超出了产品说明书中指明的范围;(5)软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。软件缺陷的特征: “看不到” 软件的特殊性决定了缺陷不易看到 “看到但是抓不到” 发现了缺陷,但不易找到问题发生的原因所在软件缺陷产生原因:(1) 软件产品说明书(需求)56%(不专业专业信息传递)(2) 设计27%(设计不规范)(3) 编写代码7%(4) 其他10%(软、硬件设备之间的配备问题)软件测试发展历程: 早期测试 1957年为了确信自己的产品 20世纪70年代Glenford Myers 软件测试艺术“测试是为发现错误而执行一个程序或系统的过程” 20世纪80年代早期软件质量、Bill Hetzel 软件测试完全指南“测试是以评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度量”20世纪90年代测试工具盛行 2002年Rick和Stefan系统的软件测试“测试是为了度量和提高被测软件的质量,对测试件进行工程设计、实施和维护的整个生命周期过程”今天的软件测试面临的挑战: 软件在国防现代化、社会信息化和国民经济信息化中的作用越来越重要,由此产生的测试任务越来越繁重 软件规模越来越大,功能越来越复杂,如何进行充分而有效的测试成为难题 面向对象的开发技术越来越普及,但是面向对象的测试技术却刚刚起步 对于分布式系统整体性能还不能进行很好的测试 对于实时系统来说,缺乏有效的测试手段 随着安全问题的日益突出,信息系统的安全性如何进行有效的测试与评估,成为世界性难题软件开发与软件测试的关系: 测试与开发各阶段的关系 项目规划阶段,需求分析阶段,详细设计和概要设计阶段,编码阶段,测试阶段(软件开发生命周期) 测试与开发的并行性软件测试的发展趋势: 测试工作将进一步前移。 软件架构师、开发工程师、QA(质量保证)人员、测试工程师将进行更好的融合。 测试职业将得到充分的尊重。 设置独立的软件测试部门将成为越来越多的软件公司的共识。 测试外包服务将快速增长。 软件质量保证(SQA): 测试是手段,质量保证是目的测试人员的目标是尽可能早的找出软件缺陷,并确保缺陷得以修复;质量保证人员的主要职责是创建和执行改进软件开发过程并防止软件缺陷发生的标准和方法。 质量管理体系 ISO9000与CMM能力成熟度模型 (Capability Maturity Model) CMMI 的全称为:Capability Maturity Model Integration,即能力成熟度模型集成。CMMI是CMM模型的最新版本。 软件测试从业人员职业素质: 具有探索精神 具有创造性 坚持不懈的精神 故障排除专家 判断准确 追求完美 沟通能力 良好的学习能力 宽广的知识面第二章:软件测试基础软件测试定义: 定义1:软件测试是在规定的条件下对程序进行操作,以发现错误,对软件质量进行评估 。 即软件测试是为了发现错误而执行程序的过程。 定义2:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例运行程序以及发现错误的过程,即执行测试步骤。 测试:所谓测试的含义,首先是一项活动,在这项活动中某个系统或组成的部分将在特定的条件下运行,结果将被观察和记录,并对系统或组成部分进行评价。测试活动有两种结果:找出缺陷和故障,或显示软件执行正确。测试是一个或多个测试用例的集合。 测试用例:所谓测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果;测试用例是执行测试的最小实体。 测试步骤:测试步骤详细规定了如何设置、执行、评估特定的测试用例。软件测试的基本问题: 软件生命周期:一个软件生命周期包括制定计划、需求分析定义、软件设计、程序编码、软件测试、软件运行、软件维护、软件停用等8个阶段。 软件测试的对象: 软件测试不等于程序测试。 程序测试+文档测试 软件测试贯串于软件定义和开发的整个过程。 软件开发过程中所产生的需求规格说明、概要设计规格说明、详细设计规格说明以及源程序都是软件测试的对象。 软件测试在软件生命周期中横跨两个阶段: 文档 第一个阶段:单元测试与集成测试阶段,即在每个模块编写出以后所做的必要测试。 开发人员(白盒测试) 第二个阶段:综合测试阶段,即在完成单元测试后进行的测试,如集成测试、系统测试、验收测试。 测试人员(黑盒测试) 软件测试涉及的关键问题包括四个方面: WWWH (1)测试由谁来执行。 Who (2)测试什么。 What (3)什么时候进行测试。 When (4)怎样进行测试。 How软件测试的目的: 根据Grenford.J.Myers的观点,软件测试的目的:(1)测试程序的执行过程,目的在于发现缺陷;(2)一个好的测试用例在于能发现至今尚未发现的缺陷;(3)一个成功的测试是发现了至今未发现的多个缺陷的测试;测试的目的:不仅仅是为了发现软件缺陷与错误,而且也是对软件质量进行度量与评估,以提高软件质量。 注:(1)测试是想以最少的时间和人力,系统地找出软件中潜在的各种缺陷,通过修正缺陷提高软件质量,回避软件发布后由于潜在缺陷造成的隐患所带来的商业风险;(2)测试的附带收获是,它能够证明软件的功能和性能是否与需求说明书相符合;(3)实施测试收集到的测试结果数据为可靠性分析提供了依据; (4)测试不能表明软件中不存在错误,它只能说明软件中存在错误。软件测试的原则:(1)应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭;(2)测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成;(3)程序员应当避免检查自己的程序;(4)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件;(5)充分注意测试中的集群现象;(6)严格执行测试计划,排除测试的随意性;(7)应当对每一个测试结果做全面检查;(8)妥善保存测试计划,测试用例,出错和最终分析报告,为维护提供方便。软件测试类型: 黑盒、白盒、功能、性能、安全性、稳定性、应用性软件测试分类: 按照开发阶段划分:单元测试集成测试系统测试确认测试验收测试完整的软件开发流程图1 完整的开发流程项目规划项目需求分析项目概要分析项目详细分析代码编写测试代码编写测试需求分析系统测试计划集成测试计划单元测试计划产品发布系统测试集成测试单元测试 按照测试实施组织划分: 开发方测试、第三方测试、用户测试 按照测试技术划分: 白盒测试、灰盒测试、黑盒测试黑盒测试和白盒测试: 若测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检查其中的功能错误,则这种测试方法称为黑盒测试(Black-box Testing)方法。 黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。它是一种从用户观点出发的测试,一般被用来确认软件功能的正确性和可操作性。 若测试规划基于产品的内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试(White-box Testing)方法。 白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。 、黑盒测试 黑盒测试的基本观点是:任何程序都可以看作是从输入定义域映射到输出值域的函数过程,被测程序被认为是一个打不开的黑盒子,黑盒中的内容(实现过程)完全不知道,只明确要做到什么。 黑盒测试主要根据规格说明书设计测试用例,并不涉及程序内部构造和内部特性,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例。 黑盒测试的特点:(1)黑盒测试与软件的具体实现过程无关,在软件实现的过程发生变化时,测试用例仍然可以使用。(2)黑盒测试用例的设计可以和软件实现同时进行,这样能够压缩总的开发时间。 黑盒测试是在程序接口进行测试,它只是检查程序功能是否按照规格说明书的规定正常使用。也被称为用户测试。 黑盒测试主要是为了发现以下几类错误: 是否有不正确或遗漏了的功能? 在接口上,输入能否正确地接受?能否输出正确的结果? 是否有数据结构错误或外部信息访问错误? 性能上是否能够满足要求? 是否有初始化或终止性错误? 黑盒测试的具体技术方法 : 等价类划分法 边界值分析法 因果图法 决策表法、白盒测试 白盒测试将被测程序看作一个打开的盒子,测试者能够看到被测源程序,可以分析被测程序的内部结构,此时测试的焦点集中在根据其内部结构设计测试用例。 白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或者说这种测试是“基于覆盖率的测试”。 通常的程序结构覆盖有:语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 路径覆盖 白盒测试需要完全了解程序结构和处理过程,它按照程序内部逻辑测试程序,检验程序中每条通路是否按预定要求正确工作。也被称为程序员测试。、黑盒测试法和白盒测试法的比较: 黑盒测试: 以用户的观点,从输入数据与输出数据的对应关系,即根据程序外部特性进行测试,而不考虑内部结构及工作情况。 黑盒测试技术注重于软件的信息域(范围),通过划分程序的输入和输出域来确定测试用例。 若外部特性本身存在问题或规格说明的规定有误,则应用黑盒测试方法是不能发现问题的。 白盒测试: 只根据程序的内部结构进行测试。 测试用例的设计要保证测试时程序的所有语句至少执行一次,而且要检查所有的逻辑条件。如果程序的结构本身有问题,比如说程序逻辑有错误或者有遗漏,那也是无法发现的。项目黑盒测试法白盒测试法规划方面功能的测试结构的测试优点方面能确保从用户的角度出发进行测试能对程序内部的特定部位进行覆盖测试缺点方面无法测试程序内部特定部位;当规格说明有误,则不能发现问题无法检查程序的外部特性;无法对未实现规格说明的程序内部欠缺部分进行测试应用范围等价类划分法边界分析法因果图决策表测试错误推测法语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,路径覆盖,循环覆盖,模块接口测试软件测试周期性: 软件测试的周期性是“测试-改错-再测试-再改错”这样一个循环过程,如下图所示。测试周期开发/ 改错改错测试周期改错串行方式开发者: .开发者:并行方式测试者:开发/ 改错开发/ 改错最终回归测试回归测试1测试周期1功能冻结代码冻结测试周期2软件测试停止的标准: 第一类标准:测试超过了预定时间,则停止测试。 第二类标准:执行了所有的测试用例,但并没有发现故障,则停止测试。 第三类标准:使用特定的测试方案作为判断测试停止的基础。 第四类标
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 胃癌精准靶向治疗新进展与临床实践
- 椎管内肿瘤术后管理
- 咽科病人的护理
- 二零二五年度美容院员工职业规划与发展合同
- 二零二五年度家政服务代理招聘服务协议书
- 二零二五年度厂房与智能安防设备租赁合作合同
- 二零二五年度农业工程项目合同台账编制规范
- 二零二五年度承诺赊销旅游产品销售合同
- 二零二五年度酒楼餐饮连锁扩张与股权激励合同
- 二零二五年度物流企业劳务派遣服务合同模板
- 2025年北京市中考招生考试数学真题试卷(真题+答案)
- 2025年放射工作人员放射防护培训考试题及答案
- 2024南阳农业职业学院辅导员招聘笔试真题
- 2024年发展对象培训结业考试真题
- 肺结节中医课件
- 医院安全生产包括哪些方面
- 小型灌区渠道管理办法
- 护理核心制度考试试卷(附答案)
- 汽车之夜活动方案
- 2025至2030中国熊胆粉行业市场发展分析及发展战略与投资前景预测报告
- 高血脂健康宣教
评论
0/150
提交评论