《测试知识点梳理.pptx》由会员分享,可在线阅读,更多相关《测试知识点梳理.pptx(56页珍藏版)》请在第壹文秘上搜索。
1、7组测试知识点梳理目 录01测试基础知识点02TestLink03MantisBT测试基础知识点第一章 软件工程要点第二章 软件测试基础第三章 基于生命周期的软件测试第四章 软件测试分类及分级第五章 软件缺陷管理第六章 软件测试过程及其管理第七章 静态测试第八章 动态测试一.软件工程要点1.软件的定义及分类:(1)概念:软件(英语:software)是一系列按照特定顺序组织的电脑数据和指示的集合,是电脑中的非有形部分。软件并不一定只包括可以在计算机上运行的计算机程序,有些定义中,与计算机程序相关的文档,一般也被认为是软件的一部分。简单的说软件就是程序加文档的集合体。(2)分类: 一般来说,计算
2、机软件划分为系统软件、应用软件和介于这两者之间的中间件。2.软件的危机:(1)背景:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列问题。(2)现象:成本与进度、用户满意度、质量、可维护性、文档支持、与时俱进。成本与进度 对软件开发的成本和进度估计不准用户满意度 用户对“已完成”的系统软件不满意质量 缺少完善的质量评审体系和科学的软件测试规程可维护性 软件难以维护,基本无法重用文档支持 缺乏必要的文档或文档资料不合格,给开发和维护都带来困难与时俱进 软件开发的速度跟不上硬件的发展和计算机应用和趋势(3)解决途径:组织管理工程项目管理方法技术措施软件开发
3、技术、方法与软件工具具体办法:对计算机软件有一个正确的认识(软件程序)充分认识到软件开发不是某种个体劳动的神秘技巧,而应 是一种组织良好、管理严密、各类人员协同配合、共同 完成的工程项目推广使用在实践中总结出来的开发软件成功技术和方法开发和使用更好的软件工具3.软件工程:(1)方法:将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件(2)工具:软件工具为工程方法提供了自动或半自动的软件支撑环境(3)过程:软件工程方法和工具综合起来,以达到合理、及时第进行计算机软件开发的目的。方法工具过程软件工程4.软件生命周期计划、分析、设计、编码、测试、运行和维护5.软件
4、生命周期模型:(1)瀑布模型:1970年温斯顿罗伊斯(Winston Royce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被广泛采用的软件开发模型。优点 提供了软件开发的基本框架 为项目提供了按阶段划分的检查点 当前一阶段完成后,您只需要去关注后续阶段缺点 在项目各个阶段之间极少有反馈 线性模型,早期的错误可能要等到后期才能发现,且只有等到全过程的末期才能见到开发成果,增加开发风险 阶段之间产生大量的文档,增加了管理工作量应用场景 在开发时间内需求没有或很少变化 分析设计人员对应用领域很熟悉 低风险项目(对目标、环境很熟悉) 用户使用环境很稳定 用户除提出需求以外,很少参与开发
5、瀑布模型特点及应用场景(2)V模型:V模型是在瀑布模型基础上演变而来,由于将整个开发过程构造成一个V字形而得名。V模型强调软件开发的协作和速度,将软件实现和验证有机地结合起来,在保证较高的软件质量情况下缩短开发周期。(3)迭代模型:迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。6.敏捷开发(1)定义敏捷开发是一种以用户的需求进化为核心、迭代、循序渐进的开发方法。软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。(2)敏捷开发与传统开发的区别变:强调软件开发对未来可能出现的变化和不确定性做出全面反应早:总体目
6、标是尽可能早地、持续地对有价值软件的交付快:主要是用于需求模糊或快速变化的前提下,小型开发团队的软件开发活动7.软件系统体系结构应用模式(1)C/S结构C/S结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,克服了终端/主机结构中主机负担过重,用户界面不友好等缺点,因而得到了广泛的应用。(2) B/S(Browser/Server,浏览器/服务器)模式又称B/S结构B/S模式是指在TCP/IP的支持下,以HTTP为传输协议,客户端通过Browser访问Web服务器以及与之相连的后台数据库的技术及体系结构。C/S结构客户/服务器模式胖客户/瘦服务器QQ、微信、王者荣耀B/S
7、结构浏览器/服务器模式瘦客户/胖服务器Web QQ、洛克王国二.软件测试基础1.软件测试的定义 评价一个程序和系统的特性或能力,并确认它是否达到预期的结果,检查是否满足规定的需求定义1(Hetzel)定义2(Myers)测试是为发现错误而执行程序的过程定义3(现代)是对软件需求分析、设计、编码的最终复查的一系列过程,是软件质量保证的关键步骤2. 软件缺陷产生的原因需求不清晰、技术问题3. 软件测试的目的(1)发现缺陷,提高质量(2)验证是否满足需求(3)建立软件质量的信心4.软件测试依据的一般原则(1)测试显示缺陷的存在(2)穷尽测试是不可能的(3)测试尽早介入(4)缺陷集群性(5)杀虫剂悖论
8、(6)测试活动依赖于测试背景(7)没有失效不代表系统是可用的5.软件测试的一般流程软件测试过程包括:1. 测试计划和控制2. 测试需求分析和用例设计3. 实现和执行测试用例4. 评估出口准则和报告5. 测试结束活动开始计划 &控制控制分析 & 设计实现 & 执行评估出口准则 & 报告测试结束活动结束三.基于生命周期的软件测试1.什么是生命周期测试?如同软件生命周期,可以将软件测试阶段按照软件生命周期去划分,形成基于生命周期的软件测试,简称生命周期测试。2. 生命周期测试的意义?在软件开发的所有阶段进行测试,被设计用来减少测试成本测试与开发同步进行,有利于尽早地发现问题,同时缩短项目的开发建设周
9、期3.生命周期各阶段的测试工作阶段主要测试活动验证和确认需求说明书、制定测试计划验证和确认设计文档、模型等,测试设计及评审代码、评审、搭建环境、单元测试执行测试、缺陷管理安装测试、确认产品培训、维护、变更管理、测试需求设计编程测试安装维护输出测试需求、组织团队测试计划测试方案、测试案例等测试案例及缺陷等缺陷报告和测试报告安装程序、安装文档、用户手册等维护手册、测试报告等四.软件测试分类及分级1.软件测试分类(1)一般分类:是否关心内部结构:白盒,黑盒,灰盒开发过程级别:单元,集成,系统,验收是否执行程序:静态,动态是否人工干预:手工,自动化测试实施组织:开发,测试,第三方(2)CSCI分类:功
10、能性、可靠性、可用性、效率性、可维护性、可移植性2.几个概念的理解:(1)基线:实实在在存在的。评审通过的文档可作为基线(2)里程碑:虚的,人为设定的,根据不同公司不同项目设的不同(3)软件配置项:是各种可发测试所包含的程序、数据、报告、文档的集合3.软件测试分级(1)软件生命周期测试的分级单元测试集成测试系统测试验收测试(2)软件错误分级严重缺陷较严重的缺陷一般性缺陷较小缺陷其他缺陷4.对软件测试进行分类与分级的目的?通过对软件测试进行有目的分类与分级,使我们能够有效地控制软件的复杂性,强化测试的针对性或目的性,提高测试管理的科学性,最终确保软件测试的质量。5.何谓软件配置项?软件配置缩写为
11、CSCI(Computer Software Configuration Item),是为独立的配置管理而设计的且能满足最终用户要求的一组软件,简称软件配置项。在软件开发过程中,产生的所有信息构成软件配置,它们是:代码、文档、数据等,统称为配置项(Configuration Item,CI)五.软件缺陷管理1.何谓软件缺陷?一般如何描述缺陷?(1)从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。(2)缺陷标题、缺陷标识(ID)、报告人、报告日期、程序的名称、版本号、配置、缺陷类型、严重性、优先级、关键词、缺陷描述
12、、重现步骤、结果对比、附件等。2.软件缺陷的来源有哪些?(1)需求的不完善(2)编码错误(3)逻辑设计错误(4)客户开发者通信失败(5)对软件需求的故意偏离(6)不符合文档编制与编码规定(7)测试过程不足(8)规程错误(9)文档编制错误3、缺陷的分类有哪些?缺陷严重性和优先级的关系?(1)按软件生命周期分用户需求错误产品需求错误设计错误编码错误数据错误发行错误(2)按软件使用分功能错误性能错误界面错误流程错误数据错误提示错误常识错误其他错误(3)按GB/T 15532-2008 分程序问题文档问题设计问题其他问题(4)缺陷严重性与优先级没有必然关系,只有直接的经验关系,不能说缺陷严重度高其优先
13、级就一定高;也不能说缺陷严重度低其优先级就一定低。严重度低的其优先级也可能高,严重度高的其优先级也可能低。比如,百度首页出现了企鹅,虽然缺陷严重度不能算高,但优先级一定是相当高的。4、缺陷报告原则及包含的主要内容?(1)基本原则尽快报告缺陷有效描述缺陷(短小、单一、步骤清晰、使用IT业界惯用的表达术 语和表达方式、明确指明错误类型)报告缺陷时不做任何评价确保缺陷可以重现(2)主要内容缺陷的标题与简单描述缺陷的基本信息复现缺陷的操作步骤缺陷的实际结果描述、期望的正确结果描述注释文字和截取的缺陷图像5.缺陷管理的一般流程6.你所了解的缺陷管理工具有哪些?(1)开源类:Mantis、禅道、BugZi
14、lla、BugFree等;(2)商用类:国外:HP公司的ALM/QC软件、Compuware公司的TrackRecord软件、IBM Rational公司的ClearQuese软件国内:上海微创公司的BMS软件、北航的软件质量监控系统QAMonitor7.Mantis是如何对缺陷进行管理的答:管理员创建项目之后,项目经理对测试项目进行编辑。添加分类,还可以设置、修改版本信息。测试人员(报告人员)发现问题,编写缺陷报告后提交。开发人员登录后在查看问题页面看到状态为“新建”的bug后,打开问题报告详细页面,按照问题重现步骤实现bug,发现bug可以重现,将缺陷状态改为“已确认”。项目经理审查后,表
15、示对该bug认可,并将其分派给开发人员。开发人员发现分派给自己的问题,将问题解决后更新缺陷报告,并更新缺陷状态为“已解决”。测试人员发现bug已经被修复,对该bug进行验证,若验证未通过,可以重启问题,若通过验证,不进行任何操作。项目经理发现问题被解决,且未被重启,将该问题关闭。六.软件测试过程及其管理1.软件测试过程模型有哪些?之间有什么联系?(1)V模型、W模型、H模型、X模型(2)V模型和W模型的局限性串行活动,无法更好适应变更线性的前后关系,无法有效支持迭代测试完整性不足2.软件测试管理的一般流程及包含的主要内容(1)一般流程提取测试需求指定测试计划制定测试策略和方案开展测试设计执行测
16、试用例分析测试结果(2)主要内容项目启动:确定项目组长,进行项目的前期准备;测试需求分析:以软件开发需求为基础,形成可测试的内容;制定测试计划:确定测试范围、测试策略和方法,和对风险、日程表、资源等进行分析和评估;测试设计和开发:制定测试的技术方案、设计测试用例、选择测试工具和写测试脚本等,并且进行评审;测试实施和执行:建立或设置相关的测试环境,准备测试数据,执行测试用例,并提交发现的缺陷;测试结果的审查和分析:分析测试结果,确定产品质量,提供发布依据3.制定测试计划的目的?测试计划包含的主要内容?(1)软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。(2)主要内容测试环境测试基本原理和策略测试阶段划分计划要点功能描述和功能覆盖说明测试用例清单测试开始和退出准则4.用户需求、软件需求、软件测试需求?(1)用户需求:描述了用户使用产品必须要完成的任务,在软件开发活动中,属于最基本的需求。(2)软件(系统)需求:描述了软件设计人员、编程人员必须要完成的任务。通过分析用户需求,把用户的需求转变成开发设