软件测试技术

下面关于软件测试,描述正确的是()。A、软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程B、软件测试的测试目标是发现一些可以通过测试避免的开发风险C、软件测试的原则之一是测试应该尽早进行,最好在需求阶段就开始介入D、软件测试主要工作内容是验证(verification)和确认(validation)

题目

下面关于软件测试,描述正确的是()。

  • A、软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程
  • B、软件测试的测试目标是发现一些可以通过测试避免的开发风险
  • C、软件测试的原则之一是测试应该尽早进行,最好在需求阶段就开始介入
  • D、软件测试主要工作内容是验证(verification)和确认(validation)
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

关于软件测试的描述不正确的是()。

A、软件测试从已知的条件开始,有预知结果

B、软件测试过程可是事先设计,进度可以事先确定

C、软件测试可以分为单元测试,集成测试,系统测试等

D、软件测试的工作内容包括定位和修改错误


正确答案:B

第2题:

以下关于不同类型的软件测试的叙述,正确的是______。

A.单元测试不是模块测试

B.多个模块不能平行地独立进行测试,应该顺序执行

C.系统测试是检验程序单元或部件之间的接口关系

D.确认测试是通过检验和/或核查所提供的客观证据,证实软件是否满足特定预期用途的需求

A.

B.

C.

D.


正确答案:D
解析:单元测试又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作,所以A是不对的;多个模块可以同时进行测试,不用顺序进行,所以B不对;系统测试是将通过确认测试的软件作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起测试,而不是检验程序单元或部件之间的接口关系,所以C不对;答案D是正确的。

第3题:

● 以下关于不同类型软件测试的叙述,正确的是()。()A.单元测试不是模块测试B.多个模块不能平行地独立进行测试,应该顺序执行C.系统测试是检验程序单元或部件之间的接口关系D.确认测试是通过检验和/或核查所提供的客观证据,证实软件是否满足特定预期用途的需求


正确答案:D
单元测试也称模块测试,通常可放在编程阶段,由程序员对自己编写的模块自行测试,检查模块是否实现了详细设计说明书中规定的功能和算法。
集成测试也称组装测试,它是对由各模块组装而成的程序进行测试,主要目标是发现模块间的接口和通信问题。
系统测试的对象是完整的、集成的计算机系统,系统测试的目的是在真实系统工作环境下,验证完整的软件配置项能否和系统正确连接,并满足系统/子系统设计文档和软件开发合同规定的要求。
确认测试主要依据软件需求说明书检查软件的功能、性能及其他特征是否与用户的需求一致。
对于多个模块的测试可以并行进行。

第4题:

下列关于测试设计与开发的说法中,不正确的是______。

A) 软件测试设计与开发活动是软件测试过程中对技术要求比较高的关键阶段

B) 软件测试设计与开发主要包括测试技术方案的制定、测试用例设计

C) 测试用例特定集合的设计、测试开发和测试环境的设计都是软件测试设计与开发的范畴

D) 测试设计与开发活动对软件进行需求确定性估算

A.

B.

C.

D.


正确答案:D
解析:软件测试设计与开发活动是软件测试过程中对技术要求比较高的关键阶段。软件测试设计与开发主要包括测试技术方案的制定、测试用例设计、测试用例特定集合的设计、测试开发和测试环境的设计都是软件测试设计与开发的范畴。而软件的需求确定性估算是在测试总结环节中应考虑的问题,而不是测试设计和开发阶段。

第5题:

下列对于软件测试的描述正确的是( )。

A.软件测试的主要目的是发现程序中的错误

B.软件测试的目的是证明程序是否正确

C.软件测试的目的是使程序运行结果正确

D.软件测试是证明软件中没有错误


正确答案:A
软件测试的目标是发现软件中的错误。

第6题:

下面关于软件测试的说法,(30)是错误的。软件测试方法可分为黑盒测试法和白盒测试法两种。黑盒测试法是通过分析程序的(31)来设计测试用例的方法。集成测试也叫做(32)。

A.软件测试就是程序测试

B.软件测试贯穿于软件定义和开发的整个期间

C.需求规格说明、设计规格说明都是软件测试的对象

D.程序是软件测试的对象


正确答案:A
解析:本题考察软件测试阶段监理工作的重点。从软件的生存周期看,测试往往指对程序的测试,这样做的优点是被测对象明确,测试的可操作性相对较强。但是,由于测试的依据是规格说明书、设计文档和使用说明书,如果设计有错误,测试的质量就难以保证。若测试后发现是设计的错误,这时,修改的代价是相当昂贵的。因此,较理想的做法应该是对软件的开发过程,按软件工程各阶段形成的结果,分别进行严格的审查。为了确保软件的质量,对软件开发过程应进行严格的管理。虽然测试是在实现且经验证后进行的,但实际上,测试的准备工作在分析和设计阶段就开始了。

第7题:

软件测试是为了发现错误而执行程序的过程。检验软件是否满足用户需求的测试称为(20)。

A.系统测试

B.组装测试

C.确认测试

D.回归测试


