2022年软件测试复习重点内容 .pdf

上传人:Q****o 文档编号:25457601 上传时间:2022-07-11 格式:PDF 页数:26 大小:1.20MB
返回 下载 相关 举报
2022年软件测试复习重点内容 .pdf_第1页
第1页 / 共26页
2022年软件测试复习重点内容 .pdf_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《2022年软件测试复习重点内容 .pdf》由会员分享,可在线阅读,更多相关《2022年软件测试复习重点内容 .pdf(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1 / 26 第 1 章1. 重要1. 软件测试的正面性观点【验证软件正常工作】软件测试就是为程序能够按预期设想那样运行而建立足够的信心【软件测试是一系列活动已评价一个程序或系统的特性或能力是否达到预期的结果】测试是为了验证软件是否符合用户需求,即验证软件产品是够能正常工作2. 软件测试的反面性观点【测试是为了证明成粗有错误】测试是为了发现错误而执行的一个程序或者系统的过程3. IEEE 的软件测试定义使用人工或自动手段来运行或测试某个系统的过程,其目的是在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别4. 什么是“验证“验证”是检验软件是否已正确地实现了产品规格书所定义的系统

2、功能和特性5. 什么是“有效性确认”“有效性确认”是确认所开发的软件是否满足用户真正需求的活动 软件测试是由“验证( Verification)”和“有效性确认( Validation)”活动构成的整体 6. 软件测试和软件开发的关系2. 次重要1. 为什么要进行软件测试1. 软件总存在缺陷2. 软件中存在的缺陷给我们带来的算是是巨大的 3. 测试所有工程学科的基本组成单元,自然也是软件开发的重要组成部分。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 26 页2 / 26 4. 软件人员水平越高,找出问题的时间越早,软件越容易更正,产

3、品发布后越稳定2. 软件测试的其它观点风险的观点:软件测试就是对风险的不断评估,引导软件开发的工,进而将最终发布的软件所存在的风险降到最低经济的观点:以最小的代价获得最高的软件产品质量第 2 章1. 重要1. ISO 8492 对质量的定义质量是产品或服务多满足明示或暗示需求能力的固有特性和特征的集合2. IEEE对软件质量的定义软件产品满足规定的和隐含的于需求能力有关的全部特性和特征3. McCall 软件质量模型4. IEEE (1983) 729 软件缺陷一个标准的定义从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需要实现的某种功

4、能的失效或违背。5. 软件缺陷的产生原因1. 技术问题(算法语法错误等) 2. 团队合作(误解) 3. 软件本省(文档错误,用户适用场合等)6. 软件缺陷构成设计, 25%规格说明书,54%其他, 6%代码, 15%规格说明书缺陷最多精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 26 页3 / 26 7.什么是软件评审及其分类评审是对软件元素或者项目状态的一种评估手段,以确定其是否与计划的结果保持一致,并使其得到改进。分类:管理评审、技术评审、文档评审、流程评审 软件测试包含技术和文档评审,管理评审和流程评审则属于软件质量保证的组织和

5、过程管理的活动内容 8. 什么是软件质量保证软件质量保证是通过对软件产品有计划地进行评审和审计来验证软件是否合乎标准的系统工程,通过协调、审查、跟踪以获取有用信息,形成分析结果以指导软件过程。9.软件测试的分类2. 次重要1. 什么是产品质量是人们实践产物的属性和行为,是可以认识,可以科学地描述的。并且可以通过一些方法和人类活动,来改进质量. 质量模型 : McCall 模型, Boehm 模型, ISO 9126 模型2. 什么是过程质量软件能力成熟度模型 CMM 国际标准过程模型 ISO 9000 软件过程改进和能力决断 SPICE 3. ISO 9126 软件内部 / 外部质量精选学习资

6、料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 26 页4 / 26 4. 软件缺陷的主要类型 / 现象1. 功能、特性没有实现或部分实现2. 设计不合理,存在缺陷3. 实际结果和预期结果不一致4. 运行出错,包括运行中断、系统崩溃、界面混乱5. 数据结果不正确、精度不够6. 用户不能接受的其他问题,如存取时间过长、界面不美观5. SQA 与软件测试有什么关系和区别SQA 是管理工作、审查对象是流程、强调以预防为主测试是技术工作、测试对象是产品、主要是以事后检查SQA 指导测试、监控测试测试为 SQA 提供依据第 3 章1. 重要1. 什么是静态

7、的和动态的测试静态测试包括对软件产品的需求和设计规格说明书的评审、对程序代码的复审等动态测试是通过真正运行程序发现错误,通过观察代码运行过程,来获取系统信息,对系统行为进行验证。2. 什么是自动测试和手工测试3. 什么是黑盒和白盒测试白盒:已知程序的内部工作过程黑盒: 完全不考虑程序内部结构和内部特性4. 什么是 主动测试和被动测试主动测试方法:测试人员主动向被测试对象发送请求、或借助数据、事件驱动被测试对象的行为,从而验证被测试对象的反应或输出结果被动测试方法:测试人员不干预产品的运行,而是被动地监控产品在实际环境中运行,通过一定的被动机制来获得系统运行的数据,包括输入、输出数据. 5. 什

8、么是形式化方法形式化方法实际上就是基于数学的方法来描述目标软件系统属性的一种技术6. 什么是 基于模型的软件测试基于模型的测试( Model-based testing,MBT )是利用模型来生成相应的测试用例,然后根据实际结果和原先预想的结果的差异来测试系统先从概念上形成模型,然后试图用数学的方法来描述这个模型,形成仿真模型,完成所需的测试7. 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖的概念,以及测试用例的设计。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 26 页5 / 26 语句:覆盖每个可执行语句判定

9、:每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足【又称为分支覆盖】条件:每个判断中每个条件的可能取值至少满足一次。(不考虑通过的路径)判定条件:判断条件中的所有条件可能取值至少执行一次,同时,所有判断的可能结果至少执行一次【假如两个判断,每个判断2 个条件,则需要 2 个测试用例,即 T1T2T3T4 F1F2F3F4 】p34 条件组合:每个条件的所有可能至少出现一次,并且每个判断本身的判定结果也至少出现一次。【需要4 个,即 T1T2 T1F2 F1T2 F1F2 T3T4., 然后覆盖这 8 个组合,即 T1T2T3T4,T1F2T3F4,F1T2F3T4,F1F2F3

10、F4 】p35 8. 基本路径测试的概念在程序控制流程 的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。9. 依据代码绘制程序控制流图10.计算流图的圈复杂度M-N+2 11.确定线性独立路径的基本集合P37 独立路径:至少引入一系列新的处理语句或条件的任何路径由基本集导出的测试用例,保证每行代码语句至少被执行一次;基本集合不一定唯一12.等价类划分法、边界值分析法、判定表方法的概念,以及测试用例的设计 ONE. 有效等价类无效等价类1. 格式 *位数字含有非数字字符小于* 位。2. 范围 ()( ) 小于 0 大于测试用例输入数据覆盖等价类 1 * 2 * 针对

11、 Test函数按照基本路径测试方法设计测试用例。int Test( int i_count,int i_flag) 1 int i_temp=0; 2while(i_count0) 3if(0=i_flag) 4 i_temp=i_count+100; break; else 5 if(1=i_flag) 6 i_temp=i_temp+10; else 7 i_temp=i_temp+20; 8 i_count-; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 26 页6 / 26 9return i_temp; 先画程序流程图(流

12、程控制图),然后计算环路复杂度,环路复杂度为G,则找出 G条基本路径。TWO.判定表:条件:动作:然后画表格, N 个条件 2N 列THREE. 边界值分析:范围: 1输入条件规定了值得范围,则取刚刚达到这个范围的边界值和刚刚超过边界的值(最大值、比最大值大一、最小值、比最小值小一)2规定了值的个数,则用最大个数、比最大个数大一、最小个数、比最小个数小一3给出的输入域或者输出域是有序集合(有序表、顺序文件),则应选取集合的第一个和最后一个元素作为测试数据13.因果图法、正交试验法的概念因果图法多种输入条件的组合,产生多种结果设计测试用例正交试验法依据 Galois 理论,从大量的(实验)数据(

13、测试例)中挑选适量的有代表的点(条件组合),从而合理地安排实验(测试)的一种科学实验设计方法。 L8(27)代表 8 行 7 列【正交表】2. 次重要1.通过维恩图考察测试2.功能图法功能图由状态迁移图( STD )和逻辑功能模型( LFM)构成功能图法是综合运用黑盒方法和白盒方法来设计测试用例,即整体上选用白盒方法路径覆盖、分支和条件覆盖等,而局部上选用的是黑盒方法决策表或因果图方法3.错误推测法基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例4.形式化的具体方法基于模型的方法,如Z语言、 B语言等代数方法,如 OBJ 、CLEAR 、ASL 、ACT等过程代数方法

14、,如CSP 、CCS 、ACP 、LOTOS 、TPCCS 等精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 26 页7 / 26 基于逻辑的方法,如区间时序逻辑、Hoare 逻辑、模态逻辑、时序逻辑、时序代理模型等。基于网络的方法5.形式化验证的一些具体方法1. 有限状态机( FSM )或扩展有限状态机( EFSM )2.SPIN 和线性时态语言3.UML语义转换 4. 标准 RBAC 模型 5. 扩展的 RBAC 模型和基于粒计算的RBAC模型6. 符号模型检验 7.BAN 逻辑模型6.软件测试模型故障模型 安全漏洞模型差性能模型并

15、发故障模型不良习惯模型代码国际化模型易诱骗代码模型7.扩展有限状态机方法EFSM 在 FSM模型基础上增加了动作和转移的条件,以处理数据流问题,FSM只能处理系统的控制流问题8.基于风险的测试基于风险的测试是指评估测试的优先级,先做高优先级的测试,如果时间或精力不够,低优先级的测试可以暂时先不做9.模糊测试方法模糊测试( Fuzz testing)方法,简单的说,就是构造大量的随机数据作为系统的输入,从而检验系统在各种数据情况下是否会出现问题模糊测试方法可模拟黑客对系统发动攻击测试10. ALAC 测试和随机测试方法ALAC ,是 Act-like-a-customer(象客户那样做)的简写,

16、ALAC测试方法是一种基于客户使用产品的知识开发出来的测试方法,它的出发点是著名的Pareto 80/20规律第 4 章1. 重要1. 用 V模型诠释软件测试过程【v 模型不同步, W模型同步】精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 26 页8 / 26 2. W模型3. TMM 【吸收 CMM 的精华,基于历史演化的测试过程,业界的最佳实践】组成:( 1)5 个别级的一系列测试能力成熟度的定义,每个级别的组成包括到期目标、到期子目标活动、任务和职责等。(2)一套评价模型,包括一个成熟度问卷、评估程序和团队选拔培训指南。精选学习

17、资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 26 页9 / 26 2. 次重要1. TMapTMap (Test Management Approach ,测试管理方法 )是一种结构化的、基于风险策略的测试方法体系, 目的能更早地发现缺陷, 以最小的成本、 有效地、彻底地完成测试任务,以减少软件发布后的支持成本。TMap所定义的测试生命周期由 计划和控制、准备、说明、执行和完成等阶段组成【TMap的基石:与软件开发生命周期一致的测试生命周期L,组织 O ,基础设施和工具 I ,技术 T】2.TPI基于连续性表示法的测试过程改进的参考模型,是

18、在软件控制、测试知识以及过往经验的基础上开发出来的1.4 个级别, A最低;2. 度 量 工 具 检 查点,发现问题;3. 建议帮助解决问题精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 26 页10 / 26 3.CTP关键测试过程(CTP )评估模型主要是一个内容参考模型,一个上下文相关的方法,并能对模型进行裁剪使用 CTP的过程改进, 始于对现有测试过程的评估,通过评估以识别过程的强弱,并结合组织的需要提供改进的意见计划、准备、执行和完善;计划和完善主要是管理工作,准备和执行是实践工作4. STEPSTEP (系统化测试和评估过程

19、)是一个内容参考模型,认定测试是一个生命周期活动,在明确需求后开始直到系统退役。STEP与 CTP比较类似,而不像 TMMI和 TPI,并不要求改进需要遵循特定的顺序。某些情况下, STEP评估模型可以与 TPI 成熟度模型结合起来使用5. 软件测试标准和规范对软件测试的流程过程化并对每一个过程元素进行明确的界定,形成完整的规范体系。【 角色的确定进入的准则输入项 活动过程 输出项 验证与确认退出的准则度量】6. 建立软件测试管理和评判体系第 5 章1. 重要1. 什么是单元测试【代码完成后,由开发人员完成】单元测试是对软件基本组成单元进行的测试2. 单元测试的目标和任务概述目标 : 单元模块

20、被正确编码【出题可能是问哪个不是单元测试】信息能否正确地流入和流出单元;在单元工作过程中,其内部数据能否保持其完整性,包括内部数据的形式、内容及相互关系不发生错误,也包括全局变量在单元中的处理和影响。在为限制数据加工而设置的边界处,能否正确工作。单元的运行能否做到满足特定的逻辑覆盖。单元中发生了错误,其中的出错处理措施是否有效。任务概述:1. 检查每一条独立执行路径的测试,保证每条语句被至少执行一次【算符错,初值错,精度错】精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 26 页11 / 26 2. 检查局部数据结构完整性【无初值或初

21、始化错,不相容,越界,地址异常,从未使用】3. 模块接口是否正确【参数不一致,全程变量不一致,外部输入输出】4. 检查临界数据处理的正确性【合法非合法数据处理,边界值内合法、外不合法边界数据处理】5. 预见、预设的各种出错处理是否正确有效【输出的信息难以理解,记录册无不对,出错前系统已介入】3. 静态测试技术【走查【逻辑错误】、审查【缺陷检查表】、评审】不运行被测试程序,对代码通过检查、阅读进行分析。4. 什么是 驱动程序和桩程序驱动模块( driver): 对底层或子层模块进行测试所编写的调用这些模块的程序。桩模块( stub ):对顶层或上层模块进行测试时所编写的替代下层模块的程序。JUn

22、it 概述JUnit 是一个开源的 java 测试框架,它是 XUnit 测试体系架构的一种实现JUnit 是一个开放源代码的Java 测试框架,用在编写和运行可重复的的测试上,它是单元测试框架体系xUnit 的一个实例,包括如下特性:用于测试期望结果的断言;用于共享共同测试数据的测试工具;用于方便地组织和运行测试的测试套件JUnit 单元测试框架设计的三个目标:简化测试的编写,这种简化包括测试框架的学习和实际测试单元的编写使测试单元保持持久性可以利用既有的测试来编写相关的测试JUnit 的版本:JUnit 以 jar包形式提供2. 次重要1. 单元测试常用工具简介Junit 、Junit+A

23、nt构建自动的单元测试、 CheckStyle (源程序是否与代码规范相符)/PMD (检查 java 源文件中潜在问题)与 FindBug(不检查 java 源文件,查找 java bytecode中的潜在bug)的使用、 SourceMonitor (检测代码复杂度)第 6 章1. 重要1.什么是集成测试和系统测试集成测试: 将已分别通过测试的单元按设计要求组合起来再进行的测试,以检查这些单元之间的接口是否存在问题驱动:调用底层模块的程序桩模块:替代下层模块的程序精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 26 页12 / 2

24、6 系统测试:(经过集成测试之后,各模块间接口存在的问题基本已消除,测试开始进入系统测试)一般由若干个不同的测试组成,目的是充分运行系统,验证整个系统是否满足非佛那个能行的质量需求2.集成测试的模式非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式。渐增式测试模式: 把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。3.自顶向下和自底向上集成方法自顶向下: 从主控模块(“主程序”)开始,沿着软件的控制层次向下移动,从而逐渐把各个模块结合起来。 在组长过程中, 可以使用深度优先策略(先序遍历) 和

25、或宽度优先策略 (层次遍历)。【优点:无需测试驱动程序,早期发现上层模块接口的错误】【缺点:需要桩程序,底层模块错误发现较晚,在早期不能充分展开人力】自底向上: 从“原子”模块(即在软件结构最底层的模块)开始集成以进行测试。【混合法:对软件结构中较上层,使用的是“自顶向下”法;对软件结构中较下层,使用“自底向上”法】4.什么是功能测试根据产品规格说明书, 来检验被测试的系统是否满足各方面功能的使用要求5.什么是回归测试回归测试的目的:所做的修改达到了预定的目的,如错误得到了改正,新功能得到了实现, 能够适应新的运行环境等; 不影响软件原有功能的正确性。6.性能测试、压力测试、容量测试、安全性测

26、试、可靠性测试、容错性测试的概念【非功能测试】性能测试通过测试以确定系统运行时的性能表现,如得到运行速度、响应时间、占有系统资源等系统数据。【重复使用率较高,重点在于前期数据的设计与后期数据的分析】压力测试 (Stress test),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。 本质破坏 【并发性能测试(重点):即逐渐增加并发虚拟用户数负载,直到系统的瓶颈或者不能接受的性能点ramp-up 测试 疲劳强度测试 : 采用系统稳定运行情况下能够支持的最大并发用户数或者日常运行用户数,

27、持续执行一段时间业务Flat测试 大数据量测试 : 】容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下还能保持主要功能正常运行。 容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。安全性测试是检查系统对非法侵入的防范能力。安全测试期间,测试人员假扮非法入侵者,采用各种办法试图突破防线测量软件系统的可靠性,可靠性是产品在规定的条件下和规定的时间内完成规定功能的能力【可靠性的三个要素:规定的时间(可靠性体现在运行阶段)、规定的环境条件(不同的环境可靠性不同)、规定的功能(任务和功能有关)】容错性测试是

28、检查软件在异常条件下自身是否具有防护性的措施或者某种灾难性恢复的手段。如当系统出错时,能否在指定时间间隔内修正错误并重新启动精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 26 页13 / 26 系统。容错性测试包括两个方面: 输入异常数据或进行异常操作, 以检验系统的保护性;灾难恢复性测试7.负载模拟 的概念并发用户 + 思考时间 + 每次请求的数据量 + 负载模式并发用户:在同一时间做同一件事情或者同样的操作的用户思考时间:浏览器在收到响应后到提交下一个请求之间的间隔时间负载模式:就是加载的方式,如是一次建立多个并发连接,还是逐渐

29、增加连接数,还有如随机加载、峰谷交替加载等8.“flat ”测试和 ramp-up 测试的概念【性能测试的两种负载类型】“Flat ”测试: 对于一次给定的测试,应该取响应时间和吞吐量的平均值。精确地获得这些值的唯一方法是一次加载所有的用户,然后在预定的时间段内持续运行。【疲劳强度测试(大数据量测试)】 Ramp-up测试: 用户是交错上升的(每几秒增加一些新用户)。ramp-up 测试不能产生精确和可重现的平均值,这是因为由于用户的增加是每次一部分,系统的负载在不断地变化。其优点是,可以看出随着系统负载的改变,测量值是如何改变的,据此选择要运行的flat测试的范围【并发性能测试】2. 次重要

30、1. 大棒集成方法【非渐增式测试】先是对每一个子模块进行测试(单元测试阶段),然后将所有模块一次性的全部集成起来进行集成测试 【难确定出错的真正位置,规模较小的应用系统中使用】2. 三明治集成方法【自两头向中间集成】它将自顶向下和自底向上的集成方法有机地结合起来,不需要写桩程序因为在测试初自底向上集成已经验证了底层模块的正确性。【缺点是:在真正集成之前每一个独立的模块没有完全测试过】改进的三明治,自两头向中间集成,且保证每个模块得到单独的测试,使测试进行得比较彻底。3. 峰谷测试【性能测试】兼有容量规划 ramp-up 测试和渗入测试的特征 , 目标是确定从高负载(例如系统高峰时间的负载)恢复

31、、转为几乎空闲、然后再攀升到高负载、再降低的能力。4. 渗入测试【性能测试】渗入测试所需时间较长,它使用固定数目的并发用户测试系统的总体健壮性。这些测试将会通过内存泄漏、增加的垃圾收集(GC)或系统的其他问题,显示因长时间运行而出现的任何性能降低。建议运行两次测试一次使用较低的用户负载(要在系统容量之下,以便不会出现执行队列) , 一次使用较高的负载 (以便出现积极的执行队列) 。5. 性能规划测试【性能测试】性能规划类型的测试其目标是找出在特定的环境下,给定应用程序的性能可以达到何种程度。例如,如果要以5 秒或更少的响应时间支持8,000 个当前用户,需要多少个服务器?加载用户以模拟负载状态

32、:最好的方法是模拟高峰时间用户与服务器通信的状况。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 26 页14 / 26 如果用户负载状态是在一段时间内逐步达到的, 选择 ramp-up 测试,每隔几秒增加x 个用户 ;如果所有用户是在一个非常短的时间内同时与系统通信,就应该使用flat测试,将所有的用户同时加载到服务器确定容量的最好方法:结合两种负载类型的优点,并运行一系列的测试。如:首先使用 ramp-up 测试确定系统支持的用户范围,该范围内不同的并发用户负载进行一系列的 flat测试,更精确地确定系统的容量。6. 基准测试【性

33、能测试】基准测试的关键是要获得一致的、可再现的结果。 【flat运行是获得基准测试数据的理想模式】将系统置于相同的高负载下,将请求之间间隔时间设为零。这样服务器会立即超载,并开始构建执行队列。如果请求(虚拟用户)数保持一 flat运行是获得基准测试数据的理想模式【质量三个纬度:功能、性能、可靠性】第 7 章1. 重要1.什么是验收测试验收测试 (Acceptance Test):在软件产品完成了功能测试和系统测试之后、产品发布之前所进行的软件测试活动它是技术测试的最后一个阶段, 也称为交付测试。2.测试测试是指软件开发公司组织内部人员模拟各类用户行对即将面市软件产品(称为 版本)进行测试,试图

34、发现错误并修正。3.测试测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用版本,并要求用户报告异常情况、提出批评意见。然后软件开发公司再对版本进行改错和完善。4.用户界面的 7 个要素,及其概念符合标准和规范。直观性。一致性。灵活性。舒适性。正确性。实用性。5.兼容性测试软件兼容性测试是指验证软件之间是否正确地交互和共享信息。向后兼容是指可以使用软件的以前版本。向前兼容指的是可以使用软件的未来版本。2. 次重要1.验收测试的过程和主要内容过程:制定测试计划,测试项,测试策略及验收通过准则,并经过客户参与的计划评审。精选学习资料 - - - - - - - - - 名师归纳总结 - -

35、 - - - - -第 14 页,共 26 页15 / 26 建立测试环境,设计测试用例,并经过评审。准备测试数据,执行测试用例,记录测试结果。分析测试结果,根据验收通过准则分析测试结果,作出验收是否通过及测试评价。测试项目通过;测试项目没有通过,并且不存在变通方法,需要很大的修改;测试项目没有通过,但存在变通方法,在维护后期或下一个版本改进;测试项目无法评估或者无法给出完整的评估。此时必须给出原因。如果是因为该测试项目没有说明清楚,应该修改测试计划。提交测试报告内容: 验证系统是否达到了用户需求规格说明书(可能包括项目或产品验收准则)中的要求, 测试试图尽可能地发现软件中存留的缺陷,从而为软

36、件进一步改善提供帮助,并保证系统或软件产品最终被用户接受。主要包括易用性测试、兼容性测试、安装测试、文档(如用户手册、操作手册等)测试等几个方面的内容。2.验收标准和注意事项验收测试完成标准 : 完全执行了验收测试计划中的每个测试用例。在验收测试中发现的错误已经得到修改并且通过了测试或者经过评估留待下一版本中修改。完成软件验收测试报告。注意事项:必须编写正式的、单独的验收测试报告验收测试必须在 实际用户运行环境中 进行由用户和测试部门共同执行。如公司自开发产品,应由测试人员,产品设计部门,市场部门等共同进行。3.可安装性和可恢复性测试恢复测试主要检查系统的容错能力。当系统出错时,能否在指定时间

37、间隔内修正错误或重新启动系统。【 恢复测试首先要通过各种手段,让软件强制性地发生故障,然后验证系统是否能尽快恢复。】4.文档测试非代码的文档测试主要检查文档的正确性、完备性和可理解性。第 8 章1. 重要1.面向对象层次结构测试重点对认定的对象的测试 :1. 认定的对象是否全面,其名称应该尽量准确、适用,是否问题空间中所涉及到的实例都反映在认定的抽象对象中。2. 认定的对象是否具有多个属性。只有一个属性的对象通常应看作其他对象的属性而不是抽象为独立的对象精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 26 页16 / 26 3. 对认

38、定为同一对象的实例是否有共同的、区别于其他实例的共同属性, 是否提供或需要相同的服务, 如果服务随着不同的实例而变化,认定的对象就需要分解或利用继承性来分类表示。4. 如果系统没有必要始终保持对象代表的实例信息 ,提供或者得到关于它的服务,认定的对象也无必要。对认定的结构的测试: 1.处于高层的对象, 是否在问题空间中含有不同于下一层对象的特殊可能性,即是否能派生出下一层对象。2. 处于同一低层的对象,是否能抽象出在现实中有意义的更一般的上层对象。3. 对所有认定的对象,是否能在问题空间内向上层抽象出在现实中有意义的对象。4. 高层的对象的特性是否完全体现下层的共性,低层的对象是否有高层特性基

39、础上的特殊性。【高层是父类】对构造的类层次结构的测试:【着重体现父类和子类间的一般性和特殊性】1. 类层次结构是否涵盖了所有定义的类;2. 是否能体现OOA 中所定义的实例关联、消息关联;3. 子类是否具有父类没有的新特性;4. 子类间的共同特性是否完全在父类中得以体现。2.类测试的方法【类测试系列的充分性三标准:状态、约束、代码的覆盖率】通过代码检查或执行测试用例能有效地测试一个类的代码。3. 面向对象的集成测试【对象的协作方式决定了程序能做什么,从而决定了这个程序执行的正确性】主要是两个方面:1.类的线性测试,交互测试。2.类的独立性测试(跨平台)方面测试。第 9 章1. 重要1.常用的

40、Web元素功能测试1.GET 、OPTIONS 、HEAD 、POST 、PUT 、DELETE 、TRACE 、CONNECT 2. 页面链接; 3. 设计脚本; 4.Web图形; 5. 表单2.数据库并发控制测试并发主要考虑的几个方面 : 数据丢失: A、B对同一数据修改,其中一个对数据库修改失效不可重复数据: A读取数据后 B修改, A无法重现 B修改前读的数据读脏数据: A修改后 B读,A撤销(事务回滚) B读到脏数据2. 次重要1.Web 服务器的安全测试登录、身份验证;超时、Cookie 和 Session;输入验证(防止脚本语言);数据加密、 SSL (安全套接字 );SQL 注

41、入; XSS(跨站点攻击);日志文件;目录;精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 26 页17 / 26 第 10 章1. 重要1.软件本地化与国际化【国际化是本地化的基础和前提】软件国际化( SW Internationalization,I18N)I18N 是在软件设计和文档开发过程中, 使得功能和代码设计能处理多种语言和文化传统,使创建不同语言版本时,不需要重新设计源程序代码的软件工程方法。软件本地化( SW Localization,L10N )L10N是将一个软件产品按特定国家/ 地区或语言市场的需要进行加工,使之

42、满足特定市场上的用户对语言和文化的特殊要求的软件生产活动。G11N = I18N + L10N (G11 :软件全球化)2.软件本地化基本步骤1)建立配置管理体系,跟踪目标语言各个版本的源代码;2)创造和维护术语表; 3)源语言代码和资源文件分离、或提取需要本地化的文本;4)把分离或提取的文本、图片等翻译成目标语言;5)把翻译好的文本、图片重新检入目标语言的源代码版本;6)如果需要,编译目标语言的源代码; 7)测试翻译后的软件,调整UI 以适应翻译后的文本;8)测试本地化后的软件,确保格式和内容都正确;3.软件本地化测试1)功能性测试,所有基本功能、安装、升级等测试;2)翻译测试,包括语言完整

