软考高级

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

题目

论软件系统测试及其应用

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

请围绕“软件系统测试及其应用”论题,依次从以下三个方面进行论述。 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等。
其他的测试工具还包括缺陷跟踪工具、综合测试管理工具、嵌入式测试工具、数据库测试工具等。面对如此众多的测试工具,在选择时应进行综合考虑,例如,考察测试工具是否支持脚本语言,是否具有良好的脚本开发环境;脚本语言是否支持外部函数库,以及函数的可复用;测试工具对程序界面中对象的识别能力,对分布式测试的网络支持,以及是否支持数据驱动测试等方面。

如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

●系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。 (40) 不是系统测试的内容。

(40) A.路径测试

B.可靠性测试

C.安装测试

D.安全测试


正确答案:A
【解析】基本路径测试是建立在Tom McCabe[MCC76]首先提出的一种白盒测试技术--基本路径测试方法上的。允许测试用例设计者导出一个过程设计的逻辑复杂性测度,并使用该测度作为指南来定义执行路径的基本集。从该基本集导出的测试用例保证对程序中的每一条语句至少执行一次。它不属于系统测试范畴。系统测试事实上是对整个基于计算机的系统进行考验的一系列不同测试。虽然每一个测试都有不同的目的,但都是为了整个系统成分能正常地集成到一起以完成分配的功能而工作的。对基于计算机的系统有用的系统测试类型有恢复测试、安全测试、安装测试、性能测试、可靠性测试等。

第2题:

系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。(12)不是系统测试的内容。

A.路径测试

B.可靠性测试

C.安装测试

D.安全测试


正确答案:A
解析:系统测试是将软件系统与硬件、外设和网络等其他因素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统地需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。常见的系统测试主要有恢复测试、安全性测试、强度测试、性能测试、可靠性测试和安装测试。

第3题:

软件测试的内容很多。其中将软件系统与硬件、外设或其他系统元素结合在一起,对整个软件系统进行的测试称之为_______。


正确答案:
【解析】软件系统的开发过程是一个自顶向下逐步细化的过程,而测试过程则是依相反的顺序进行的集成过程。主要的测试过程可以分为:单元测试(模块测试)、集成测试、有效性测试、系统测试、验收测试。系统测试是指将软件系统与其他系统元素(如硬件、人员操作、数据获取等)结合起来,对计算机系统进行整体测试和有效性测试。验收测试是指用户根据合同进行的测试,以确定系统功能的可接受性。

第4题:

________将通过测试确认的软件作为整个基于计算机系统的一个元素,与计算机硬件外设、支持软件、数据和人员等其他系统元素组合在一起,在实际运行环境中对计算机系统进行一系列的集成和确认测试。


正确答案:
系统测试

第5题:

( 11 ) 软件测试 有多个阶段 , 其中 , 将软件系统与硬件 、 外设或其他系统元素结合在一起 , 对整个软件系统进行测试的阶段是

A )系统测试

B )模块测试

C )单元测试

D )集成测试


正确答案:A

第6题:

______是将软件系统与硬件、外设和其他系统元素结合,对整个软件系统进行测试。


正确答案:系统测试
系统测试

第7题:

将软件系统与硬件、外设或其他系统元素结合在一起,对整个软件系统进行的测试,称为

A.有效性测试

B.系统测试

C.单元测试

D.集成测试


正确答案:B
解析:软件测试过程一般按4个步骤进行,即单元测试、集成测试、验收测试(确认测试)和系统测试。单元测试用来确定编码是否错误以及功能和接口描述是否符合要求。集成测试用来查找与接口有关的错误。有效性测试确定软件是否达到了需求说明书中的描述要求。系统测试用来对整个软件系统进行的测试。

第8题:

请教:2009年上半年《软件评测师》上午试题(参考答案版)第1大题第38小题如何解答?

【题目描述】

● 以下关于软件测试分类定义的叙述,不正确的是(42) 。

(42)

A.软件测试可分为单元测试、集成测试、确认测试、系统测试、验收测试

B.确认测试是在模块测试完成的基础上,将所有的程序模块进行组合并验证其是否满足用户需求的过程

C.软件测试可分为白盒测试和黑盒测试

D.系统测试是将被测软件作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起进行测试的过程

 

 

 


正确答案:B

第9题:

● 系统测试将软件、硬件、网络等其它因素结合,对整个软件进行测试。 (43) 不是系统测试的内容。

(43)

A. 路径测试

B. 可靠性测试

C. 安装测试

D. 安全测试


正确答案:A

试题(43)分析
    系统测试是将已经确认的软件、计算机硬件、外设和网络等其他因素结合在一起,进行信息系统的各种集成测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。系统测试是根据系统方案说明书来设计测试用例,常见的系统测试主要有恢复测试、安全性测试、压力测试、性能测试、可靠性测试、可用性测试、可维护性测试和安装测试。
参考答案
 (43)A

第10题:

以下关于软件测试分类定义的叙述,不正确的是()。

A.软件测试可分为单无测试,集成测试、确认测试、系统测试、验收测试

B.确认测试是在模块测试完成的基础上,将所有的程序模块进行组合并验证其是否满足用户需求的过程

C.软件测试可分为白盒测试和黑盒测试

D.系统测试是将被测软件作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元索结合在起进行测试的过程


正确答案:B

更多相关问题