正确答案:C
解析:软件测试是为了发现错误而执行程序的过程。软件测试的主要步骤有单元测试、集成测试(组装测试)和确认测试。其中,确认测试的任务是检查软件的功能、性能及其他特征是否与用户的需求一致,它是以需求规格说明书作为依据的测试。确认测试通常采用黑盒测试法。黑盒测试也称为功能测试,是根据规格说明所规定的功能(即程序的外部功能)来设计测试用例,它不考虑程序的内部结构和处理过程。常用的黑盒测试技术有等价类划分、边值分析、错误猜测和因果图等。回归测试是为了验证修改的正确性及其影响而进行的,是维护中常用的方法,以确定修改是否达到了预期的目的,检查修改是否损害了原有的正常功能。回归测试作为软件生存周期的一个组成部分,在整个软件测试过程中占有很大的比重,软件开发的各个阶段都会进行多次回归测试。

第8题:

试题(39)

关于确认测试,描述正确的是(39) 。

① 确认测试一般包括有效性测试与软件配置复查,采用黑盒测试为主,白盒测试为辅的测试方法进行测试。

② 确认测试配置项复查时应当严格检查用户手册和操作手册中规定的使用步骤的完整性和正确性。

③ 确认测试需要检测与证实软件是否满足软件需求说明书中规定的要求。

④ 确认测试是保证软件正确实现特定功能的一系列活动和过程,目的是保证软件生命周期中的每一个阶段的成果满足上一个阶段所设定的目标。

39)

A.① ②

B.② ③

C.③ ④

D.② ④


正确答案:B

试题(39)分析
本题考查确认测试的概念。
确认测试的任务是验证软件的功能和性能及其他特性是否与用户的要求一致。对软件的功和性能要求在软件需求规格说明中明确规定。确认测试一般包括有效性测试和软件配置复查。
有效性测试。有效性测试是在模拟的环境下,运用黑盒测试的方法,验证所测软件是否满足需求规格说明书列出的需求。软件配置复查。软件配置复查的目的是保证软件配置的所有成分都齐全,各 方面的质量都符合要求,具有维护阶段所必须的细节,而且已经编排好分类的目录。
参考答案
(39)B

第9题:

论软件系统测试及其应用

软件系统测试是将已经确认的软件与计算机硬件、外设、网络等其他设施结合在一起,进行信息系统的各种组装测试和确认测试,系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,进而完善软件。系统洌试的主要内容包括功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、安装与反安装测试等,其中,最重要的是功能测试和性能测试。功能测试主要采用黑盒测试方法。

请围绕“软件系统测试及其应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。 2.详细论述软件系统测试中功能测试的主要方法,自动化测试的主要内容和如何选择适合的自动化测试工具。 3.结合你具体参与管理和开发的实际项目,说明你是如何采用软件系统测试方法进行系统测试的,说明具体实施过程以及应用效果。


