列表

详情


    阅读以下说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    某软件公司承担了为企业开发电子商务系统的任务,为了保证软件系统的质量,软件公司在成立项目组的同时,成立了该项目的测试小组。测试组对软件开发的全过程进行了测试,重点针对软件的功能和性能进行测试。

【问题1】(6分)
测试组按照软件测试实施过程对软件进行了全面测试。在测试过程中,测试组完成了以下测试工作:
A.检查软件是否满足合同规定的所有功能和性能,文档资料是否完整,确认人机界面和其他方面是否令用户满意。
B.检验软件产品能否与实际运行环境中的系统的其他部分(如硬件、数据库及操作人员等)协调地工作。
C.通过对被测模块的数据流进行测试,检查进出模块的数据是否正确。
D.将各个子功能组合起来,检查能否达到预期要求。
E.重新执行已经做过测试的某个子集,保证没有引入新的错误。
F.从实际终端用户的使用角度,对软件的功能和性能进行测试,以便发现可能只有最终用户才能发现的错误。
从软件测试实施过程的角度看, (1) 是单元测试; (2) 是集成测试, (3) 是确认测试, (4) 是系统测试, (5) 是验收测试, (6) 是回归测试。
【问题2】(5分)
软件系统中关于电话号码是这样设定的:电话号码由地区码、前缀和后缀3部分组成。地区码由空白或3位数字组成;前缀是非“0”或非“1”开头的3位数字;后缀是4位数字。测试小组设计了等价类,如表3-1所示。请根据题目说明及表3-1,填补空(7)~(11)。

 表3-1 电话号码输入等价类表


【问题3】(4分)
性能测试是指在一定条件下系统的行为表现是否符合需求规格的性能指标。性能测试在保证软件质量中具有极其重要作用。为了完成性能测试,测试小组完成了以下工作:
A.故意使系统出错,利用系统恢复的过程,窃取用户口令及其他有用的信息
B.当系统出错时,检查能否在指定时间间隔内修正错误并重新启动
C.先进行简单多任务测试,然后修正缺陷,再增加系统的压力,直到系统崩溃
D.检查系统的哪些功能依赖于系统调用,是否属于某个平台或版本独有,在不同平台上运行是否有差异
其中, (12)是压力测试; (13) 是容错性测试; (14) 是安全测试; (15) 是兼容性测试。

参考答案:

【问题1】
(1)C
(2)D
(3)A
(4)B
(5)F
(6)E
【问题2】
(7)3位数字
(8)200~999之间的3位数字或非“0”或非“1”开头的3位数字
(9)4位数字
(10)有非数字字符
(11)起始位为0
【问题3】
(12)C
(13)B
(14)A
(15)D

详细解析:

软件测试是保障电子商务系统质量的重要手段。考生应该掌握软件测试的基本概念、基本过程和方法,了解电子商务软件系统的测试步骤。本题主要从软件测试实施过程、软件测试方法以及性能测试三个方面,考核考生对相关概念、方法的掌握程度。
【问题1】
软件测试实施过程分为单元测试、集成测试、确认测试、系统测试、验收测试和回归测试。本问题考核考生掌握软件测试实施过程的程度,要求考生掌握各个测试步骤的工作内容,与其他测试步骤的区别。
1.单元测试。单元测试通过对每个最小的软件模块进行测试,检查各个程序模块是否正确地实现了规定的功能,确保其能正常工作。单元测试的主要任务是,通过对被测模块的数据流进行测试,检查进出模块的数据是否正确。
2.集成测试。集成测试是对已测试过的模块进行组装集成,目的是检验与软件设计相关的程序结构问题。集成测试的主要任务是:
(1)将各模块连接起来,检查模块相互调用时,数据经过接口是否丢失。
(2)将各个子功能组合起来,检查能否达到预期要求的各项功能。
(3)一个模块的功能是否会对另一个模块的功能产生不利的影响。
(4)全局数据结构是否有问题,会不会被异常修改。
(5)单个模块的误差积累起来,是否被放大,从而达到不可接受的程度。
3.确认测试。确认测试用来检验软件是否符合用户的需求。软件确认一般采用黑盒测试法,通过一系列证明软件功能和要求的测试来实现。确认测试的结果只有两种可能,一种是功能和性能指标满足软件需求说明的要求,用户可以接受;反之,功能和性能指标不满足软件需求说明的要求,此时发现的错误一般很难在预定的工期内改正,因此往往须与用户协商,寻求一个妥善的解决方法。
4.系统测试。系统测试检验软件产品能否与实际运行环境中的系统的其他部分(如硬件、数据库及操作人员等)协调地工作。系统测试将软件与整个系统的硬件、外设、支持软件、数据和人员等结合起来,以需求规格说明为依据,在实际运行环境下进行测试。
5.验收测试。是检验软件产品质量的最后一道工序,从实际终端用户的使用角度,对软件的功能和性能进行测试,以便发现可能只有是最终用户才能发现的错误。测试人员在验收测试工作中将协助用户代表执行测试,并和测试观察员一起向用户解释测试用例的结果。
6.回归测试。回归测试是一种验证已变更的系统的完整性与正确性的测试技术,是指重新执行已经做过的测试的某个子集,以保证修改没有引入新的错误或者没有发现由于更改而引起之前未发现的错误,也就是保证改变没有带来非预期的副作用。因此,软件开发的各个阶段会进行多次回归测试。
【问题2】
软件测试方法包括白盒测试和黑盒测试等,而等价类法是黑盒测试法中最常用的测试方法之一。本问题考核考生掌握等价类法的程度,即针对被测对象,能否设计有效等价类和无效等价类。
等价类是指某个输入域的子集合。在该子集合中,测试某等价类的代表值就等于对这一类其他值的测试,对于揭露程序的错误是等效的。因此,将输入的全部数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据取得较好的测试结果。
等价类划分有两种情况,即有效等价类和无效等价类。
(1)有效等价类:对于程序的规格说明来说,它是由合理的、有意义的输入数据构成的集合,利用它可检验程序是否实现了规格说明中所规定的功能和性能。
(2)无效等价类:与有效等价类相反,它是由对程序的规格说明无意义、不合理的输入数据构成的集合。
在【问题2】中,有效等价类栏目中地区码有两种选择,“空白”或“3位数字”,“空白”选项已经给出,故答案为“3位数字”。前缀在题目中要求为非“0”或非“1”开头的3位数字,满足此条件的数值范围是200~999,故答案如参考答案。后缀只要求4位数字,从0000到9999均可,故填写4位数字即可。对于地区码的无效等价类,有三种情况:含有非数字字符、是数字字符但长度大于或小于3均为无效输入,后两个已在表中给出,故答案为有非数字字符。对于前缀,除了要求3位数字外,还要求开头的数字不能为0或1,因此其无效类有5个,分别为有非数字字符、起始位为0、起始位为1、少于3位数字和多于3位数字,故答案为起始位为0。
【问题3】
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样。本问题考核考生对性能测试涉及的相关概念的掌握情况。
1.安全性测试。安全性测试是测试系统在应付非授权的内部/外部访问、非法侵入或故意的损坏时的系统防护能力,检验系统有能力使可能存在的内/外部的伤害或损害的风险限制在可接受的水平内。
安全性测试是要检验在系统中已经存在的系统安全性、保密性措施是否发挥作用,有无漏洞。一般通过以下几种破坏系统保护机构的方法来检验系统的安全性:
(1)正面攻击或从侧面、背面攻击系统中易受损坏的那些部分。
(2)以系统输入为突破口,利用输入的容错性进行正面攻击。
(3)申请和占用过多的资源压垮系统,以破坏安全措施,从而进入系统。
(4)故意使系统出错,利用系统恢复的过程,窃取用户口令及其他有用的信息。
(5)通过浏览残留在计算机各种资源中的垃圾(无用信息),以获取如口令、安全码和译码关键字等信息。
(6)浏览全局数据,期望从中找到进入系统的关键字。
(7)浏览那些逻辑上不存在,但物理上还存在的各种记录和资料等。
2.兼容性测试。兼容性测试用于测试软件与先前发布过的版本、有依赖关系的外部软件、运行的系统的各种版本和硬件平台的不同配置的兼容情况。
一般从如下几个方面进行兼容性测试。
(1)检查版本是否兼容,检查新版本操作习惯与老版本是否兼容,目的是使老版本的用户很快地适应新版本的变化。
(2)检查数据格式是否兼容。
(3)检查系统调用的兼容性,检查系统的哪些功能依赖于系统调用,是否属于某个平台或版本独有,是否在不同平台上有差异。
3.容错性测试。容错性测试是检查软件在异常条件下自身是否具有防护性措施或者灾难恢复手段。如当系统出错时,能否在指定时间间隔内修正错误并重新启动。可以把容错性测试看作是由系统异常处理测试和恢复测试组成的。
4.压力测试。压力测试又称为强度测试,是在强负载(如大数据量、大量并发用户等)下的测试,用于查看应用系统在峰值使用情况下的操作行为,目的是发现系统的功能隐患、系统是否具有良好的容错能力和可恢复能力。压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试。
压力测试的一般步骤如下:
步骤1:进行简单多任务测试。
步骤2:简单压力缺陷修正后,增加系统的压力直到系统崩溃。

上一题