资源预览内容
第1页 / 共41页
第2页 / 共41页
第3页 / 共41页
第4页 / 共41页
第5页 / 共41页
第6页 / 共41页
第7页 / 共41页
第8页 / 共41页
第9页 / 共41页
第10页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件测试技术基础总结第一章 软件测试基本概念1.什么是软件2.软件的分类3.什么是Bug4.什么是软件测试5.测试环 境6.测试 用例1.什么是软件程序 文档软 件 测试软件测 试程序测 试 文档测 试硬件测 试2.软件的分类 按照功能划分系统软 件应用软件按照技术架构 划分单机版软件C/S结构软 件B/S结构软 件按照用户划分产品软件项目软件按照开发的规 模划分 3.什么是Bug定义:软件的Bug指的是软件中(包括程序和文档) 不符合用户需求的问题 。4.什么是软件测试标准定义:使用人工或自动手段,来运行或测试 某个系 统的过程。其目的在于检验 它是否满足规定 的需求或弄清预期结果与实际结 果之间的差 别。5.测试环境软件硬件网络测试环 境作为一名合格的软件测试工程师,不仅要熟悉软件的知识,也要了解 硬件和网络的相关知识。搭建测试环 境:1.真实(尽量模拟用户的真实使用环境)2.干净(测试环 境中尽量不要安装其他与被测试软 件无关的软件 )3.无毒(测试环 境没有中毒)4.独立(测试环 境和开发环境独立)6.测试用例输入输出测试 环境测试用 例“输入”包括测试数据和操作步骤;“输出”指的是期望结果;“ 测试环境”指的就是系统环境设置。小结: 什么是软件测试?程序 文档软件 软件测试是为了尽快 尽早地发现在软件产 品中所存在的各种软 件缺陷而展开的贯穿 整个软件开发生命周 期、对软件产品(包括 阶段性产品)进行验证 和确认的活动过程。软 件?测 试?第二章 软件测试分类1.黑盒测试和白盒测试2.静态测试和动态测试3.单元测试、集成测试、系统测试和验收测试 3.1单元测试 3.2集成测试 3.3系统测试和验收测试 4.功能测试和性能测试 4.1功能测试 4.2性能测试 5.回归测试、冒烟测试、随机测试6.不同测试分类之间的关系1.黑盒测试和白盒测试 黑盒测试(black-box testing),指的是把软件看作 是一个黑盒子,我们不去关心盒子里面的结构是什么 样子的,只关心软件的输入数据和输出结果。黑盒测 试既包括功能测试,也包括性能测试。 白盒测试(white-box testing),指的是把盒子盖打 开,去研究里面的源代码和程序结构 。2.静态测试和动态测试 静态测试(static testing),是指不实际运行被测软件,而只是静态 地检查程序代码、界面或文档中可能存在的错误的过程。 对于代码测试,主要测试代码是否符合相应的标准和规范。 对于界面测试,主要测试软件的实际界面与需求中的说明是否相 符。 对于文档测试,主要测试用户手册和需求说明是否真正符合用户的 实际需求。 动态测试(dynamic testing),是指实际运行被测程序,输入相应 的测试数据,检查实际输出结果和预期结果是否相符的过程,所以我 们判断一个测试属于动态测试还是静态测试,唯一的标准就是看到是 否运行程序。3.单元测试、集成测试、系统测试和验收测试 它们都是按照软件测试的阶段来划分的。3.1.单元测试(unit testing)是指对软件中的最小可测试单元进行检查和验证。 单元就是人为规定的最小的被测功能模块。 单元测试的依据主要有两个,一是源程序本身,包括代码和注释;还有一个就是项目 的详细设计文档。 通过标准有语句覆盖率和分支覆盖率。3.2.集成测试(integrating testing)是单元测试的下一个阶段,是指将通过测试的单 元模块组成系统或子系统,再进行测试,重点测试不同模块的接口部分。3.3.系统测试(system testing)指的是将整个软件系统看做1个整体进行测试,包括 对功能、性能,以及软件所运行的软硬件环境进行测试。 验收测试(acceptance testing)指的是在系统测试的后期,以用户测试为主,或有 测试人员等质量保障人员共同参与的测试,它也是软件正式交给用户使用的最后一道工 序。单元、集成、系统、验收测试的比较测试测试 名称 测试对测试对 象 测试测试 依据 人 员员 测试测试 方法 时间时间 比较较单元测试最小模块, 如函数,类 等详细设 计白盒测试工 程师或开发 人员主要采用白 盒测试 1集成测试模块间的接 口,如参数 传递概要设计 白盒测试工 程师或开发 人员黑盒和白盒 测试相结 合2系统测试整个系统, 包括软硬件需求规格 说明书黑盒测试工 程师黑盒测试 4验收测试整个系统, 包括软硬件需求规格 说明书, 验收标准主要为用户 ,还可能有 测试工程 师等黑盒测试 24.功能测试和性能测试4.1.功能测试 功能测试(function testing),是黑盒测试的一方面 ,它检查实际软件的功能是否符合用户的需求。 功能测试又细分为很多种:逻辑功能测试、界面测试、 易用性测试、安装测试、兼容性测试等。4.2.性能测试 性能测试(performance testing)是软件测试的高端领域,性能测试一般 要用到自动化测试工具。软件的性能包括很多方面,主要有时间性能和空间性 能两种。 时间性能:主要是指软件的一个具体事务的响应时间(respond time)。 空间性能:主要是指软件运行时所消耗的系统资源。 软件性能测试分为一般性能测试、稳定性测试、负载测试和压力测试。 1.一般性能测试指的是让被测系统在正常的软硬件环境下运行,不向其施加 任何压力的性能测试。 2.稳定性测试,也叫可靠性测试,是指连续运行被测系统,检查系统运行时 的稳定程度。 3.负载测试,是性能测试的一种,通常是指让被测系统在其能忍受的压力的 极限范围之内连续运行,来测试系统的稳定性。 4.压力测试,是性能测试的一种,通常是指持续不断地给被测系统增加压力 ,直到将被测系统压垮为止,用来测试系统所能承受的最大压力。5.回归测试、冒烟测试、随机测试 回归测试(regression testing),是指对软件的 新的版本测试时,重复执行上一个版本测试时的用例 冒烟测试(smoke testing),是指在对一个新版 本进行大规模的测试之前,先验证一下软件的基本功 能是否实现,是否具备可测性。 随机测试(random testing),是指测试中所有的 输入数据都是随机生成的,其目的是模拟用户的真实 操作,并发现一些边缘性的错误。6.不同测试分类之间的关系软件测试按阶段划分单元测试集成测试系统测试验收测试按是否运行 程序划分静态测试动态测试按是否查看 源代码划分白盒测试黑盒测试功能测试逻辑 功能 测试界面测试易用性测试安装测试兼容性测试性能测试一般性能测 试稳定性测 试负载测试压力测试其他回归测试冒烟测试随机测试第三章 软件测试的常识1.公司里测试部门的组织结构 2.软件测试工程师所需具备的素质 2.1测试人员的基本从业素质 2.2如何成为一名优秀的测试工程师 3.软件测试和软件质量的关系 4.软件测试和 SQA 的关系 4.1.什么是 SQA 4.2.什么是 CMM 4.3.SQA 与测试 5.软件测试的一些基本原则 5.1.Zero Bug 与 Good Enough 5.2.不要试图穷举测试 5.3.开发人员不能既是运动员又是裁判员 5.4.软件测试要尽早执行 5.5.软件测试应该追溯需求 5.6.缺陷的二八定理 5.7.缺陷具有免疫性1.公司测试部门的组织结构小公司的 组织结 构技术总监项目经理开发工程 师测试工程 师项目经理开发工程 师测试工程 师大公司组 织结 构测试经 理项目经理开发工程 师项目经理开发工程 师测试 工程 师专业外包公 司组织结 构项目经理测试组长测试工程师测试组长测试工程师2.软件测试工程师所需具备的素质2.1测试人员的基本从业素质 “三心二意一能力” “三心”指细心、耐心和信心;“二意”指服务意识、团队合作意识 ;“一能力”指沟通能力。 细心:是对测试人员的基本要求。 耐心:要学会乐在其中。 信心:信心百倍地去面对难度较大的测试工作,并在实践中学习和 提高。 服务意识:现在的软件更多是卖一种服务,一种解决方案。 团队合作意识:项目组不提倡个人英雄主义,更好的发挥就必须树 立团队合作的意识。 沟通能力:测试是连接开发和用户的接口。需要能够与涉及测试的 所有人进行很好的沟通。 黑盒测试工程师要会搭建测试环境,掌握常用的黑盒测试技术; 白盒测试工程师还要求具备一定的读代码能力。2.2.如何成为一名优秀的测试工程师名师指点基础知识测试 技术项目经验测试高手自信1.不断学习充电 2.阅读原版书籍 3.阅读缺陷管理系统中的缺陷报告 4.阅读高手写的测试用例 5.学习产品相关的业务知识3.3.软件测试和软件质量的关系 计算机产品质量检验员,其实就是软件测试工程师 软件的高质量是设计出来的,而不是靠测试修补出 来的。 用户使用软件时出现问题,大家首先想到的一般都 是测试人员没有尽到责任,没有把好关。遇到这种问 题,测试人员一定要分析是由于自己工作疏忽带来的 ,还是软件设计本身的缺陷,如果是后者,就一定要 据理力争。 分担测试人员压力的角色- QA3.4.软件测试和 SQA 的关系4.1.什么是 SQA SQA(Software Quality Assurance,软件质量保障)的完整定 义为:为确保软件开发过程和结果符合预期要求而建立的一系列规程 ,以及依照规程和计划采取的一系列活动及其结果评价。而做软件质 量保障的具体工作人,我们称其为 QA 。SQA 是独立于项目组之外的第三方监督机构。项目组SQA老板项目经理系统架构 师程序员测试员4.2.什么是 CMM CMM 就是 SQA 用来监督项目的一个标准质量模 型。 CMM,全称为 Capability Maturity Model,即“ 能力成熟度模型”,是由卡梅隆大学于20世纪80年代 制定的 ,CMM公分为5级。 “一流公司做标准(Standard),二流公司做品牌 (Brand Name),三流公司做产品(Product)” 。初始级可重复级已定义级已管理级优化级4.3.SQA与测试测试是发现问题(Detection),SQA是在预防问题 (Prevention)。测试其实有一些亡羊补牢的意味, 测试的时候,Bug已经实际存在了;而SQA则需要将 Bug扼杀在萌芽之前。 理论上,测试作为软件生命周期的一部分,其过程 也要受到SQA监督。 在国内,许多名义上的SQA做着测试的工作;许多 测试人员做着部分SQA的工作,职业定位比较模糊。5.软件测试的一些基本原则5.1.Zero Bug 与 Good Enough Zero Bug ,指的是软件没有任何Bug, Good Enough,指的是只要软件达到一定的质量要求,就可以停止 测试了。 Good-Enough原则就是一种权衡投入/产品比的原则 制定最低测试通过标准和测试内容,然后具体问题具体分析。5.2.不要试图穷举测试 穷举测试指的是测试时考虑所有可能的输入值。穷举测试不好做, 需要在测试用例上多下功夫,设计出优秀的测试用例,用最少的测试 用例达到最大的覆盖率。5.3.开发人员不能既是运动员又是裁判员 测试应该由独立的第三方机构来完成。5.4.软件测试要尽早执行5.5.软件测试应该追溯需求原始需求正确的规 格说明正确的设 计正确编码正确功能原始要求错误 的规格 说明错误 的设计 对错 误说 明的设计错误编码 对错误设计 的编 码对错误说 明的编码可改正的错误 不可改正 的错误 潜伏的错误不完善的软 件产品5.6.缺陷的二八定理 软件80
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号