43、性、术语准确性等的检查;3)可用性测试,包括用户界面、度量衡和时区等;4)兼容性调试,包括硬件兼容性、版本兼容性等测试;5)文化、宗教、喜好等适用性测试6)手册验证,包括联机文件、在线帮助、PDF文件等测试2. 次重要1.国际化测试方法1. 设计评审和代码审查2. 针对源语言的功能测试,如不同的区域设置、不同的时区显示3. 针对伪翻译( pseudocode, pseudo-translation)版本的测试翻译国际化本地化全球化精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 26 页18 / 26 第 11 章1. 重要【测试自动化

44、项目本质上是软件开发项目】1.什么是测试自动化【验证失败继续执行,断言失败,退出当前测试】测试自动化指 “一切可以 由计算机系统自动完成的测试任务都已经由计算机系统或软件工具、程序来承担并自动执行”【“一切”:不止测试执行工作,还有管理维护等工作;“可以”:某些无法由系统完成,需要手工处理;即使由系统自动化测试,还是少不了人工干预】2.什么是自动化测试【测试工具的使用是自动化测试的主要特征】自动化测试( automated test )是相对手工测试而存在的一个概念,由手工逐个地运行测试用例的操作过程被测试工具自动执行的过程所代替。3.代码分析的概念类似于高级编译系统,在工具中定义类/ 对象/

