软件测试复习资料 西工大
- 格式:doc
- 大小:528.00 KB
- 文档页数:22
软件测试复习题(附答案)一、单选题(共100题,每题1分,共100分)1.( )的优点是:对控制流程描述直观,便于初学者掌握。
A、盒图B、程序流程图C、PAD图D、判定表正确答案:B2.软件项目可行性分析的研究内容包括:技术可行性、经济可行性、运行可行性以及( )等。
A、环境可行性B、人员可行性C、法律可行性D、时间可行性正确答案:C3.( )是结构化系统分析的基本工具。
A、程序流程图B、对话图C、数据流图D、状态转化图正确答案:C4.在VC中,如果在Menu Item属性页中选择( )复选框,表示此菜单项是一个多级菜单,并且其右边将会出现一个新菜单框。
A、CheckedB、inactiveC、Pop-upD、Grayed正确答案:C5.( )是网络的核心,它的主要任务是为网络上的其它机器提供服务。
A、客户机B、服务器C、网络协议D、工作站正确答案:B6.虚拟机好似通用的计算机,有自己的指令系统,但本身没有( )。
A、翻译指令B、操作系统C、实际的硬件D、翻译程序正确答案:C7.所有的( )必须与业务需求一致。
A、用户需求B、系统需求C、产品需求D、功能需求正确答案:A8.软件测试是软件质量保证的重要手段()是软件测试的最基础环节A、单元测试B、验收测试C、确认测试D、系统测试正确答案:A9.( )也称为分支覆盖,是一种较强的逻辑覆盖。
A、路径覆盖B、判定覆盖C、条件组合覆盖D、条件覆盖正确答案:B10.下列有关测试说法中,正确的是()A、测试组的测试工作是在编码阶段开始的B、静态测试是不运行被测程序本身,而寻找程序代码中可能存在的错误或评估程序代码的过程C、所有的测试都适合引入测试工具辅助进行测试D、只要进行有效的测试,就能获得高质量的软件产品正确答案:B11.( )除提供身份证明外,还可指出所签的文档是否已被修改。
A、公开密钥B、传统签名C、私有密钥D、数字签名正确答案:D12.以下不用于单机版系统测试的是()。
第一章1.软件测试正反两方面的观点正面观点:Bill Hetzel博士(软件测试领域的先驱,正向思维代表)主要观点是:软件测试是为了验证软件是否符合用户需求,即验证软件产品是否能正常工作。
反面观点:Glenford J. Myers(反向思维的代表):观点:测试是为了证明程序有错,而不是证明程序无错误。
2.软件测试的定义IEEE 的定义:在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价。
分析某个软件项以发现现存的与要求的条件之差别(即错误)并评价此软件项的特性。
正确的定义:软件测是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体。
3.软件测试在软件开发中的地位软件开发是生产制造软件;软件测试是验证开发出来软件的质量。
类比传统加工制造企业,软件开发人员就是生产加工的工人,软件测试人员就是质检人员。
关系应该是:1、没有软件开发就没有测试,软件开发提供软件测试的对象。
2、软件开发和软件测试都是软件生命周期中的重要组成部分3、软件开发和软件测试都是软件过程中的重要活动。
4、软件测试是保证软件开发产物质量的重要手段。
(网上)V模型第二章1.软件缺陷定义:IEEE STD 729(1983)对软件缺陷给出了一个标准的定义:从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题。
从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。
主要类型:软件缺陷的主要类型/现象有:功能、特性没有实现或部分实现;设计不合理,存在缺陷;实际结果和预期结果不一致;运行出错,包括运行中断、系统崩溃、界面混乱;数据结果不正确、精度不够;用户不能接受的其他问题,如存取时间过长、界面不美观。
产生原因:造成软件缺陷的主要因素:①技术问题算法错误、语法错误、计算和精度问、接口参数传递不匹配等。
②软件本身文档错误、用户使用场合(user scenario),时间上不协调或不一致性所带来的问题;系统的自我恢复或数据的异地备份、灾难性恢复等问题。
软件测试技术复习资料⼀、填空题1. 完整的测试应包括(制定测试计划)(设计测试⽅案)(测试准备和测试环境的搭建)(执⾏测试)(测试评估)。
2. 设计测试⽤例时应包括(输⼊数据)和(预期结果)。
6.对⾯向过程的系统采⽤的集成策略有_____⾃顶向下集成______________、_________________⾃底向上集成__两种。
7.软件测试主要分为__单元测试、集成测试、系统测试、验收测试_四类测试。
8.⿊盒测试⽤例设计⽅法包括等价类划分、边界值分析、_以及_____因果图,错误推测法等。
9.测试⼯作就是进⾏输⼊、接受输出、检验结果,不深⼊代码细节,这样的测试⽅法称为________⿊盒测试________,10.⽩盒测试是根据程序的(内部逻辑)来设计测试⽤例1、在测试执⾏结束后应该提交的⽂档有:测试问题报告、测试记录报告、阶段问题统计报告。
2、在测试总结后应该提交的⽂档有:测试问题分析报告、测试总结报告。
3、RAD⽅法中由于根本的需求没有被冻结,所以⽤户在设计的过程中是迭代的。
4、在RAD环境的测试是基于开发过程中的⽤户改进迭代。
5、在RAD⽅法中由于设计、编码和集成的反复循环性,导致了测试的设计、执⾏等的循环性。
6、测试项⽬的流程中⼀般有测试策划、测试设计、测试准备、测试执⾏、测试总结五个阶段。
7、在测试规划过程中,应对测试内容、测试需求的资源、测试通过的标准、测试进度和风险进⾏计划。
8、在测试设计过程中,应做出测试计划、测试⽤例,并要经过评审。
9、在执⾏测试的过程中应该注重⽤例执⾏时系统的实际动作和输出的真实准确记录。
10、所有的测试都应追溯到⽤户需求。
11、在集成测试的过程中,由于采⽤的测试策略不同,需要集成测试⼈员⾃⼰去编写驱动器和桩模块。
12、软件=程序+数据+⽂档+服务。
13、代码评审主要做代码审查⼯作。
14、软件测试主要分为单元,集成,系统,验收四类测试。
15、测试⼈员A在测试中发现系统20个缺陷,测试⼈员B在系统中发现了30缺陷,他们有5个缺陷是⼀样的,从理论上分析,系统⼤概存在120个缺陷?测试员A发现n个缺陷,B发现m个缺陷,共同缺陷m1个,理论上总的缺陷N=m/m1*n16、⽹络通讯三个要素,包括协议、IP、端⼝。
软件测试课复习提纲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。
软件测试提纲单元测试:Unit testing,一段代码的基本测试,实际大小未定,通常是一个函数或子程序,一般由开发者执行。
单元测试是针对程序模块进行正确性检验的测试。
从本质上讲,属于白盒测试。
是测试过程的最小粒度。
集成测试:Integration testing,被测系统的所有组件都集成在一起,找出被测系统组建之间关系和接口中的错误。
该测试一般在单元测试之后进行。
系统测试:System testing,系统测试实际上是针对系统中各个组成部分进行的综合性检验。
尽管每一个检验有着特定的目标,然而所有的检测工作都要验证系统中每个部分均已得到正确的集成,并能完成指定的功能。
验收测试:Acceptance testing,它包括Alpha测试和Beta测试,系统开发生命周期方法论的一个阶段,由相关的用户和/或独立测试人员根据测试计划和结果对系统进行测试和接收。
它让系统用户决定是否接收该系统。
它是一项确定产品是否能够满足合同或用户所规定需求的测试。
这是管理性和防御性的控制。
α测试:Alpha testing,既可以是一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试。
Alpha测试不能由程序员或测试员完成。
β测试:Beta testing,软件的多个用户在一个或多个用户的实际使用环境下进行的测试。
开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。
静态测试:Static testing,不通过执行来测试一个系统,如代码检查、文档检查和评审等。
静态测试是基于期望、专业经验、通用标准来对工作件的特征进行详细描述检查的一种测试方法。
动态测试:Dynamic testing,通过执行软件的手段来测试软件。
白盒测试:White box testing,根据软件内部的工作原理分析来进行测试,是基于代码的测试。
测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件质量。
一、选择题1.软件测试旳目旳是(B )。
A)试验性运行软件B)发现软件错误C)证明软件对旳D)找出软件中所有错误2.软件测试中白盒法是通过度析程序旳( B )来设计测试用例旳。
A)应用范围B)内部逻辑C)功能D)输入数据3.黑盒法是根据程序旳(C )来设计测试用例旳。
A)应用范围B)内部逻辑C)功能D)输入数据4.为了提高软件测试旳效率,应当(D )。
A)随机地选用测试数据B)取一切也许旳输入数据作为测试数据C)在完毕编码后来制定软件旳测试计划D)选择发现错误也许性最大旳数据作为测试用例5.与设计测试用例无关旳文档是(A )。
A)项目开发计划B)需求规格阐明书C)设计阐明书D)源程序6.测试旳关键问题是( B )。
A)怎样组织软件评审B)怎样选择测试用例C)怎样验证程序旳对旳性D)怎样采用综合方略7.软件测试用例重要由输入数据和( C )两部分构成。
A)测试计划B)测试规则C)预期输出成果D)以往测试记录分析8.成功旳测试是指运行测试用例后( B )。
A)未发现程序错误B)发现了程序错误C)证明程序对旳性D)改正了程序错误9.下列几种逻辑覆盖原则中,查错能力最强旳是(D )。
A)语句覆盖B)鉴定覆盖C)条件覆盖D)条件组合覆盖10.在黑盒测试中,着重检查输入条件组合旳措施是( D )。
A)等价类划分法B)边界值分析法C)错误推测法D)因果图法11.单元测试重要针对模块旳几种基本特性进行测试,该阶段不能完毕旳测试是( A )。
A)系统功能B)局部数据构造C)重要旳执行途径D)错误处理12.软件测试过程中旳集成测试重要是为了发现( B )阶段旳错误。
A)需求分析B)概要设计C)详细设计D)编码13.不属于白盒测试旳技术是(D )。
A)途径覆盖B)鉴定覆盖C)循环覆盖D)边界值分析14.集成测试时,能较早发现高层模块接口错误旳测试措施为(A )。
A)自顶向下渐增式测试B)自底向上渐增式测试C)非渐增式测试D)系统测试15.确认测试以( A )文档作为测试旳基础。
1、程序设计语言从程序设计方法来分类可分为【__C____】。
A=系统设计语言、结构化语言与模块化语言B=结构化语言与模块化语言C=结构化语言、模块化语言与面向对象语言D=程序设计语言与科学计算语言2、下面不属于系统软件的是【__C____】。
A=操作系统B=网络系统C=信息管理系统D=计算机语言编译(解释)系统3、以下不属于高级程序设计语言的是【___C___】。
A=SQL语言B=C语言C=汇编语言D=Java语言4、高级程序设计语言编写的程序必须转换成机器语言才能执行,转换的方法是【____B__】。
A=解释和汇编B=解释和编译C=编译和转换D=解释和翻译5、软件是计算机系统的重要组成部分,它被定义为【___C___】。
A=计算机程序、方法、规则以及在计算机上运行所必需的数据的总称。
B=程序有关的各种文档以及在计算机上运行所必需的数据的总称。
C=计算机程序、方法、规则、程序有关的各种文档以及在计算机上运行所必需的数据的总称。
D=计算机程序、方法、规则、程序有关的各种文档的总称。
6、软件可以按功能划分为【__A____】。
A=系统软件和应用软件B=操作系统和应用系统C=管理软件和应用软件D=系统软件和管理软件7、计算机软件包括【___C___】。
A=算法及数据结构B=程序和数据C=程序及文档D=可写光盘8、一个对象可以执行的动作和可被对象识别的动作分别称为【____A__】。
A=方法、事件B=方法、对象C=属性、方法D=过程、事件9、如果把一个人当作对象,那么血型相当于这个对象的【____A__】。
A=属性B=方法C=事件D=特征10、窗体从加载到显示,依次引发的事件有【__A__】。
A=Load,Initialize,ActivateB=Initialize,Activate,LoadC=Load,Activate,InitializeD=Initialize,Load,Activate11、Visual Basic是可视化的采用【___C___】驱动方式的结构化高级程序设计语言。
《软件测试基础》复习大纲1、缺陷因果链2、怎么样去判别软件缺陷?软件缺陷的定义。
软件测试的官方定义:所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。
只要符合下列5个规则的,我们称之为软件缺陷:1.软件未达到产品说明书标明的功能。
2.软件出现了产品说明书指明不会出现的错误。
3.软件功能超出产品说明书指明范围。
4.软件未达到产品说明书虽未指出但应达到的目标。
5.软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。
3、软件缺陷原因分析主要的原因应归咎于产品说明书;软件缺陷的第二缺陷来源是设计;剩下的可归功于一类。
某些缺陷产生的原因是把误解当成缺陷。
还有可能缺陷多处反复出现,实际上是有一个原因引起的。
一些缺陷可以归咎于测试错误。
4、软件缺陷的修复(fix)费用。
在软件开发的各个阶段,都有可能发现缺陷,但不同的时间发现缺陷,其消除缺陷的费用却有着非常大的区别。
随着时间的推移,缺陷的修复费用呈几何级数增长。
5、软件测试定义、目的。
定义:软件测试是指软件产品生存周期内所有的检查、评审和确认活动,如设计评审和系统测试。
目的:①尽早发现软件产品中的缺陷并确保其被修复②评估、确认软件的质量③预防缺陷④具体实施软件测试时,要在发现缺陷和保证质量两个目的之间做出平衡。
6、验证和确认(V&V)验证(Verification) :是保证软件符合产品说明书的过程。
Are we building the system right?确认(Validation):是保证软件满足用户要求的过程。
Are we building the right system?7、测试与调试测试:Test目的是发现缺陷,通常在受控的条件下(正常的条件和异常的条件)运行程序并评估结果。
调试:Debug目的是定位并修复故障,属于开发活动(调试是软件开发人员的工作)。
8、软件测试的对象软件测试贯穿于软件定义和开发的整个期间。
软件测试期末复习第一篇:软件测试期末复习一、单项选择题:共20小题,每小题2 分,满分40分。
1.软件测试按照测试层次可以分为(C)A.黑盒测试、白盒测试//测试方式B.功能性测试和结构性测试//测试目的C.单元测试、集成测试和系统测试D、动态测试和静态测试//测试方式2、软件测试是采用(测试用例)执行软件的活动。
A.测试用例 B.输入数据 C.测试环境 D.输入条件3.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?答案:(D)1预防软件发生错误2发现程序错误3提供诊断错误信息A.只有1 B.只有2 C.只有3 D.都是4、导致软件缺陷的最大原因是:(A)A.软件需求说明书B.设计方案 C.编码D.维护5、测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,至少应该包括(A)A、测试输入、执行条件和预期的结果。
B、测试目标、测试工具C、测试环境D、测试配置6、对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,这种行为属于(B)A.测试B.调试 C.回归测试D.单元测试软件测试是软件测试人员和程序员都参与的一项工作,是贯穿整个生命周期的,只需要发现软件的错误,而软件调试主要是程序员自己参与,对程序(设计、编码)进行修改、排除错误,主要是在开发阶段。
7、软件缺陷修复的代价最高的阶段为(A)A、发布阶段B、需求阶段C、设计阶段D、编码阶段8、下列(B)是关于软件缺陷的描述。
A.导致软件包含故障的人的行为//软件错误 B.产品的异常情况C.引起一个功能部件不能完成所要求的功能的一种意外情况D.功能部件执行其规定功能的能软件错误是指在软件生存期内的不希望出现或不可接收的人为错误,软件错误导致软件缺陷的产生。
软件缺陷是存在于软件(文档,数据,程序)之中不希望出现或不可接收的偏差;软件缺陷导致软件在运行某一特定条件时出现软件故障;这时软件缺陷被激活。
《软件测试》期末复习资料一.软件缺陷的定义计算机系统或者程序中存在的任何一种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷、瑕疵。
缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。
二.软件缺陷的表现(准确定义)1软件未达到需求规格说明书中指明的功能2软件出现了需求规格说明书中指明不会出现的错误3软件功能超出需求规格说明书中指明的范围4软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好三.软件缺陷产生的原因1技术问题:算法错误,语法错误,计算和精度问题,接口参数不匹配2团队工作:误解、沟通不充分3软件本身:文档错误;边界考虑不周;时间上不协调、不一致所带来的问题;没有考虑系统崩溃后在系统安全性、可靠性方面的隐患四.软件测试的对象软件=程序+数据+文档+服务五.软件测试定义使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别六. 软件测试的目的尽可能早地发现软件中的缺陷,并确保其得以修复;“为了证明软件有错误,而不是证明软件没有错误”;提高软件质量和可靠性。
七. 软件测试的原则1.可追溯性2.尽早预防、回归测试3.二八原则4.由小到大原则5.投入/产出原则6.独立的第三方测试八. 软件质量定义软件质量就是软件与明确的和隐含的定义的需求相一致的程度。
九. 测试用例测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径是否正确或核实某个功能是否满足特定需求。
十. 测试用例设计的基本原则1.测试用例的代表性2.测试结果的可判定性3.测试结果的可再现性十一.软件测试的分类1按照测试阶段划分:单元测试、集成测试、确认测试、验收测试、系统测试2按照执行状态划分:静态测试、动态测试3按照测试技术划分:白盒测试、黑盒测试4按照执行主体划分:手工测试、自动测试十一. 单元测试定义单元测试又称模块测试是指对软件中的最小可测试单元进行测试,目的是检查每个单元是否能够正确实现详细设计说明中的功能、性能、接口和设计约束等要求,发现各个模块内部可能存在的各种缺陷。
软件测试期末复习资料一、概念理解1、软件测试的定义:软件测试是指在软件开发过程中,通过运行软件或者其他技术手段来评估软件的质量和可靠性的过程,是软件开发过程中的一个关键阶段。
2、软件测试的原则:软件测试应该遵循“尽早介入、全面覆盖、全过程跟踪”的原则,以确保软件的质量和可靠性。
3、软件测试的分类:根据测试的目的和阶段,软件测试可以分为单元测试、集成测试、系统测试、验收测试等。
二、常见测试方法1、黑盒测试:黑盒测试是指在不考虑软件内部结构和逻辑的情况下,测试软件的功能是否符合需求。
常见的黑盒测试方法包括功能测试、性能测试、边界测试等。
2、白盒测试:白盒测试是指对软件内部的逻辑和结构进行测试,以确保软件的实现是正确的。
常见的白盒测试方法包括代码覆盖、路径覆盖、条件覆盖等。
3、灰盒测试:灰盒测试是指介于黑盒测试和白盒测试之间的测试,既考虑软件的功能,又考虑软件的内部逻辑。
常见的灰盒测试方法包括集成测试、系统测试等。
三、测试用例设计1、测试用例的定义:测试用例是一组输入和预期输出的集合,用于验证软件的功能是否符合需求。
2、测试用例的设计原则:设计测试用例应该遵循“完整性、可重复性、可判定性”的原则,以确保测试的准确性和完整性。
3、测试用例的设计方法:常见的测试用例设计方法包括等价类划分法、边界值分析法、错误猜测法等。
四、缺陷管理1、缺陷的定义:缺陷是指软件中存在的错误、漏洞或者不符合需求的问题。
2、缺陷的发现和报告:发现缺陷后,应该及时报告给相应的负责人,并记录缺陷的详细信息,包括发现时间、现象、重现条件等。
3、缺陷的评估和修复:对缺陷进行评估和分析,确定其影响范围和严重程度,然后采取相应的修复措施。
修复后需要进行回归测试,以确保缺陷已经完全修复。
4、缺陷的跟踪和管理:对缺陷进行跟踪和管理,以确保缺陷修复的及时性和准确性。
可以使用一些缺陷跟踪工具,如Jira、Bugzilla 等。
五、测试报告编写1、测试报告的定义:测试报告是指对软件测试过程和结果的总结和评价,是软件开发过程中的重要文档之一。
测试概念问题1.软件测试定义:度量和提高被测软件质量,是对软件需求分析、设计和编码的最终复查的一系列过程。
目的:验证被测软件是否满足需求。
2.测试目标:发现缺陷、预防缺陷、建立团队对软件的信心。
3.测试原则:1)尽早介入;2)显示缺陷的存在;3)穷尽测试不可能;4)缺陷集群性;5)杀虫剂悖论;6)测试依赖于测试背景;7)无缺陷谬论。
4.软件生命周期:需求—设计—编程—测试—集成—维护5.风险:事件、危险、威胁或情况等发生的可能性以及由此产生的不可预料的后果,即一个潜在的问题。
6.质量控制:决定软件产品正确性的过程和动作;一组功能基线,保证产品符合标准/需求所做的工作7.缺陷:偏离需求规格说明,三种表现:遗漏、错误、多余8.验证:在整个软件生命周期中的全部之类控制活动,确保交付的中间产品符合输入规格说明。
9.确认:软件生命周期中的测试阶段,保证最终产品符合规格说明10.静态测试:在系统编码之前进行的测试11.动态测试:在系统编码之后进行的验证和确认;运行被测程序,检查运行结果与预期的差异,并分析运行效率。
12.代码审查:测试人员参与的代码会审。
由一组人通过阅读、讨论和争议对程序进行静态分析的过程。
13.单元测试:对单一的独立的模块或代码进行的测试。
目的在于发现各模块内部可能存在的各种差错。
14.集成测试:对一组模块进行的测试,确保模块之间的数据和控制能正常的传递。
是将模块安装设计要求组装起来同时进行的测试。
15.系统测试:一个预先确定的测试组合,当执行成功时,系统符合需求;与单元测试不同的各种更高等级测试类型的通用术语。
目的是保证系统在实际的环境中能够稳定、可靠的运行下去,包括恢复性测试、安全测试、强度测试、性能测试等。
16.验收测试:保证系统符合最终用户要求的测试。
17.回归测试:在系统改变后进行的测试,以确保不希望的变化不引入系统18.功能测试:认为系统应该做什么的业务需求测试。
目的是向未来的用户表面系统能够按预定要求的功能那样工作,这是的测试是直接操作完整的软件系统,需要战争用户的角度上,尽量模拟用户使用的各种情况,甚至让用户参与测试。
《软件测试》复习提纲用答案1.什么是软件测试?为何要进行软件测试?软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程。
确保软件的功能符合用户的需求,把尽可能多的问题在发布或交付前发现并改正。
2.什么是软件缺陷?请举例。
哪里出现的缺陷最多?软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,未满足用户的需求。
术语:缺点(defect)异常(anomaly)偏差(variance)失败(failure)缺陷(bug)故障(fault)问题(problt)错误(error)规格说明书出现的最多。
3.软件测试是否就是程序测试?哪些可以作为软件测试的对象?不是。
对象:程序、数据(库)、文档、服务4.软件测试的目的是什么?软件测试的目标是什么?软件测试的原则是什么?目的:测试的目的就是发现软件中的各种错误和缺陷;测试只能证明软件存在缺陷,不能证明软件不存在缺陷;测试可以使软件中缺陷降低到一定程度,而不是彻底消灭;以较少的用例、时间和人力找出软件中的各种错误和缺陷,以确保软件的质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。
目标:确保软件完成了它所承诺或公布的功能;为软件的质量评估提供依据;确保软件满足性能的要求;确保软件是健壮的和适应用户环境,为软件质量改进和管理提供帮助原则:所有的测试都应追溯到用户需求;保证测试的覆盖程度,但穷举测试是不可能的;越早测试越好,测试过程与开发过程应是相结合的;Pareto原则:测试中发现的80%的错误可能来自于20%的程序代码;测试的规模由小而大,从单元测试到系统测试;为了尽可能地发现错误,应该由独立的第三方来测试;不能为了便于测试擅自修改程序;既应该测试软件该做什么也应该测试软件不该做什么5.软件测试如何分类?按照程序是否执行:静态测试(审查、评审和走查)、动态测试按照测试用例的设计方法:白盒测试、黑盒测试按照开发阶段划分:单元测试、集成测试、系统测试、验收测试按照测试实施的组织划分:开发方测试、用户测试(β测试)、第三方测试按照是否使用工具:手工测试、自动化测试6.常见的软件测试模型有哪些?各有什么优缺点?V模型从左到右,描述了基本的开发过程和测试行为,明确地标明了测试工程中存在的不同级别,清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系.优点:明确地标明了测试工程中存在的不同级别,清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系缺点:没有明确地说明早期的测试,不能体现“尽早地”和“不断地”进行软件测试原则。
软件测试复习内容1.什么是测试?IEEE定义:使用人工或自动化来测试某个程序,来验证它是否满足规定的需求或者实际结果和预期结果之间的差别.简单定义:找出软件中的BUG2.为什么要测试?在软件开发过程中容易出现缺乏有效沟通,软件复杂,编程错误,需求不断变更,时间的压力,缺乏文档的代码,软件开发工具和人员的自大等原因引发的错误,通过测试能够找出其中的错误,解决错误,从而提高软件的质量.3.测试的目的是什么?证明软件没有问题(20世纪60年代)发现软件中的错误(20世纪70年代)验证软件与需求是否一致的一系列活动(现在)4.软件的生命周期分为哪几个阶段?具体的内容是什么?计划:确定软件开发总目标;给出软件各方面的设想;研究可行性和解决方案;给出评估计划;指定完整的实施计划需求分析:对开发软件进行详细定义,给出《需求规格说明书》SRS设计:在设计阶段把各项需求转换成相应的体系结构,给出概要设计编码:将软件设计成计算机能识别的语言,给出《详细设计》测试:检测软件是否符合用户需求运行:将软件交付给用户使用评价:用户对软件的好与坏给出判定5.研发团队的组织架构与研发流程是什么?瀑布模型螺旋模型 RUP模型 IPD 模型6.测试阶段怎么划分?测试计划阶段测试设计阶段测试实施阶段测试执行阶段7.什么是UT,IT,ST?它们有什么区别?单元测试:测试软件的基本组成单元来进行正确性检验,目的在于检测软件模块对《详细设计说明书》的符合程度,属于白盒测试,测试范围为单元内部的数据结构,逻辑控制,异常处理评估标准为逻辑覆盖率集成测试:测试模块或子系统组装后功能以及模块间接口是否正确,目的在于检测软件模块对《概要设计说明书》的符合程度。
属于灰盒测试,测试范围为模块之间接口与接口数据传递的关系,以及模块组合后的功能,评估标准为接口覆盖率系统测试:将被测软件系统和计算机硬件,数据库,外设,人员以及其它软件结合在一起,在实际运行环境下对计算机系统进行的一系列的组装测试和确认测试。
软件测试是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体:“验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性;“有效性确认”是确认所开发的软件是否满足用户真正需求的活动。
软件测试和软件开发的关系?软件测试盒软件开发构成一个全过程的交互、协作之关系,亮着自始至终一起工作,共同致力于同一个目标——按时、高质量的完成项目。
第2章软件质量:软件产品具有满足规定的或隐含要求能力要求有关的特征与特征总和。
软件产品质量的属性:功能性、可用性(简单安装;轻松使用;界面友好)、可靠性(用户使用的根本)、性能、容量、可测量性、可维护性、兼容性、可扩展性。
软件缺陷的标准定义:从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。
软件缺陷产生的主要原因:1.技术问题,2.软件本身,3.团队工作。
软件缺陷的构成:规格说明书,设计,代码,其他。
软件产品规格说明书为什么是软件缺陷存在最多的地方?开发人员和用户的沟通存在较大困难,对要开发的产品功能理解不一致;由于软件产品还没有设计、开发,完全靠想象去描述系统的实现结果,所以有些特性还不够清晰;需求变化的不一致性;对规格说明书不够重视;没有在整个开发队伍中进行充分沟通,有时只是设计师或项目经理得到比较多的信息。
软件评审的目的:就是通过软件评审尽量早地发现产品中的缺陷,因此软件评审可以看做软件测试的有机组成部分,两者之间有着密不可分的联系。
软件评审:是对软件元素或者项目状态的一种评估手段,以确定其是否与计划的结果保持一致,并使其得到改进。
软件评审的对象分为:管理评审,技术评审,文档评审和流程评审。
软件质量保证:是通过对软件产品和活动有计划的进行评审和审计来验证软件是否合乎标准的系统工程活动。
SQA(软件质量保证)与软件测试的关系和区别?SQA与软件测试之间相辅相成,存在包含和交叉的关系。
请注意:本文档是根据我个人的理解去划分题目的类型,并不敢保证划分出来的结果一定是对的,但可以保证的是老师有说过的都有总结出来了,所以安全保障,你们最好是把选择题也全部用背下来的,至于名词解释,我个人觉得太多了,有可能有些会分配到判断题那边去,所以安全保障,你们最好也是背下来吧。
一、选择题(15题30分)1、软件缺陷的组成:编程代码(15%)、系统设计(25%)、规格说明书(54%)、其它(6%)。
2、软件测试的分类:软件测试可分为静态测试和动态测试。
3、软件测试用例设计方法的角度分类:可分为黑盒测试和白盒测试。
4、注意:单元测试多数使用白盒测试,集成测试一般通过黑盒测试。
5、软件测试的策略和过程的分类:可分为单元测试、集成测试、确认测试、系统测试、验收测试。
6、验收测试需要用到需求分析文档、系统测试和确认测试需要用到概要设计文档、集成测试需要用到详细设计文档、单元测试需要用到编码文档,软件测试和软件开发是并行执行的。
7、是由谁来完成单元测试的。
答案:程序员。
8、静态测试包括代码检查、静态结构分析、代码质量度量等。
9、语句覆盖是最常见也是最弱的逻辑覆盖准则。
10、黑盒测试有两种基本方法,即通过测试和失败测试。
11、g 、黑盒测试工具、测试管理工具。
12、能力成熟度模型(CMM)的5个等级:等级1(初始级)、等级2(可重复级)、等级3(已定义级)、等级4(已管理级)、等级5(优化级)。
13、面向对象的软件测试模型分为:面向对象分析的测试、面向对象设计的测试、面向对象编程的测试、面向对象单元的测试、面向对象集成的测试、面向对象系统的测试。
14、Web网站的功能测试主要包括以下几个方面的内容:内容测试、链接测试、表单测试、Cookies 测试、设计语言测试。
15、内容测试用来检测Web应用系统提供信息的正确性、准确性、相关性。
二、判断题(10题10分)1、软件测试是为了证明程序是正确的。
这是错误的2、单元测试通常是开发者编写的一小段代码,用于检验被测代码的一个很小的,很明确的功能是否正确。
第1章概述为什么要进行软件测试?就是因为软件缺陷的存在。
因为只有通过测试,才可以发现软件缺陷。
也只有发现了缺陷,才可以将软件缺陷从软件产品或软件系统中清理出去。
软件缺陷是任何程序、系统中的问题,和产品设计书的不一致性,不能满足用户的需求IEEE 国际标准729给出了软件缺陷的定义——软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,不能满足或不能全部满足用户的需求根据软件缺陷的定义,可以从两方面考虑:☐从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;☐从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。
软件缺陷的主要类型/现象:☐功能、特性没有实现或部分实现☐设计不合理,存在缺陷☐实际结果和预期结果不一致☐运行出错,包括运行中断、系统崩溃、界面混乱☐数据结果不正确、精度不够☐用户不能接受的其他问题,如存取时间过长、界面不美观软件缺陷的产生①技术问题,算法错误,语法错误,计算和精度问题,接口参数传递不匹配②团队工作误解、沟通不充分③软件本身文档错误、用户使用场合(user scenario),时间上不协调、或不一致性所带来的问题,系统的自我恢复或数据的异地备份、灾难性恢复等问题验证和确认Verification:Are we building the product right?是否正确地构造了软件?即是否正确地做事,验证开发过程是否遵守已定义好的内容。
验证产品满足规格设计说明书的一致性Validation:Are we building the right product? 是否构造了正是用户所需要的软件?即是否正在做正确的事。
验证产品所实现的功能是否满足用户的需求需求评审和设计评审是验证软件产品的需求定义和设计实现,验证所定义的产品特性是否符合客户的期望、系统的设计是否合理、是否具有可测试性以及满足非功能质量特性的要求。
这个阶段主要通过对需求文档、设计文档等阅读、讨论,从中发现软件需求工程和系统设计中所存在的问题。
产品需求审查是软件开发重要环节之一,也是测试活动之一,即静态测试——需求验证。
需求评审归为静态测试范畴,包含了文档评审和技术评审双重内容,通常通过正式的评审会议来进行。
而测试人员主要起着评审员的作用,检查需求定义是否合理和清楚。
单元测试的对象是程序系统中的最小单元---模块或组件上,在编码阶段进行,针对每个模块进行测试,主要通过白盒测试方法,从程序的内部结构出发设计测试用例,检查程序模块或组件的已实现的功能与定义的功能是否一致、以及编码中是否存在错误。
多个模块可以平行地、对立地测试,通常要编写驱动模块和桩模块单元测试一般由编程人员和测试人员共同完成集成测试,也称组装测试、联合测试、子系统测试,在单元测试的基础上,将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的模块之间问题两种集成方式:一次性集成方式和增殖式集成方式。
功能测试,依据产品设计规格说明书完成对产品功能进行操作,以验证系统是否满足用户的功能性需求系统测试是将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试,包括恢复测试、安全测试、强度测试和性能测试等第2章需求和设计评审产品需求审查是软件开发重要环节之一,也是测试活动之一,即静态测试——需求验证。
借助需求审查保证用户需求在市场/产品需求文档及其相关文档中得到准确、完整、无歧义的反映,并使各类开发人员在需求理解上达成一致软件评审是对软件元素或者项目状态的一种评估手段,以确定其是否与计划的结果保持一致,并使其得到改进。
技术评审文档评审管理(流程)评审检查表(checklist)是一种常用的的质量保证手段,也是正式技术评审的必要工具,评审过程往往由检查表驱动。
一份精心设计的检查表,对于提高评审效率、改进评审质量具有很大帮助。
可靠性。
人们借助检查表以确认被检查对象的所有质量特征均得到满足,避免遗漏任何项目。
☐效率。
检查表归纳了所有检查要点,比起冗长的文档,使用检查表具有更高的工作效率。
软件缺陷并不只是在编程阶段才产生,需求和设计阶段同样会产生缺陷。
测试需求测试目标取决于软件质量需求,而这种需求分为功能性需求和非功能性需求,功能性的需求相对容易确定,非功能性的测试需求难以确定。
☐在制定测试计划之前,必须清楚测试需求☐明确测试需求的优先级☐测试需求分解得越细,对测试用例的设计质量越有帮助☐详细的测试需求还是衡量测试覆盖率的重要依据☐测试需求是规划具体项目资源和时间的基础。
功能性测试需求功能性测试需求主要是根据产品规格说明书来检验被测试的系统是否满足软件各方面的功能的使用要求,包括用户界面的友好性。
☐程序安装、启动正常,有相应的提示框、错误提示☐各项功能符合设计要求,正常运行并输出正确结果☐功能逻辑合理,并能处理各种异常操作☐能接受正确的数据输入,输出结果准确,格式清晰☐系统的各种状态按照业务流程而变化并保持稳定☐支持各种应用环境,能配合硬件设备非功能性需求非功能性质量需求,包括系统性能、安全性、兼容性、扩充性,其测试需求会因不同的项目类型差异较大☐客户端软件,如字处理软件、媒体播放软件等占用较少资源,在容错性、兼容性等方面要求高。
☐Web应用系统对性能、安全性等有很高要求☐客户端/服务器应用系统。
☐大型复杂企业级系统。
需求评审归为静态测试范畴,包含了文档评审和技术评审双重内容,通常通过正式的评审会议来进行。
而测试人员主要起着评审员的作用,检查需求定义是否合理和清楚。
设计审查成功的产品开发和演化依赖于体系结构恰当的选择。
软件设计一般可以分为体系结构设计和详细设计。
测试人员参与设计评审保证需求能在设计中得到准确和完整的表示,也就是保证产品规格说明书的质量。
☐系统架构的审查☐设计规格说明书的审查☐系统部署设计的审查☐多层次审查:high-level low-level系统设计的评审标准☐设计技术评审标准。
稳定、清晰、合理☐非功能性质量特性的设计评审要求。
安全、性能、稳定、扩展、可靠。
☐评审的输入:体系结构文档、设计规范与指南、风险列表☐评审的输出:经认可的软件体系结构文档、变更需求、评审记录☐评审的检查点:软件体系结构、设计模式、部署视图、进程视图、封装体、协议。
第3章测试用例设计测试用例(test case)是可以被独立执行的一个过程,这个过程是一个最小的测试实体,不能再被分解。
测试用例也就是为了某个测试点而设计的测试操作过程序列、条件、期望结果及其相关数据的一个特定的集合。
测试用例要描述Why ——为什么而测?What ——测什么?Where ——在哪里测?When ——什么时候开始测?Which ——哪些输入数据?How ——如何操作软件?为什么需要测试用例☐如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优良品质,则是软件公司探索和追求的目标。
☐测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保障。
☐软件测试是有组织性、步骤性和计划性的,为了能将软件测试的行为转换为可管理的、具体量化的模式,需要创建和维护测试用例单个测试用例的质量要求❖具有可操作性❖具备所需的各项信息❖各项信息描述准确、清楚❖测试目标针对性强❖验证点完备,而且没有太多的验证点❖没有太多的操作步骤,例如不超过7步❖符合正常业务惯例。
整体测试用例的质量要求❖覆盖率。
依据特定的测试目标的要求,尽可能覆盖所有的测试范围、功能特性和代码。
❖易用性。
测试用例的设计思路清晰、组织结构层次合理,测试用例操作的连贯性好,使单个模块的测试用例执行顺畅。
❖易维护性。
应该以很少的时间来完成测试测试用例的维护工作,包括添加、修改和删除测试用例。
易用性和易读性,也有助于易维护性。
❖粒度适中。
既能覆盖各个特定的场景,保证测试的效率;又能处理好不同数据输入的测试要求,提高测试用例的可维护性。
良好测试用例的特征❖可以最大程度地找出软件隐藏的缺陷❖可以最高效率的找出软件缺陷❖可以最大程度地满足测试覆盖要求❖既不过分复杂、也不能过分简单❖使软件缺陷的表现可以清楚的判定▪测试用例包含期望的正确的结果▪待查的输出结果或文件必须尽量简单明了❖不包含重复的测试用例❖测试用例内容清晰、格式一致、分类组织第4章自动化测试自动化测试(automated test)是相对手工测试(manual test)而存在的一个概念,由手工逐个地运行测试用例的操作过程被测试工具自动执行的过程所代替。
测试工具的使用是自动化测试的主要特征自动化测试焦点集中在测试执行,主要是由测试工具自动地完成测试。
测试自动化指“一切可以由计算机系统自动完成的测试任务都已经由计算机系统或软件工具、程序来承担并自动执行”自动化测试测试工具测试执行单项活动测试自动化理念全过程所有测试活动包括测试设计测试管理在系统功能逻辑测试、验收测试、适用性测试、涉及交互性测试时,多采用手工测试方法;单元测试、集成测试、系统负载或性能、可靠性测试等比较适合采用TA;对那种不稳定、开发周期短或一次性的软件等不适合TA工具本身缺乏想象力和创造性,自动测试只能发现15%的缺陷,而手工测试可以发现85%的缺陷;代码分析代码的静态分析的关键是建立各种规则,而这种规则的建立是依赖于相应编程语言的语法。
如依据EBNF(扩展巴科斯-诺尔范式)对Java代码的分析。
脚本技术线性脚本,是录制手工执行的测试用例得到的脚本,这种脚本包含所有的击键、移动、输入数据等,所有录制的测试用例都可以得到完整的回放。
结构化脚本,类似于结构化程序设计,具有各种逻辑结构、函数调用功能。
数据驱动脚本,将测试输入存储在独立的(数据)文件中,而不是存储在脚本中。
关键字驱动脚本,是数据驱动脚本的逻辑扩张开源工具解决方案❖单元测试:JUnit & XUnit 家族❖功能测试:Selenium、Abbo AutoIT/AutoHotkey❖性能测试:JMeter❖数据库:DBprobe❖网络监控:Wireshark/Ethereal, Netcat, Snort第5章单元测试单元测试就是对已实现的软件最小单元进行测试,以保证构成软件系统的各个单元的质量单元测试活动中,强调被测试对象的独立性单元测试应从各个层次来对单元内部算法、外部功能实现等进行检验,包括对程序代码的评审和通过运行单元程序来验证其功能特性等内容。
单元测试的目标单元实现了其特定的功能,如果需要,返回正确的值单元的运行能够覆盖预先设定的各种逻辑在单元工作过程中,其内部数据能够保持完整性,包括全局变量的处理、内部数据的形式、内容及相互关系等不发生错误可以接受正确数据,也能处理非法数据,在数据边界条件上,单元也能够正确工作该单元的算法合理,性能良好该单元代码经过扫描,没有发现任何安全性问题单元测试主要采用白盒测试方法,辅以黑盒测试方法。