您好,欢迎来到爱玩科技网。
搜索
您的当前位置:首页软件测试重点

软件测试重点

来源:爱玩科技网
 重点:

软件测试分类(3个角度); (填空或简答*)

1、从是否需要执行被测软件的角度分类:静态测试和动态测试。 2、从软件测试用例设计方法的角度分类:黑盒测试和白盒测试。 3、从软件测试的策略和过程的角度分类:单元测试、集成测试、确认测试、系统测试和验收测试。 测试原则;(简答*)

尽早地和不断地进行软件测试; 不可能完全地测试; 增量测试、由小到大; 避免测试自己的程序; 设计周密的测试用例; 注意错误集中的现象; 确认BUG的有效性; 合理安排测试计划; 回归测试;

测试结果的统计和分析; 及时更新测试;

测试与调试的区别; (简答*)

在软件开发的过程中,调试和测试是两个不同的过程,分别由程序开发人员和测试人员来完成。

第一,调试的过程是随机的不可重复的;而测试的过程是有计划的、可以重复的过程。

第二,调试的目的是为了隔离和确认问题的所在,并加以解决,使得程序能够正常运行;而测试的目的是为了找出与软件实现定义的规格和标准不符合的问题,保证软件能都满足用户需求。 但二者也有相同之处,最终目的都是为了提高软件质量。 软件测试的误区:

1调试和测试是一样的,2软件测试在软件开发过程中并不重要,3在软件开发结束之后进行测试,4过分依赖Beta测试,5过分依赖自动化测试,6测试是可穷尽的,7测试是证明软件的正确性,8可以忽略测试的设计。

白盒测试:基本路径测试、覆盖测试(哪些种); 基本路经测试:课本54页,自己看,自己理解。 覆盖测试:课本57页,自己看,自己理解。

白盒测试规则:(简答)

1保证一个模块中的所有执行路径至少被测试一次;

2对所有逻辑判定取值true和false的两种情况都至少测试一次; 3在循环边界和运行界限内执行循环体; 4测试内部数据结构的有效性。 基本路径测试:(分析题**) 步骤

(1) 以设计和代码为基础,画出相应的程序图 (2) 确定所得程序图的环形复杂度 (3) 确定线性的路径的一个基本测试集 (4) 准备测试用例,强制执行基本集中每条路径 (5) 执行每个测试用例,并和期望值比较

环形复杂度:V(G)=E-N+2 或 V(G)=P+1; E:边,N:节点, P:判定节点 覆盖测试:

1、 方法覆盖。2、语句覆盖。3、判断/分支覆盖。4、条件覆盖

白盒测试和黑盒测试的异同:(简答)

1执行测试人员不同:黑盒通常由用户,而白盒通常由开发人员 2测试覆盖目标不同

3测试动机不同:白盒:发现普通代码错误,黑盒:测试软件是否能够为用户提供预期输出

4测试方法不同:白盒:基于代码本身定义测试,黑盒:基于外部功能定义

5评估测试方法不同:白盒:需要一些能检测肉眼无法发现的缺陷的工具,黑盒只是简单观察程序的正常输出。

黑盒测试:等价类测试、因果图测试;(应该是分析题***) 课本68页---75页,看例題,自己理解。

附加知识:白盒测试和黑盒测试的优缺点; 1、白盒测试的优缺点  优点:

A、可构成测试数据对特定程序部份测试,可以检测代码中的的每一条分支和路径。

B、揭示隐藏在代码中的错误。 C、对代码测试比较彻底。 D、有较多的工具支持。

E、有一定的充分性度量手段。  缺点:

A、工作量打,成本高。通常只用于单元测试,有应用局限。 B、无法检测代码中遗漏的路径和数据敏感性错误。 C、不能验证规格说明的正确性。

D、无法对规格说明中未实现的部份进行测试。 E、不易生成测试数据(通常)。 2、黑盒测试的优缺点  优点:

A、对于较大的代码单元来说,效率高。

B、测试人员不需要了解实现的细节,包括具体的编程语言。 C、测试员和程序员可以由不同的人员来担任。 D、从用户的角度进行测试,容易被理解和接受。 E、有助于暴露任何规格不一致或者有歧义的问题。 F、测试用例的设计可以在规格说明完成之后马上进行。 G、容易入手生成测试数据。 H、适用于各阶段测试。  缺点:

A、实际上,只有一小部份可能的输入被测试到,某些代码得不到测试。

B、如果没有清晰、简洁的规格说明,难以设计测试用例。 C、如果测试人员不知道开发人员已经执行过哪些测试用例,会存在不必要的重复测试。

D、会有很多程序路径没有被测试到。

E、不能直接针对可能隐蔽了许多问题的特定程序段进行测试。

F、如果规格说明有误,则无法发现。 G、不易进行充分性测试。

测试用例的组成;(填空或简答*) 被测单元模块的初始状态声明 被测单元的输入

该测试用例实际测试的代码 测试用例的期望输出结果

三个测试之间的区别(单元测试、集成测试、系统测试)(简答***)

测试对象不同:单元测试的对象是实现具体功能的单元,集成测试的测试对象是由通过了单元测试的各个模块多集成起来的组件,而系统测试的测试对象,除了软件之外,还包括计算器硬件及相关的外围设备、数据采集和传输机构、计算器系统操作人员等整个系统。

测试时间不同:单元测试先于集成测试,集成测试先于系统测试。 测试方法不同:单元测试的主要测试方法是白盒测试,而集成测试所使用的主要测试方法灰盒测试,而系统测试通常使用黑盒测试。 测试内容不同:单元测试的工作内容包括模块内程序的逻辑、功能、参数传递、变量引用、出错处理、以及需求和设计中具体的要求等方面的测试。集成测试的工作内容主要是验证各个接口、接口之间的数据传递关系,以及模块组合后能否达到预期效果。而系统测试的主要内容是整个系统的功能和性能。

测试目的不同:单元测试是为了发现程序模块内部可能存在的的错误,集成测试的主要目的是发现单元之间的接口的错误,以及发现集成后的软件同软件概要设计说明不一致的地方。而系统测试的主要目的是,通过与系统需求定义相比较之后发现软件与系统定义不符合或者矛盾的地方。

测试角度不同:单元测试是站在开发人员的角度进行的,集成测试工作的开展更多的是站在测试工作人员的角度上,以便发现更多的问题。系统测试工作的开展则更多的是粘在用户的角度来进行,确定被测应用可以被用户或操作者接受。

桩模块、驱动模块是什么;(简答或填空*)

桩模块:用于代替所测模块调用的子模块。桩模块可是进行少量的数据操作,不需要实现子模块的所有功能,但要根据需要来实现或代替子模块的一部份功能。

驱动模块:相当于所测模块的主程序。它接受测试数据,把这些数据传送给所测模块,最后在输出实际测试结果。

单元测试(自顶向下测试、自底向上测试的区别、好处)(了解); 相关知识:

1、自顶向下的单元测试策略  步骤:

A、从最顶层开始,把顶层调用的单元做成桩模块。 B、对第二层测试,使用上面已经测试的单元做驱动模块。 C、依次类推,直到全部单元测试结束。  优点:

可以再集成测试之前为系统提供早期的集成途径。由于详细设计一般都是自顶向下进行设计的,这样自顶向下的单元测试策略在顺序上同详细设计一致,因此,测试可以与详细设计和编码工作重迭进行。  缺点:

单元测试被桩模块控制,随着单元测试的额不断进行,测试过程也会变得越来越复杂,测试难度以及开发和维护的成本都不断增加;要求的低层次的结构覆盖率也难以得到保证;由于需求变更或其他

原因而必须更改任何一个单元时,就必须重新测试该单元下层调用的所有单元;底层单元测试依赖顶层测试,无法进行并行测试,是测试进度受到不同程度的影响,延长测试周期。  总结:

从上述分析中,不难看出该测试策略的成本要高于孤立的单元测试成本,因此从测试成本方面来考虑,并不是最佳的单元测试策略。在实际工作中,当单元已经通过测试后,我们可以选择此方法。

2、自底向上的单元测试  步骤:

A、先对模块调用图上的最底层模块进行测试,模拟调用该模块的模块为驱动模块。

B、其次,对上一层模块进行单元测试,用已经被测试过的模块做桩模块。

C、依次类推,直到全部单元测试结束。  优点:

不需要单独设计桩模块;无需依赖结构设计,可以直接从功能设计中获取测试用例;可以为系统提供早期的集成途径;在详细设计文文件中缺少结构细节时可以使用该测试策略。  缺点:

随着单元测试的不断进行,测试过程会变的越来越复杂,测试周期延长,测试和维护的成本增加;随着各个基本单元逐步加入,系统会变的异常庞大,因此测试人员不容易控制;越接近顶层的模块的测试其结构覆盖率就越难以保证;另外,顶层测试易受底层模块变更的影响,任何一个模块修改之后,直接或间接调用该模块的所有单元都要重新测试。由于只有在底层单元测试完毕之后才能够进行顶层单元的测试,所以并行性不好。另外,自底向上的单元测试也不能和详细设计、编码同步进行。  总结:

相对于其他测试策略而言,该测试策略比较合理,尤其是需要考虑对象或复用时。它属于面向功能的测试,而非面向结构的测试。对那些以高覆盖率为目标或者软件开发时间紧张的软件项目来说,这种测试方法不适用。

不同语言编写的程序,如何划分单元;

对于结构化编程语言而言,程序单元通常指程序中定义的函数或子程序,单元测试就是指对函数或子程序所进行的测试,但有时候也可以把紧密相关的一组函数或过程看做一个单元;对于面向对象编程语言而言,程序单元通常指特定的一个具体的类或相关的多个类,单元测试主要是指对类的测试,但有时候在一个类特别复杂时,就会把方法作为一个单元进行测试;对于同面向对象软件关联密切的GUI应用程序而言,单元测试一般是在“按钮级”进行。对Ada语言来说,开发人员可以选择在的过程和函数,或是在Ada包的级别上进行单元测试。

对类的哪三级测试(课本3.5节);(填空*)

A、方法内部测试:测试单个方法,这级测试相当于单元测试。 B、方法间测试:在类中与其他方法一起测试一个直接或间接调用的公开方法,这级测试相当于集成测试。

C、类内部测试:测试公开方法在各种调用顺序时的相互作用关系,由于类的调用能够激发一系列不同顺序的方法,可以用类内部测试来确定类的相互作用关系顺序,但由于公开方法的调用顺序是无限的,只能测试其中一个子集。

集成测试策略;(填空或简答*) 1、基于分解的集成: A、大爆炸集成 B、自顶向下集成 C、自底向上集成 2、三明治集成 3、改进的三明治集成

4、基于调用图的集成 A、成对集成 B、相邻集成 5、基于路径的集成 6、分层集成 7、基于功能的集成 8、高频集成 9、基于进度的集成 10、基于风险的集成 11、基于事件的集成 12、基于使用的集成 13、客户/服务器的集成

三明治和改进的三明治;(分析题)自己看书

系统测试的十七个类型;(简答)1、功能测试; 2、协议一致性测试; 3、性能测试; 4、压力测试; 5、容量测试; 6、安全性测试; 7、恢复性测试; 8、备份测试;

9、GUI测试; 10、健壮性测试; 11、兼容性测试; 12、可用性测试; 13、可安装性测试; 14、文档测试; 15、在线帮助测试; 16、数据转换测试; 17、验收测试;

最重要的是功能测试和性能测试 (填空)

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- aiwanbo.com 版权所有 赣ICP备2024042808号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务