45、 函数/ 变量等定义规则、语法规则等,在分析时对代码进行语法扫描,找出不符合编码规范的地方。4.捕获和回放概念代码分析是一种白盒测试的自动化方法,捕获和回放则是一种黑盒测试的自动化方法。5.脚本技术的概念和分类直接编写脚本来操作、控制、验证对象:包括对象识别、脚本技术、对运行结果进行比较6.线性脚本线性脚本,是录制手工执行的测试用例得到的脚本,这种脚本包含所有的击键、移动、输入数据等,所有录制的测试用例都可以得到完整的回放。7.结构化脚本结构化脚本,类似于结构化程序设计, 具有各种逻辑结构、 函数调用功能。8.数据驱动脚本数据驱动脚本,将测试输入存储在独立的(数据)文件中,而不是存储在脚本中。

46、9.关键字驱动脚本关键字驱动脚本,是数据驱动脚本的逻辑扩张2. 次重要1.自动比较静态比较和动态比较简单比较和复杂比较敏感性测试比较和健壮性测试比较比较过滤器:测试数据很多,结果很多时,筛选结果2.测试工具的分类精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 26 页19 / 26 根据测试方法 不同,分为白盒测试 工具和 黑盒测试 工具、静态测试工具 和动态测试工具等。根据工具的来源 不同,分为开源测试工具 (多数是免费的)和 商业测试工具 、自主开发的 测试工具和 第三方 测试工具等。根据测试的 对象和目的 ,分为单元测试工具、

