软件测试复习提纲一
- 格式:doc
- 大小:24.50 KB
- 文档页数:1
一、题型1、选择题(15-20题)30-40分2、判断题(15-20题)15-20分3、综合题:45-55分A、基本概念B、白盒测试C、黑盒测试二、考点1.软件测试的目的2.软件测试的任务3.软件缺陷产生的原因及特征4.单元测试概念、方法、特点5.集成测试概念、方法、特点6.系统测试概念、方法、特点7.白盒测试概念、方法、特点(包括语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖)8.黑盒测试概念、方法、特点(等价类划分方法)9.等价类的划分方法10.其他与测试相关概念1.软件测试的目的(1)测试是程序的执行过程,目的在于发现错误。
(不能证明程序的正确性,除非仅处理有限种情况)(2)检查系统是否满足需求也是测试的期望目标。
(3)一个好的测试用例在于发现了还未曾发现的错误;一次成功的测试则是发现了错误的测试。
注意:测试无法说明错误不存在,只能说明软件错误已出现。
2.软件测试的任务通过执行程序,暴露潜在的错误3.软件缺陷产生的原因及特征原因:(1)人在软件的设计阶段所犯的错误是导致软件失效的主要原因。
(2)软件复杂性是产生软件缺陷的极其重要的根源。
特征:(1)软件的特殊性决定了缺陷不易看到,即“看不到”。
(2)发现了缺陷,但不易找到问题发生的原因所在,即“看到但是抓不到”。
4.单元测试概念、方法、特点概念:(1)是对软件基本组成单元进行的测试。
(2)单元具有一些基本属性,如:明确的功能、规格定义,明确的与其他部分的接口定义等,可清晰地与同意程序的其他单元划分。
(3)基本单元不一定是指一个具体的函数或一个类的方法。
(4)在具体实现时,也可能对应的是多个程序文件中的一组函数。
方法:(1)自顶向下的单元测试策略(2)自底向上的单元测试策略(3)孤立的测试策略(4)综合测试(详情请读PPT或课本)特点:单元测试的力度最小,主要测试单元是否符合“设计”,检验每个软件单元能否正确地实现其功能满足其性能和接口要求。
软件测试技术复习大纲说明:1.试卷结构:选择(40×1)、判断(10×1)、简答(4×5)、综合(2×15)2.复习范围:习题、课件、教材3.考试采用答题纸第一章测试概述1.一些基本定义1)错误、缺陷、故障、失效;2)测试:是采用测试用例执行软件的活动。
3)测试用例:是为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,包括测试输入、执行条件和预期的结果。
2.软件缺陷产生的最大原因:软件需求说明书3.软件缺陷修复的代价最高的阶段:发布阶段4.测试停止的标准:当达到所要求的覆盖时等(教材p160)5.理解软件测试的定义(课件);测试与调试的区别。
6.理解软件缺陷的属性:缺陷标识、缺陷类型、缺陷严重程度、缺陷产生可能性、缺陷优先级、缺陷状态、缺陷起源、缺陷来源、缺陷原因(课件)7.软件测试的误区、复杂性分析(课件)8.动态测试与静态测试概念、内容(课件)9.理解回归测试概念10.设计测试用例的两种方法:黑盒、白盒测试(教材p6),各自的定义、优缺点比较(课件)。
11.软件测试目的12.软件测试员的必备素质(课件);测试人员所面临的挑战。
13.了解QA与软件测试的区别(课件)14.软件测试生命周期(课件)第二章黑盒测试方法1.掌握等价类划分法(实现的步骤、等价类划分的情况);a)等价类是指某个输入域(值域)的子集合。
等价类划分法是把所有可能的输入(出)数据,即程序的输入域(或值域)划分为若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
b)分类:i.根据是否进行无效数据的测试(健壮/一般)ii.根据单缺陷与多缺陷假设(强/弱)c)弱一般/强一般/弱健壮/强健壮等价类测试用例图示(教材p88)d)采用等价类划分法设计测试用例通常分两步进行:确定等价类,列出等价类表;确定测试用例。
2.掌握边界值分析法a)定义:对输入输出的边界值进行测试的一种方法b)分类:①基本边界值分析(4n+1)、②健壮性测试(6n+1)、③最坏情况测试(5n)和④健壮性最坏情况测试(7n)c)测试用例之间的集合关系d)该方法设计出的测试用例发现程序错误的能力最强3.了解因果图法:一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,根据输出对输入的依赖关系设计测试用例的方法。
软件测试课复习提纲1. 描述一个比较规范的软件开发流程,或你们是怎么进行测试的2. 你们是如何保证软件质量的3.软件和硬件的区别4.什么是软件工程,软件工程主要从几方面管理软件项目?5.那些任务需要使用工具,或软件生命周期一般分为几个阶段6.CMM是什么的缩写,简单介绍一下什么是CMM?7.CMM如何分级,每级都关注哪些事情?8.配置管理是CMM哪级的要求?SQA呢?需求管理?软件项目跟踪和监控?(2)同行评审?(3)软件质量管理?定量过程管理?4)介绍CMM2级的主要KPA9.描述几种典型的软件开发模型10.软件工程铁三角是?11.软件质量控制的手段有哪些?12.测试目的是什么?13.说说你认为测试有什么基本原则14.你常用的测试技术有哪些?15.基本路径测试是在什么测试里提出来的?16.什么是黑盒测试?黑盒测试要关注哪些内容?17.黑盒测试的方法?18.GUI测试考虑的范围一般有哪些?19.C/S测试关注什么?20.都有哪些测试类型?描述一下21.测试基本流程里一般包括哪些测试?每个测试阶段都主要干什么22.回归测试是什么?23.叙述一个良好的测试团队的人员组成和职责,或你们测试组的人员分工24.介绍一个完整的测试过程,或说说你们是如何测试XXX软件的25. 描述bug的处理流程,bug中会包括哪些类型的问题26.谈谈几种测试工具的功能和特点27.自动化测试的好处和问题28.测试工程师对自己的要求有哪些方面,或者你对自己的技能发展和素质提高有什么认识29. 你编写测试用例都依据什么,你认为设计测试用例有哪些要求或者说好的测试用例的基本要求是什么?30.白盒测试有哪些方法?有哪些常见的工具?是谁来完成?31.测试用例是不是越多越好?32.根据什么来判断测试是否完成?软件测试课复习提纲回答要点(参考)1.描述一个比较规范的软件开发测试流程2.如何保证软件质量(流程,版本控制系统,配置管理,需求管理,故障管理,阶段review。
软件测试的公理:1 .测试只能保证软件存在错误,而不能表明软件没有错误。
2.测试的作用:确定程序中存在缺陷;帮助判断程序在实际中是否有用。
3.自己测试自己的程序是不可能能够测试充分的。
白盒测试主要根据被测程序的内部结构设计测试用例。
黑盒测试主要根据规格说明设计测试用例。
1.白盒测试:又叫做结构测试,逻辑驱动测试,是基于程序的测试。
2.黑盒测试:又叫做功能测试,数据驱动测试,是基于规格说明书的测试,从用户的观点出发的测试。
3.什么是软件测试?狭义上,软件测试是为了发现错误而执行程序的过程,是根据各个阶段的规格说明和内部结构而设计的一批测试用例,并根据这些测试用例执行程序发现错误的过程。
广义上,软件测试是贯穿整个软件开发周期,对软件产品(包括阶段性产品)进行验证和确认的过程。
其目的是尽早的发现软件中的错误一与用户需求和预先结果不一致性。
4.软件测试可以分为:单元测试,集成测试(又分为非增量式测试和增量式测试(自顶向下增量式测试,自底向上增量式测试,混合增量式测试)),确认测试,系统测试,验收测试。
5.软件测试的目的:发现软件错误,保证软件质量。
6.软件缺陷:1)产品为达到说明书上已经标明的功能2)产品出现说明书不会出现的错误3)产品没有实现说明说中虽未指出但应达到的目标4)产品功能超出说明书指明的范围5)软件测试人员认为软件难理解,不宜使用,或用户认为该产品使用效果不良。
7.白盒设计测试用例的方法:(语句覆盖,条件覆盖,判定覆盖,条件判定覆盖,)又叫做逻辑覆盖法、路径覆盖8.软件测试的对象:数据,程序,文档。
9.黑盒测试设计方法:边界值分析法,等价类划分法(有效等价类,无效等价类),正交法,判定表法,因果图法,用例场景10.对于一个n变量函数,边界值分析法会产生4n+l个测试用例。
如:x属于【1,12】,y属于【1,31】,则边界值分析法设计测试用例。
<1, 15X2, 15X12, 15X11, 15X6, 15X6, 1X6, 2X6, 30X6, 31〉共九个4*2+111.个数为n的函数的最坏情况为5的n次方个。
软件测试复习提纲第1章1. 软件缺陷产生的原因和软件缺陷的定义2. 软件测试的定义,软件测试V模型、W模型和H模型的特点及优缺点3. 软件测试的分类(1)按照软件测试的生命周期,可以将测试的执行过程划分为:单元测试、集成测试、确认测试、验收测试。
Alpha测试(内部的验收测试),Beta测试(用户进行的外部验收测试,但独立于验收测试)(2)按照软件测试技术可以将测试划分为白盒测试、黑盒测试、灰盒测试。
白盒测试(又称结构测试或逻辑驱动测试,主要测试程序的内部结构,设计的依据是设计文档),黑盒测试(又称作功能测试或数据驱动测试,主要测试的系统的功能,设计的依据是需求规格说明书),灰盒测试(介于白盒测试与黑盒测试之间的测试,关注输出对输入的正确性,同时也关注内部表现)(3)其他分类形式(了解)4. 软件测试与软件工程的关系(1)软件测试是软件工程的一部分,不是独立于软件工程的(2)软件测试贯穿于软件开发的全过程,软件开发过程中的所有结果都需要测试,甚至软件测试本身也需要测试第2章1. 白盒测试方法可分为两大类:静态测试方法和动态测试方法。
静态测试方法不需要执行程序,而是以一些人工的模拟技术或使用测试软件对软件进行分析和测试;动态测试方法是设计一系列的测试用例,通过输入预先设定好的数据来动态运行程序,从而达到发现程序错误的目的。
2. 逻辑覆盖测试(1)语句覆盖(2)判定覆盖(3)条件覆盖(4)判定条件覆盖(5)组合覆盖(6)路径覆盖知识点说明:理论上,上面6种覆盖在测试时要达到100%。
其中,最弱的覆盖是语句覆盖,最强的覆盖是组合覆盖。
若达不到100%的覆盖(如路径覆盖),则需换其他测试技术;每一个逻辑覆盖技术要理解并掌握其定义和使用方法,要分清强弱关系。
3. 路径分析测试(1)控制流图。
对给定的程序或流程图,要会画控制流图,会计算环形复杂度(要掌握V(G)的3个计算公式,并掌握公式中符号代表的内容)。
《软件测试》复习提纲1.PDCA的涵义与具体内容PDCA循环又叫戴明环,是美国质量管理专家戴明博士提出的,它是全面质量管理所应遵循的科学程序。
全面质量管理活动的全部过程,就是质量计划的制订和组织实现的过程,这个过程就是按照PDCA循环,不停顿地周而复始地运转的。
P(Plan)--计划目标,确定方针和目标,确定活动计划;D(Do)--执行,实地去做,实现计划中内容的细节;C(Check)--检查,总结执行计划的结果,注意效果,找出问题;A(Action)--行动改进,对总结检查的结果进行处理,成功的经验加以肯定并适当推广、标准化;失败的教训加以总结,以免重现,未解决的问题放到下一个PDCA循环。
2.软件质量保证的基本要素及相关涵义(P5-8)软件质量保证的活动基本上可以分为三类,分别是:软件测试(例如校验与确认),软件配置管理以及质量控制。
软件测试一种被普遍采用的风险管理策略,其作用是用来查证软件是否已经满足功能需求。
质量控制的定义是“用于监控工作以及观察需求是否被满足的过程和方法”,其要点是在产品推出之前就发现并纠正产品的缺陷。
软件配置管理系统中的各个软件元素都存在变化,软件配置管理所关心的就是来标识、跟踪并且控制这些变化3.软件测试的基本模式和相关操作方法(P10-12)1.黑盒测试(功能测试)在黑盒测试或功能测试中,测试条件主要是基于程序或者系统的功能。
比如,测试人员需要有关输入数据的信息,然后他观察输出数据,但是他并不知道程序到底是如何工作的。
就好比一个人不知道汽车的内部工作方式。
在这里,运行一个程序并不需要对理解其内部结构。
测试人员只是关注于程序的功能是否和规格说明书所描述的一致。
在黑盒测试中,测试人员把程序看成一个黑盒子,他完全没有必要了解程序或者系统的内部构造。
这方面的例子有:决策表格、等值划分、范围测试、边界值测试、数据库完整性测试、因果图、直交数组测试、数据和表格测试、异常测试、极限测试以及随机测试。
软件测试复习提纲第一章:1、什么是软件测试。
(1)程序测试是为了发现错误而执行程序的过程(2)测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量(3)测试对象不只包括程序代码,也包括与软件相关的交付件2、软件测试的目的。
(1)软件测试的目的就是寻找软件中的缺陷(2)为了获得更高质量的软件,软件测试的目标是尽量多的寻找软件中的缺陷(3)另外,考虑到测试成本,软件测试的目的是在可允许的时间跨度内可管理的工作量的条件下尽可能多地寻找软件中的缺陷3、软件测试的分类(1)站在对被测对象内部实现情况了解程度的角度:白盒测试、灰盒测试和黑盒测试;(2)站在是否执行被测系统的角度:静态测试和动态测试;(3)站在测试工具支持的程度:手工测试和自动测试;(4)站在被测内容的角度:功能测试、结构测试和非功能性测试;(5)站在以显示被测对象是否工作的角度:正向测试和反向测试;(6)站在测试过程推进的角度:单元测试、集成测试、系统测试。
4、为什么不可能进行完全的测试。
(1)输入的组合数目太庞大(2)输出的可能结果数目太庞大(3)可执行的路径数目太庞大5、高质量测试用例的属性。
(1)有效性:是否能够发现缺陷或者至少可能发现缺陷(2)仿效性:衡量测试用例的代表程度,减少测试用例的数量(3)经济性:测试用例所花费的成本,包括设计、实现、调试和运行测试用例的成本(4)可维护性:修改和维护测试用例的难易程度6、测试和调试的区别和联系。
(1)测试:测试的目的是为了寻找缺陷(2)调试:调试是为了发现、定位和修改程序代码中的错误;调试的目的是为了排错(3)区别和联系:测试为了寻找缺陷,调试为了排除缺陷;可能存在这样的工作流程: 测试发现缺陷◊调试定位缺陷和修改缺陷◊测试验证缺陷是否修改正确第二章1、什么是静态测试。
(1)定义:通过检查和评审软件而不是运行软件对软件进行测试的方法(2)对象:各种与软件相关的有必要进行测试的产物,例如各类文档、源代码等(3)方法:评审,通常由人来执行静态分析,通常需要工具辅助2、缺陷发现越早修复成本越低3、评审的分类(1)培训评审;(2)预备评审;(3)同行评审;(4)状态评审4、同行评审的类型(1)审查;(2)小组评审;(3)走读;(4)桌面评审;(5)临时评审第三章:1、什么是黑盒测试。
《软件测试》复习提纲用答案(dáàn)1.什么是软件测试?为何(wèihé)要进行软件测试?软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期、对软件产品(包括(bāokuò)阶段性产品)进行验证和确认的活动过程。
确保软件的功能符合(fúhé)用户的需求,把尽可能多的问题在发布或交付前发现并改正。
2.什么是软件缺陷?请举例。
哪里(nǎ li)出现的缺陷最多?软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,未满足用户的需求。
术语:缺点(defect)异常(anomaly)偏差(variance)失败(failure)缺陷(bug)故障(fault)问题(problt)错误(error)规格说明书出现的最多。
3.软件测试是否就是程序测试?哪些可以作为软件测试的对象?不是。
对象:程序、数据(库)、文档、服务4.软件测试的目的是什么?软件测试的目标是什么?软件测试的原则是什么?目的:测试的目的就是发现软件中的各种错误和缺陷;测试只能证明软件存在缺陷,不能证明软件不存在缺陷;测试可以使软件中缺陷降低到一定程度,而不是彻底消灭;以较少的用例、时间和人力找出软件中的各种错误和缺陷,以确保软件的质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。
目标:确保软件完成了它所承诺或公布的功能;为软件的质量评估提供依据;确保软件满足性能的要求;确保软件是健壮的和适应用户环境,为软件质量改进和管理提供帮助原则:所有的测试都应追溯到用户需求;保证测试的覆盖程度,但穷举测试是不可能的;越早测试越好,测试过程与开发过程应是相结合的;Pareto原则:测试中发现的80%的错误可能来自于20%的程序代码;测试的规模由小而大,从单元测试到系统测试;为了尽可能地发现错误,应该由独立的第三方来测试;不能为了便于测试擅自修改程序;既应该测试软件该做什么也应该测试软件不该做什么5.软件测试如何分类?按照程序是否执行:静态测试(审查、评审和走查)、动态测试按照测试用例的设计方法:白盒测试、黑盒测试按照(ànzhào)开发阶段划分:单元测试、集成测试、系统测试、验收测试按照(ànzhào)测试实施的组织划分:开发方测试、用户测试(β测试(cèshì))、第三方测试按照是否使用工具(gōngjù):手工测试、自动化测试6.常见(chánɡ jiàn)的软件测试模型有哪些?各有什么优缺点?V模型从左到右,描述了基本的开发过程和测试行为,明确地标明了测试工程中存在的不同级别,清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。
中科大软院软测期末复习提纲知识点一、软件测试基础知识1.软件测试概述-软件测试的定义和目标-软件测试的作用和重要性-软件测试的原则和方法2.软件测试流程-软件测试生命周期-软件测试过程中的活动和任务-不同阶段的测试策略和技术3.软件测试的类型-黑盒测试和白盒测试-功能测试、性能测试、安全测试、用户界面测试等4.软件测试用例设计-测试用例的概念和特性-测试用例设计的方法和技术-边界值分析、等价类划分、路径覆盖等二、软件测试技术1.静态测试技术-静态测试的概念和特点-静态测试方法和工具-代码审核、文档检查、需求审查等2.黑盒测试技术-黑盒测试的概念和特点-黑盒测试方法和技术-等价类划分、边界值分析、决策表等3.白盒测试技术-白盒测试的概念和特点-白盒测试方法和技术-代码覆盖率、路径覆盖、循环复杂度等4.自动化测试技术-自动化测试的概念和优势-自动化测试工具和框架-脚本编写和执行、测试自动化流程等三、软件测试管理1.软件测试计划-软件测试计划的编制和执行-软件测试计划的内容和要素-软件测试计划的评审和修改2.缺陷管理-缺陷管理的概念和重要性-缺陷管理的流程和工具-缺陷跟踪、缺陷分析、缺陷解决等3.测试评估和报告-测试评估的目的和方法-测试阶段评估和总结-测试报告的编写和呈现方式4.软件测试团队协作-软件测试团队的角色和职责-团队协作的原则和模式-沟通和合作技巧的培养四、软件测试工具1.测试管理工具-缺陷管理工具、测试计划工具、测试报告工具等-常用测试管理工具的介绍和比较2.自动化测试工具-自动化测试脚本工具、自动化测试执行工具等-常用自动化测试工具的介绍和比较3.性能测试工具-压力测试工具、负载测试工具等-常用性能测试工具的介绍和比较4.安全测试工具-漏洞扫描工具、代码审计工具等-常用安全测试工具的介绍和比较。
考试题型:判断1X10 不定项选择3X5 填空2X10 简答5X7大题10X2(计算、发挥论述)第一课:1、什么是测试答:所谓测试,就是通过一定的方法或工具,对被测试对象进行检验或考试,目的是发现被测试对象存在的问题或验证其具有某种属性。
2、软件缺陷错误(error):人类会犯错误。
缺陷(fault):缺陷是错误的结果。
( bug )失效(failure):当缺陷执行时会发生失效事故(incident):当出现失效时,给用户造成不同程度的损失。
3、为什么会出现软件缺陷(缺陷生命周期)主要问题来自于需求分析阶段(图)4、软件缺陷定义(很可能简答1)符合下列5个规则中的一个就叫软件缺陷:a)软件未达到产品说明书标明的功能b)软件出现了产品说明书指明不会出现的错误c)软件未达到产品说明书未指明但应达到的目标d)软件功能超出产品说明书所指明范围e)软件测试人员认为软件难以理解、不易使用、速度缓慢,或者最终用户认为不好。
5、软件测试人员的工作目的:发现软件缺陷目标:尽可能早些发现软件缺陷,并确保其得以修复。
第二课:1、软件测试V模型(画图、解释)编制产品说明书设计编写代码其他改进的V模型验收测试设计系统测试设计集成测试设计单元测试设计2、了解一下其他模型特点、代表性H模型:强调测试是一个独立的流程X模型第三课:1、软件测试原则1)完全测试不可能(输入量太大、输出结果太多、软件路径太多、软件说明书没有标准、时间不允许、人员不允许、资金不允许….)2)软件测试是有风险的——把握最优测试量3)测试无法显示潜伏的软件缺陷4)找到的软件缺陷越多,说明未发现的软件缺陷也越多5)杀虫剂怪现象——必须从不同的角度进行测试6)并非所有的软件缺陷都能修复7)难以说清的软件缺陷8)产品说明书不断变化9)软件测试人员在产品小组中不易受欢迎10)避免测试的随意性2、术语区分1)验证与合法性检查首先假定软件产品说明书是满足用户需求的,验证软件符合产品说明书跳出软件产品说明书的限制,测试软件是否满足用户的需求2)测试和质量保证软件测试人员的目标是找出软件缺陷,尽可能早些,并确保缺陷得以修复软件质量保证人员的主要职责是创建和加强软件开发中防止缺陷产生的标准和方法3、软件质量定义(知道每个国标对应的内容)1991年,ISO9126(GB16260):软件质量是软件满足规定或潜在用户需求特性的总和1999年,ISO14598(GB18905):软件质量是软件特性的总和,是满足规定或潜在用户需求的能力2001年,ISO9126:软件质量包括内部质量、外部质量和使用质量三部分。
纲要(考查要点)1.软件测试的目的与软件测试相区别,软件调试的目的是找出错误所在并改正之2.软件缺陷产生的原因3.测试用例的概念测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
在设计测试用例时,应包括合理的输入条件和不合理的输入条件。
4.软件测试的原则5.软件测试的策略,软件测试类型按开发阶段划分单元测试、集成测试、确认测试、系统测试、验收测试6. 静态测试和动态测试7.黑盒测试和白盒测试的概念和测试原理黑盒测试是通过软件的外部表现来发现软件缺陷和错误的测试方法,具体地说,黑盒测试用例设计技术包括等价类划分法、因果图法、边界值分析法、错误推测法、决策表法白盒测试与黑盒测试的最主要区别,白盒测试侧重于程序结构,黑盒测试侧重于功能白盒测试技术,逻辑覆盖法、基本路径分析法8. 软件测试的过程流程,单元测试、集成测试;驱动模块、桩模块;驱动模块(Drive)用来模拟被测试模块的上一级模块,相当于被测模块的主程序。
它接收数据,将相关数据传送给被测模块,启动被测模块,并打印出相应的结果。
桩模块是在进行单元测试时所设置的一种辅助测试模块,它用来模拟被测试模块工作过程中所调用的模块。
桩模块由被测模块调用,它们一般只进行很少的数据处理,以便检验被测模块与其下级模块的接口9.等价类的划分,边界值有二元函数f(x,y),其中x∈[1,12],y∈[1,31]。
则采用标准边界值分析法设计的测试用例是:{ <1,15>, <2,15>, <11,15>, <12,15>, <6,15>, <6,1>, <6,2>, <6,30>, <6,31> }对于一个含有n个变量的程序,采用标准边界值分析法测试程序会产生(4n+1)个测试用例。
可编辑修改精选全文完整版第1章概述1、软件测试的目的是尽可能发现并排除软件中潜藏的错误,提高软件的可靠性2、软件缺陷、软件错误和软件失败的关系是软件错误导致软件缺陷,软件错误导致软件失败。
3、测试与调试是有区别的,测试不是调试的一个部分。
4、软件生存周期是从软件开始开发到软件淘汰的整个时期。
5、可以发布具有配置缺陷的软件产品。
有些缺陷可以在以后的版本中修复。
所以测试人员要坚持原则,但有些缺陷未修复完可以通过。
6、发现错误多的程序模块,残留在模块中的错误也多。
错误的群集现象是指模块错误发现率与模块的残留错误数成正比关系。
7、缺陷跟踪的流程有添加缺陷、审阅新缺陷;修复打开的缺陷、测试新版本;分析缺陷数据8、在软件开发过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会很高。
9、软件测试概念,软件测试的目的和作用。
P4,5概念:软件测试是为了发现错误而执行程序的过程。
目的:尽可能发现并排除软件中潜藏的错误,提高软件的可靠性。
作用:1、测试是执行一个系统或者程序的操作。
2、测试是带着发现问题和错误的意图来分析和执行程序。
3、测试结果可以检验程序的功能和质量。
4、测试可以评估项目产品是否获得预期目标和可以被客户接受的结果。
5、测试不仅包括执行代码,还包括对需求等编码以外的测试。
第2章软件测试方法1、动态测试指通过运行程序发现错误。
对软件产品进行动态测试时使用黑盒测试法和白盒测试法。
2、如果一个判定中的复合条件表达式为(A > 1)or(B <= 3),则为了达到100%的条件覆盖率,至少需要设计2个测试用例。
3、白盒测试以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部数据结构和运行状态是否有错,程序的语句和条件与预期的状态是否一致。
4、黑盒测试依据软件需求规格说明,检查程序是否满足功能要求。
因此,黑盒测试由称为功能测试或数据驱动测试。
5、黑盒测试的测试用例是根据功能需求说明设计的。
第1章软件测试背景1.1 软件测试现状1.1.1 国外软件测试现状1.1.2 国内软件测试现状与发展趋势1.2 软件缺陷定义1.3 为什么会出现软件缺陷1.4 软件缺陷的修复费用1.5 软件测试员应该做些什么1.6 优秀的测试工程师应具备的素质第2章软件测试与软件开发关系2.1 软件开发过程2.2 软件测试在软件开发中的作用2.3 软件测试过程模型2.4 软件测试环境的搭建第3章软件测试的实质3.1 软件测试的原则3.2 软件测试的术语和定义第二部分软件测试基础第4章软件测试概念4.1 软件测试定义4.1.1软件测试正向思维4.1.2 软件测试反向思维41..3 IEEE定义的测试4.1.4 广义软件测试4.2 软件测试的目的4.3 软件测试心理学4.3.1 程序测试过程具有破坏性4.3.2程序员应避免测试自己的程序4.3.3 程序设计机构不应测试自己的程序4.4 软件测试的分类4.4.1 按照开发阶段划分4.4.2 按照测试实施组织划分4.4.3 按照测试技术划分4.4.4 按照执行状态划分4.4.5 按照软件特效划分4.4.6 其他划分4.5 软件测试的流程第5 章黑盒测试技术5.1 静态黑盒测试5.2 通过性测试和失效性测试5.2 等价类划分5.2.1 等价类划分方法5.2.2 等价类划分法的测试运用5.3 边界值分析法5.3.1 边界条件5.3.2 次边界条件5.3.3 特殊数据5.3.4 边界值分析法的测试运用5.4 决策表法5.4.1 决策表法的原理5.4.2 决策表法的测试运用5.4 因果图法5.4.1 因果图法的原理5.4.2 因果图法的测试运用5.5 其它黑盒测试技术5.5.1 像笨拙的用户那样做5.5.2 在已经找到的软件缺陷的地方再找找5.5.3 像黑客一样考虑问题5.5.4 凭借经验、直觉和预感第6 章白盒测试技术6.1 静态白盒测试6.1.1 检查设计和代码6.1.2 静态错误分析6.1.3 通用代码审查清单6.2 单元测试6.2.1 单元测试环境6.2.2 单元测试方法6.2.3 单元测试用例设计6.3 集成测试6.3.1 非增量式测试6.3.2 增量测试方法6.3.3 回归测试6.3.4 冒烟测试第7章灰盒测试技术第8章系统测试技术8.1 功能测试8.2 错误处理测试8.3 内存泄漏测试8.4 用户界面测试8.5 安装与卸载测试8.6 升级测试8.7 兼容性测试8.8 安全测试8.9 性能测试8.10 压力测试第9章WEB测试9.1 WEB测试特点9.2 用户界面测试9.3 功能测试9.4 表单测试9.5 兼容性测试9.6 安全测试第10章APP测试12.1 移动环境12.2 手机测试与传统测试的区别12.3 移动测试面临的挑战12.3.1 移动设备多样性12.3.2 运营商网络基础设施12.3 测试方法12.3.1 真机测试12.3.2 基于模拟器的测试第11章软件自动化测试13.1 LoadRunner性能测试工具13.1.1 环境搭建及主要功能菜单介绍13.1.2 性能测试相关术语13.1.3 性能测试流程13.1.4 脚本录制过程13.1.5 优化性能脚本13.1.6 执行测试场景及结果分析13.2 QTP自动化测试工具13.2.1 环境搭建及主要功能菜单介绍13.2.2 录制、回放自动化脚本13.2.3 优化自动化脚本13.2.4 执行自动化脚本及结果分析13.3 Monkey自动化测试工具第四部分测试管理第12章编写、跟踪测试用例13.1 测试用例的定义和特征13.2 设计测试用例目的13.3 好的测试用例是什么样子13.4 测试用例包含内容13.5 设计测试用例常用方法第13章报告发现的问题14.1 软件缺陷跟踪管理系统14.1.1 缺陷包含的内容14.1.2 bug状态14.1.3 bug重要程度划分14.1.4 bug优先级划分14.2设法修复软件缺陷14.3 分离和再现软件缺陷14.4 软件缺陷的生命周期第14章常用的缺陷管理工具15.1 TestDirector使用介绍15.2 Quality Center使用介绍15.3 BugFree第17章软件测试项目管理17.1 建立测试管理体系17.2 测试管理的基本内容17.3 测试组织管理17.4 测试过程管理17.5 资源和配置管理17.6 测试文档管理17.7 测试管理原则17.8 测试管理实践。
软件测试方法复习大纲前言:本课程复习大纲,希望各位同学认真看课本和PPT的相关内容。
第一章:引论了解:1.2 为什么要进行软件测试1.3 什么是软件测试1.4 软件测试和软件开发的关系第二章:软件测试的基本概念了解:2.1.5 修复软件缺陷的代价掌握:2.3 软件测试的分类2.5 软件测试的工作范畴第三章:软件测试方法理解:白盒测试的概念黒盒测试的概念掌握:白盒测试方法的分类:语句覆盖,判定覆盖,条件覆盖,路径覆盖,判定-条件覆盖,条件组合覆盖,基本路径测试法黒盒测试方法的分类:等价类划分法,边界值分析法,应果图法,判定表法第四章了解:TMM,TPI,CTP,STEP第五章:单元测试掌握:单元测试的概念,单元测试的测试人员,单元测试的测试方法,单元测试的测试依据第六章:集成测试和系统测试掌握:集成测试的概念,集成测试的测试人员,集成测试的集成模式和经典代表;集成测试的测试依据;系统测试的概念,系统测试的测试人员,系统测试的内容,功能测试,回归测试,非功能性测试,系统测试的测试依据第七章:验收测试掌握:验收测试的概念,验收测试的测试人员,验收测试的内容,验收测试的测试依据,α,β测试第十一章软件测试自动化掌握:11.1 测试自动化的内涵11.2 测试自动化实现的原理11.3.1测试自动化的实施11.3.4 自动化测试的引入和应用11.4功能测试工具11.5性能测试工具第十二章组建测试团队掌握:12.1 测试团队的地位和责任12.2测试团队的构成12.3 如何从零开始第十三章理解:13.2 测试环境要素第十四章设计和维护测试用例掌握:测试用例的构成及其设计,测试用例的属性第十五章报告所发现的缺陷掌握:15.1 软件缺陷的描述软件缺陷的生命周期严重性和优先级缺陷的其它属性完整的缺陷信息缺陷描述的基本要求第十七章软件测试项目管理了解:17.1 测试项目管理的特点掌握:17.3 软件测试项目的过程管理。
第一章软件测试概述1.1 软件、软件危机和软件工程1.1.1软件、软件危机和软件工程的基本概念(什么是软件?什么是软件危机?)软件——软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及相关文档的完整集合。
软件危机——软件危机是在计算机的开发和维护过程中产生一系列严重的问题,导致软件生产与市场需求出现严重对立的局面。
软件工程——软件工程是应用计算机科学、数学及管理科学等原理开发软件的过程。
1.2软件缺陷与软件故障(软件错误、软件缺陷、软件故障几个概念的关系)软件错误是指在软件生存期内的不希望出现或不可接受的人为错误,软件错误导致软件缺陷的产生。
(存在于过程中)软件缺陷是存在于软件(文档、数据、程序)之中的不希望出现或不可接受的偏差,软件缺陷导致软件在运行于某一特定条件时出现软件故障,这时软件缺陷被激活。
(潜伏于软件产品中)软件故障是指软件在运行过程中产生的不希望出现或不可接受的内部状态,对软件故障若无适当措施(容错)加以处理,就会使软件失效。
(执行中表现)软件失效是指软件在运行时产生的不希望出现的或不可接受的外部行为结果。
(故障未得到有效处理)1.3软件测试1.4.1软件测试的概念(定义及目的)软件测试——简单地说,软件测试就是为了发现错误而执行程序的过程。
IEEE定义为:使用人工或自动手段运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。
软件测试的目的——发现缺陷、评估软件质量、帮助改进开发。
1.4.3软件测试过程模型(及其特点)(列举三种软件过程模型,并简单说明其特点)1.V模型:反映测试阶段与开发阶段的对应关系,不能反映测试的完整过程。
2.W模型:对V模型的改进。
增加了软件开发各个阶段同步进行的验证和确认活动。
3.H模型:强调测试流程的独立性,测试就绪点体现了与其他流程的关联。
1.4.4软件测试的分类按测试方式分类——静态测试、动态测试。
考试提纲1.软件具有几个特点,请详细说明。
2.软件的分类方法都有哪些?3.软件测试的概念4.软件测试的方法有哪些?5.请简要说明软件测试阶段的任务。
6.说明软件测试人员需要的知识结构。
7.软件测试人员需要的素质都有哪些?请简要说出。
8.白盒测试有哪两个分类?9.说出白盒测试的4个原则。
10.详细说明白盒测试方法要注意的问题。
11.请简要写出白盒测试常用的7类技术。
12.逻辑覆盖主要测试哪8各方面的覆盖率?13.请详细叙述黑盒测试的基本概念。
14.黑盒测试都有哪些优点?请说明。
15.黑盒测试都有哪些缺点?请说明。
16.请详细说明黑盒测试的方法。
17.黑盒测试的原则都有哪些?18.什么是测试用例。
19.测试用例主要包括哪些内容。
20.请写出设计测试用例所需的文档资料。
21.简述白盒测试用例的设计技术和目的。
22.简述黑盒测试用例的设计技术和目的。
23.简述单元测试的目的。
24.简述单元测试的主要任务。
25.单元测试主要需要测试哪8点?26.局部数据结构测试主要表现形式是哪6个方面?27.边界条件测试主要测试的是哪3点?28.功能测试的基本概念是什么?请简述之。
29.功能测试的基本要求是什么?请简述之。
30.请说明功能测试的重点。
31.请详细说明Web功能测试的方法主要包括的内容。
32.请详细说明Web翻页功能测试的方法主要包括的内容。
33.请详细说明搜索功能测试的方法主要包括的内容。
34.请详细说明集成测试的内容。
35.请说明集成测试的过程,可以用图表表示。
36.简述集成测试的五个步骤。
37.请详细说明集成测试过程中要注意的事项。
38.判断集成测试过程完成与否,需要注意哪些方面?39.请详细说明性能测试的目的。
40.请列举性能测试的先决条件。
41.请说明性能测试的主要分类,并简介之。
42.请列举在进行性能测试之前我们应掌握的相关文档。
43.一个标准的性能调优过程是是什么?44.简述系统测试的测试类型。
软件测试方法和技术一、名词解释☐软件测试(IEEE)定义:在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价,分析某个软件项以发现现存的和要求的条件之差别(即错误)并评价此软件项的特性。
更完整的定义:软件测试是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体☐测试驱动开发(TDD Test Driven Development),即测试驱动开发的基本思想就是在开发功能代码之前,先编写测试代码,然后只编写使测试通过的功能代码,从而以测试来驱动整个开发过程的进行。
这有助于编写简洁可用和高质量的代码,有很高的灵活性和健壮性,能快速响应变化,并加速开发过程。
☐软件质量:软件产品具有满足规定的或隐含要求能力要求有关的特征与特征总和(ISO 8492)或者书P15:质量是产品或服务所满足明示或暗示需求能力的固有特性和特征的集合☐软件缺陷:P18(软件缺陷的现象也在该页)☐人工检测:人工检测偏重于编码风格、质量的检验,对设计、代码进行分析,有效地发现逻辑设计和编码错误。
☐计算机辅助静态分析:利用静态分析工具对被测程序进行特性分析,从程序中提取一些信息,以便检查程序逻辑的各种缺陷和可疑的程序构造。
☐主动测试方法:测试人员主动向被测试对象发送请求、或借助数据、事件驱动被测试对象的行为,从而验证被测试对象的反应或输出结果☐被动测试方法:测试人员不干预产品的运行,而是被动地监控产品在实际环境中运行,通过一定的被动机制来获得系统运行的数据,包括输入、输出数据.☐系统非功能性测试是将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试P29☐错误推测法:是测试者根据经验、知识和直觉来发现软件错误,来推测程序中可能存在的各种错误,从而有针对性的进行测试P38☐独立路径:至少引入一系列新的处理语句或条件的任何路径☐基本集:由独立路径构成的集合☐基于模型的测试 (MBT, Model-based testing):通过构建能够正确描述被测软件系统功能特性的模型,然后基于这个模型产生测试用例并执行这些测试用例的过程P57☐状态迁移图(state transition diagram,STD):描述系统状态变化的动态信息——动态说明,由状态和迁移来描述,状态指出数据输入的位置(或时间),而迁移则指明状态的改变。
选择题1、软件测试以测试用例为基础2、软件测试按测试层次分单元测试、集成测试、系统测试、验收测试3、导致软件缺陷的最大原因:用户需求4、输入执行条件、预期结果5、软件调试的目的:发现错误并定位6、软件测试代价最大的阶段:发布阶段7、软件缺陷的描述:产品的异常情况8、测试停止的要求:所有要求的测试都已覆盖9、黑盒测试中发现错误能力最强的是:边界值分析法10、功能性测试根据:产品的需求规格说明11、回归测试:指再次运行原来运行的测试用例12、根据输出决定输入的测试方法:因果图法13、通过解释代码(代码审核)达到测试目的的是:静态测试14、关于测试用例特征错误的是:并附有多余或重复的15、软测的目的:发现错误、提高软件的可靠性16、软件Bug状态:变化错误、激活、修复、重新打开17、CMM(能力成熟度模型)的5个等级:1级:初始的;2级:可重复的;3级:定义的;4级:可管理的;5级:不断优化的18、逻辑覆盖分为:语句覆盖、判定覆盖、条件覆盖、组合覆盖、路径覆盖填空题1、软件质量工程包括那3个方面:(1)测试软件质量的基础(2)定义一组用于指导软件开发方式的准则(3)间接定义用户对某些特性的需求。
(未找到标准答案,有望修改)2、同行评审的方法是哪两种:走查(读)检验3、黑盒测试又叫:功能测试;4种测试方法:等价类划分法、边界值分析法、因果图法、决策表法。
4、白盒测试又叫程序测试,被测试对象是代码,以程序的覆盖率作为设计测试用例的依据。
5、软件测试策略所确定的三个阶段:确定测试需求、评估风险、确定测试策略6、静态测试包括:代码走查、代码审查、静态结构分析、代码质量度量7、软件测试的过程:单元测试、集成测试、系统测试、确认/验收测试8、集成测试的模式:自顶向下、自底向上。
名词解释:1.单元测试:单元测试是对对软件中的最小可测试单元进行检查和验证。
2.α、β测试:α测试:指是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。
软件错误error 软件缺陷defect 软件失效failure
软件定义阶段的任务
为了是软件测试更高效,应该遵循的原则
软件测试信息流的输入
与设计测试用例有关的文档
软件测试与软件质量保证的理解
有效等价类无效等价类
黑白盒测试的最主要区别
软件测试逻辑覆盖准则
HP测试工具
不同类型的软件测试
什么是保证冤家的失效满足用户需求的一系列的活动和过程
在不执行软件的情况下自习审查软件和代码的测试称为什么包括什么
黑盒测试法师根据产品的什么来设计测试用例的,根据输出对输入的依赖关系设计测试用例的方法是什么
现有一个系统,有M个输入变量,每个变量的有效等价类个数和无效等价类个数分别为Gi 和Bi,则采用最坏情况测试方法生成的测试用例个数为多少,采用强一般测试方法生成的测试用例个数为多少。
软件自动化测试时一种测试技术,通过使用自动化测试软件按照预先设定的机制,自动对被测试系统执行测试的一种技术,主要包括哪四种技术。
软件管理包括哪三个方面
使用因果图法建立系统转化为扩展条目的决策表根据决策表写出该系统的全部测试用例和基本功能分解图的集成策略相比机遇调用图的集成策略有何优点
根据调用图写出其相邻集成过程
针对下列程序段,对于(A,B)的取值,以下()测试用例组合能够满足条件覆盖的要求。
IF((A-10)=20AND(B+20)>10)THEN C=0
IF((A-30)<10AND(B-30)<0THEN B=30
1.A=50 B=-10
2.A=40 B=40
3.A=30 B=-10
4.A=30 B=30。