正确答案:
本题属于软件工程方向的考题。文章第一部分是标准问题,进行详实的项目简介即可。
文章第二部分与第三部分内容可以结合起来论述,需要理论结合实践。在此主要说明需要用到的理论知识。其实题目中所说的” 软件系统测试中功能测试“就是平时所说的黑盒测试与白盒测试。
白盒测试的方法包括一系列的逻辑覆盖,主要的覆盖标准有语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖、条件组合覆盖、修正的条件/判定覆盖和路径覆盖等。
(1)语句覆盖。语句覆盖是指选择足够多的测试用例,使得运行这些测试用例时,被测程序的每个语句至少执行一次。很显然,语句覆盖是一种很弱的覆盖标准。
(2)判定覆盖。判定覆盖也称为分支覆盖,它是指不仅每个语句至少执行一次,而且每个判定的每种可能的结果(分支)都至少执行一次。判定覆盖比语句覆盖强,但对程序逻辑的覆盖程度仍然不高。
(3)条件覆盖。条件覆盖是指不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取得各种可能的结果。条件覆盖不一定包含判定覆盖,判定覆盖也不一定包含条件覆盖。
(4)条件/判定覆盖。同时满足判定覆盖和条件覆盖的逻辑覆盖称为判定/条件覆盖。它的含义是,选取足够的测试用例,使得判定表达式中每个条件的所有可能结果至少出现一次,而且每个判定本身的所有可能结果也至少出现一次。
(5)条件组合覆盖。条件组合覆盖是指选取足够的测试用例,使得每个判定表达式中条件结果的所有可能组合至少出现一次。显然,满足条件组合覆盖的测试用例,也一定满足判定/条件覆盖。因此,条件组合覆盖是上述5种覆盖标准中最强的一种。然而,条件组合覆盖还不能保证程序中所有可能的路径都至少遍历一次。
(6)修正的条件/判定覆盖。修正的条件/判定覆盖需要足够的测试用例来确定各个条件能够影响到包含的判定结果。首先,每个程序模块的入口和出口点都要考虑至少要被调用一次,每个程序的判定到所有可能的结果值要至少转换一次;其次,程序的判定被分解为通过逻辑操作符(and和or)连接的布尔条件,每个条件对于判定的结果值是独立的。
(7)路径覆盖。路径覆盖是指选取足够的测试用例,使得程序的每条可能执行到的路径都至少经过一次(如果程序中有环路,则要求每条环路路径至少经过一次)。路径覆盖实际上考虑了程序中各种判定结果的所有可能组合,因此是一种较强的覆盖标准。但路径覆盖并未考虑判定中的条件结果的组合,并不能代替条件覆盖和条件组合覆盖。
常见的黑盒测试包括:
(1)等价类划分。在设计测试用例时,等价类划分是用得最多的一种黑盒测试方法。所谓等价类就是某个输入域的集合,对于一个等价类中的输入值来说,它们揭示程序错误的作用是等效的。也就是说,如果等价类中的一个输入数据能检测出一个错误,那么等价类中的其他输入数据也能检测出同一个错误;反之,如果等价类中的一个输入数据不能检测出某个错误,那么等价类中的其他输入数据也不能检测出这一错误(除非这个等价类的某个子集还属于另个一等价类)。
(2)边界值分析。经验表明,软件在处理边界情况时最容易出错。设计一些测试用例,使软件恰好运行在边界附近,暴露出软件错误的可能性会更大一些。通常,每一个等价类的边界,都应该着重测试,选取的测试数据应该恰好等于、稍小于或稍大于边界值。例如,对于条件“10<x<30”的测试,可以选取x的值为9、10、30和31作为测试数据。
在实际测试工作中,将等价类划分法和边界值分析法结合使用,能更有效地发现软件中的错误。
(3)错误推测。使用等价类划分和边界值分析技术,有助于设计出具有代表性的、容易暴露软件错误的测试方案。但是,不同类型的软件通常有一些特殊的容易出错的地方。错误推测法主要依靠测试人员的经验和直觉,从各种可能的测试用例中选出一些最可能引起程序出错的用例。
虽然手工测试可以找到软件的很多缺陷,但这是一个艰苦和耗时的过程,而且可能无法有效地发现某些类型的缺陷。测试自动化是一个通过编程完成测试的过程,一旦测试实现了自动化,大量的测试用例就可以迅速得到执行。
自动化测试通常需要构建存放程序软件包和测试软件包的文件服务器、存储测试用例和测试结果的数据库服务器、执行测试的运行环境、控制服务器、Web服务器和客户端程序。自动化测试的主要实现方法包括代码的静态与动态分析、测试过程的捕获与回放、测试脚本技术、虚拟用户技术和测试管理技术等。
自动化测试工具的关键特性之一是具有良好的脚本开发环境。测试工具首先应该具有相对应的容错处理系统,可以自动处理一些异常状况;其次要能够提供类似软件集成开发环境中的调试功能,支持脚本的运行、设置断点、得到变量返回结果等,可以更有效地对测试脚本的执行进行跟踪、检查并迅速定位问题;最后,测试脚本的开发通常也需要一个团队的开发环境,即测试工具对脚本代码能很好地进行控制与管理。
目前,测试工具主要有单元测试工具、负载和性能测试工具、GUI功能测试工具和基于Web应用的测试工具等。
(1)单元测试工具。单元测试工具主要包括C/C++测试工具(例如,Panorama C++和C++ Test等)、Java开源测试框架JUnit、内存资源泄漏检查工具(例如,Numega的BounceChecker和Rational的Purify等)、代码覆盖率检查工具(例如,Numega的TrueCoverage、Rational的PureCoverage和TeleLogic的LogiScope等)、代码性能检查工具(例如,LogiScope的Macabe等)和软件纠错工具(例如,Rational Purl等)。
(2)负载和性能测试工具。负载和性能测试工具是软件测试中作用最大的工具,可以完成一些难以用手工实现的测试,常用工具包括Mercury Interactive的LoadRunner和Compuware的QALoad,以及IBM Rational的SQA Load、Performance和Visual Quality。
(3)GUI功能测试工具。GUI功能测试工具主要用于回归测试,主要工具包括Mercury Interactive的WinRunner和Compuware的QARun,以及IBM Rational的SQA Robot和Microsoft的Visual Test Suite等。
(4)基于Web应用的测试工具。基于Web应用的测试工具主要进行链接检查、HTML检查、Web功能和安全性等方面的测试。主要的测试工具包括MI公司的Astra系列和RSW公司的E-TestSuite,以及WorkBench、Web Application Stress(WAS)Tool和Link Sleuth等。
其他的测试工具还包括缺陷跟踪工具、综合测试管理工具、嵌入式测试工具、数据库测试工具等。面对如此众多的测试工具,在选择时应进行综合考虑,例如,考察测试工具是否支持脚本语言,是否具有良好的脚本开发环境;脚本语言是否支持外部函数库,以及函数的可复用;测试工具对程序界面中对象的识别能力,对分布式测试的网络支持,以及是否支持数据驱动测试等方面。

第10题:

● 以下关于不同类型软件测试的叙述,正确的是(40) 。

(40)

A.单元测试不是模块测试

B.多个模块不能平行地独立进行测试,应该顺序执行

C.系统测试是检验程序单元或部件之间的接口关系

D.确认测试是通过检验和/或核查所提供的客观证据,证实软件是否满足特定预期用途的需求


正确答案:D

更多相关问题