47、功能 测试工具、性能 测试工具、 测试管理 工具等3.功能测试工具介绍基于 GUI功能测试工具主要适合回归测试阶段4.Web 功能测试工具【主要进行链接检查、 HTML 检查、Web功能和 Web站点安全性等各个方面的测试。】开源的 Web功能测试工具:Selenium、MaxQ 、Canoo WebTest 、Slimdog、WatiR、WatiN、WatiJ、FIT 商业的 Web功能测试工具:Parasoft WebKing 、SOAPtest 、WebCheck 、5.客户端测试工具:AutoIT 、商业的 :HP QTP6.嵌入式测试工具实时地将测试信息通过网线/ 串口传到宿主机(H

48、ost )上,并实时在线地显示。因此,对源代码的插装和目标机上的信息收集与回传成为嵌入式测试工具要解决的关键问题7.性能测试工具: JMeter能模拟实际用户的操作行为,记录和回放多用户测试中的事务处理过程,自动生成相应的测试脚本能针对脚本进行修改,增加逻辑控制、完成参数化和数据关联可以设置不同的应用环境和场景,通过虚拟用户执行相应的测试脚本通过系统监控工具获得系统性能的相关指标的值8.安全性测试工具9.缺陷跟踪系统1)基于缺陷数据库,可统一数据格式、完成数据校验,而且确保每一个缺陷不会被忽视2)基于数据库系统,有利于建立各种动态的数据报表,用于项目状态报告和缺陷数据统计分析3)基于系统可以随

49、时得到最新的缺陷状态,消除沟通上的障碍。4)基于系统可以将缺陷和测试用例、需求等关联起来,更深度的分析, 有利于产品的质量改进10. 测试管理系统能管理整个测试过程,提高管理的效率和准确性,并提供一个协同合作的环境测试管理系统以测试用例库、缺陷库为核心【在需求 / 功能点、测试用例、缺陷等之间建立必要的映射关系】第 12 章1. 重要1.软件测试团队的责任测试人员的基本责任:1)发现软件程序、系统或产品中所有的问题精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 26 页20 / 26 2)尽早发现问题;3)督促开发人员尽早地解决程序中

50、的缺陷测试团队的责任还包括:4)帮助项目管理人员制定合理的开发计划;5)对问题进行分析、分类总结和跟踪6)帮助改善开发流程,提高产品开发效率7)督促代码编写具有更好的规范性、易读性、可维护性等2.软件测试团队的两种组织模型1.按技术领域来组建团队的模型【可充分交流,人员来自不同部门,凝聚力差】2. 按产品线来组建团队的模型【适合产品比较多、公司规模比较大】3.优秀测试工程师的素质高度的责任感;非常好的沟通能力、幽默感;技术能力、自信心、耐心;怀疑一切的精神、勤奋精神;洞察力、适度的好奇心;反向思维和发散思维能力、记忆力;自我学习能力、创新能力等2. 次重要1. 测试团队的基本构成 QA/测试经

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