2022年07解题方法与技巧精解6-应对软件测试维护、安全类型的问题.doc
《2022年07解题方法与技巧精解6-应对软件测试维护、安全类型的问题.doc》由会员分享,可在线阅读,更多相关《2022年07解题方法与技巧精解6-应对软件测试维护、安全类型的问题.doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第7讲 如何应对软件测试、维护、平安类型的征询题 本讲导读 定量化的说明。 随着软件产业的推进和测试技术的开展,测试驱动开发越来越遭到开发人员的注重,测试技术也浸透到软件开发的每一个角落。同时,尽管硬件技术已经获得了宏大的开展,但应用需求的快速增长也大大超出了人们的想象,如何更好地评价系统的各项功能指标对充分发挥系统的功能越来越来起到更为重要的作用。同时,测试驱动开发的思想也使得人们对测试技术更为注重,尤其是测试的根本方法。而关于系统平安,则是反复强调的重点,根本的平安设备,平安的体系构造等等属于调查的重点。 本讲内容 7.1 案例一软件可靠性测试7.1.1 征询题某企业信息部门的李工程师正在
2、为其下属单位开发一个应用软件,在编写软件需求规格说明书时,涉及到如何定量地描绘软件可靠性的征询题。 李工认为软件可靠性指的是在将要使用的指定环境下,软件能以用户可接受的方式正确运转任务所表现出来的才能。从定量角度看,大概应当是该软件在商定的环境条件下和在给定的时间区间内,按照软件规格说明的要求,成功地运转程序所规定功能的概率。但是,他感到要详细地做定量描绘有些困难。为此,李工查阅到了本部门某个软件需求规格说明书中有关的一段内容:“(1)在集成与系统测试期间,由非开发组人员参与测试,每10k行可执行代码可能检测到的错误(BUG)不能大于6个; (2)在提交使用的系统中,每10k行可执行代码可能保
3、存着的错误数不能大于8个; (3)在第一年工作期间,系统在99.9%的工作日期间内,应能保持100%的正常工作状态。” 在上述说明后,还有一条注解是:错误(BUG)可采纳蒙特卡罗(MonteCarlo)随机植入技术进展测试。 征询题1李工程师首先想到了曾经学到过采纳蒙特卡罗随机统计技术确定不规则形状封闭图形面积的方法,即是采纳一个大的矩形把待测的封闭图形完全包围在该大矩形的内部,由计算机大量生成在此矩形内均匀分布的“点”,然后,计数清点一下在大矩形内总的“点”的个数和在封闭图形内的“点”的个数,应当近似地有:封闭图形的面积=关于某些使用于重要场合的软件,或者运转时发生毛病会产生相当严峻后果的软
4、件,必需要求有更高的可靠性,即在软件开发的所有相关环节采取相应的严格治理和措施,保证其能稳定可靠地运转,防止失效可能会引起的严峻损失。 假如把这个思想应用于系统测试过程,先在某个程序中随机地人为植入10个错误(BUG),然后,由一个测试组进展测试,结果一共发觉有120个错误,其中有6个是人为植入的错误。 请你估算一下这时该程序中将会遗留下多少个未被发觉的隐藏错误。同时也请你用100字以内的文字,简要地以提纲方式列举出采纳这种错误随机植入方式来估算系统中遗留错误所固有的局限性。 征询题2 在进展上述分析后,李工程师感到有些困惑,因而与本企业维护系统的一位系统治理员进展了讨论,系统治理员告诉他能够
5、借用硬件的MTTF(失效的平均等待时间,MeanTimeToFailure)或者MTBF(失效的平均间隔时间)作为软件可靠性的主要指标。 这时,李工程师查到了本企业中的一个典型例子:某软件在提交使用后,在第1周内有5次软件毛病(查出了有关的BUG),在第2周至第4周内共有23次出错(也排除了错误根源),在2个月以后该软件不断能正常使用运转(大家反映不错),不断到6年半后的一天忽然停工,即工作不正常。 请你用100字以内文字分析该软件最后一次工作不正常的可能缘故,并说明MTBF是在什么意义下反映了软件的可靠性。 征询题3信息部门的吴总工程师向李工程师建议了另一类测试方案作为“错误随机植入”测试方
6、法的补充。即由甲和乙两组测试人员同时互相独立地测试同一份程序的两个拷贝,测试了两周后,甲组发觉的错误总数为330个,乙组发觉的错误总数为320个,其中两个组发觉的一样错误数目为300个。请你大体上估算一下在测试前此程序原有多少个错误?并也请你以100字以内文字,简要说明使用这类估算方法的必要前提。7.1.2 背景知识与解题分析 依照可靠性的概念,要在软件需求规格说明书中定量地、确切地表述出软件可靠性是最困难的。软件可靠性需求应依照不同的软件使用的环境条件与不同的应用场合提出不同的要求,笼统地说:“软件应有99.9%的可靠性”是没有多大意义的。由于各类软件在运用时,出现失效所造成的妨碍和损失各不
7、一样,在需求分析时应对所开发的软件在投入运转后不发生毛病的概率,按实际的运用环境条件提出适度的不同要求。 征询题1在一个待测试的程序中人为地随机植入10个错误。测试后发觉了120个错误,其中有6个是植入的错误。要求估算在该程序中还遗留有多少个“未被发觉的错误”,指出以这类随机植入错误方案估算程序中错误所固有的局限性。有关随机植入错误方法,请参考试题4的分析。随机植入错误方法有几个明显的优点; (1)工作方式相当直观,能在一定程序上反映出软件的质量; (2)尽管在技术上不完善,但至少产生了与软件质量相关的定量的结果; (3)在最坏的情况下,最少可用来衡量“测试工作的有效性”,在某种程序上作为测试
8、是否能完毕的一项标志,由于假如连这类播种入的错误都不能发觉,一定不会是特别成功的测试。 如今此题要求答复此类方案的局限性,大体上可从下面两方面分析。按照公式计算,这实际上确实是一个比拟简单的比例征询题。MTBF反映了软件错误出现的频度,是“用户的可预测性”与“软件中存在错误数”的一个复杂的函数。 (1)要想使随机植入的错误有助于正确地推出固有的错误数时,如何有效地选择和植入这类错误相对特别困难,由于所有错误不会平等地以同样的可能性出现,错误还有着连带性与相关性,比方一个错误往往会隐藏着某些其他的错误。(2)检测错误与修正好错误不是一件轻而易举的任务,一方面,随机植入的错误本身会增加检测发觉错误
9、和修正错误的工作量,另一方面,在检测错误时,错误一般不会等同地被发觉,在修复错误时经常会引出新的错误。从而特别难用如此简单的公式获得特别理想的可能值。随机植入错误测试方案的估算公式及其局限性: 程序中错误的总数:(10120)/6=200个。 遗留未被发觉的错误数=200-120-(10-6)=80-4=76个。 (1)所有错误不会平等地出现; (2)错误有着连带相关性(一个错误可能隐藏另一错误); (3)在检测错误时,错误不会等同地被发觉:(4)在修复错误时经常会引起新的错误。 征询题2 征询题2要求分析软件正常工作了6年半后忽然停工的可能缘故,以及用失效的平均间隔时间MTBF反映软件可靠性
10、的含义是什么? 要分析一个软件稳定正常地运转了6年半后忽然有一天停工,即工作不正常的缘故时,从标题的上下文来看,主要应当从软件本身的质量和软件生存期的有关活动加以分析。 (1)在软件运转过程中用户的可预测性:最大的可能性应是用户忽然启用了软件的一个应当提供的新功能,而软件的该项功能实现有错误,在往常的6年半中从未使用过该功能。类似地,用户新使用的正好是软件考虑不周的与时间有关的某个功能(包括类似于两千年征询题等),与计数溢出有关的功能,与队列、堆栈、存储器容量或缓冲区大小有关的功能等。所有这些都可归入用户使用的可预测性征询题,本质上是新暴露了软件所隐藏着的固有征询题。 (2)在软件运转与维护过
11、程中引起了新的软件错误,最典型的是某个软件维护人员犯了错误,引入了一个新错误,这也是相当常见的现象。比方随着时间的推移,软件维护人员为了跟上开展,试一下能否为软件加一点新功能,没有成功便取消了,但无意中引入一个错误在软件中。也可能是在正常的日常维护(如备份或恢复系统)的过程中犯了一个小错误等。因而,从这些观点来看,MTBF是用户可预测性和软件中存在有的各类错误的一个复杂的函数,即便两个软件用来提供同样的功能并有着一样的错误数目,在不同的用户使用情况下不会有不同的MTBF(与用户的可预测性有关),功能上大体一样的两个软件在同样的用户使用条件下,由于软件有不同的错误数,因而有不同的MTBF(这时错
12、误数起主要作用)。从软件本身来分析软件忽然停顿正常工作的缘故,主要的可能是: (1)用户忽然启用了一个原来从未用过的新功能(用户的可预测性); (2)某个软件维护人员犯了错误,引入了一个新错误。 征询题3 独立测试方案的估算测试前程序中原有错误数=(330320)/300=352个。估算前提是: (1)两周来发觉的错误在全部错误中有着代表性;(2)两组发觉的不同错误数所占的比例相对是特别低的。7.1.3 参考答案征询题1 随机植入错误测试方案的估算公式及其局限性: 程序中错误的总数:(10120)/6=200个。 遗留未被发觉的错误数=200-120-(10-6)=80-4=76个。 (1)所
13、有错误不会平等地出现; (2)错误有着连带相关性(一个错误可能隐藏另一错误); (3)在检测错误时,错误不会等同地被发觉: (4)在修复错误时经常会引起新的错误。 征询题2 从软件本身来分析软件忽然停顿正常工作的缘故,主要的可能是: (1)用户忽然启用了一个原来从未用过的新功能(用户的可预测性); (2)某个软件维护人员犯了错误,引入了一个新错误。 MTBF反映了软件错误出现的频度,是“用户的可预测性”与“软件中存在错误数”的一个复杂的函数。 征询题3 独立测试方案的估算测试前程序中原有错误数=(330320)/300=352个。估算前提是: (1)两周来发觉的错误在全部错误中有着代表性; (
14、2)两组发觉的不同错误数所占的比例相对是特别低的。7.2 案例二软件测试根底及测试工具使用7.2.1 征询题某软件公司在研制与开发各类应用软件的过程中,深切地体会到软件测试的重要性与复杂性,认为这是关系到公司信誉、软件质量和软件维护的关键技术活动之一。公司的王总工程师屡次召集公司有关的治理人员与技术骨干,分析了软件测试的标准化征询题,讨论中一致认为标准化应涉及以下一些根本的软件测试活动:这是一道关于测试治理与方法的区分试题,以及要求考生掌握至少一种测试工具。 (1)编制软件测试计划; (2)拟定软件测试大纲; (3)设计并生成各类测试用例; (4)以一系列“测试小周期”施行软件测试; (5)产
15、生相应的软件征询题报告; (6)软件测试过程的整体性治理。 王总工程师要求开发部的赵工程师整理出几份专题性的报告。 征询题1 针对公司里原来习惯于依照“谁开发谁测试”的原则进展软件测试,赵工程师在报告中建议采纳“专业化测试人员”专职全身心肠从事于软件测试工作。 请以100字以内文字,用提纲方式简明说明这可能会有什么好处。 征询题2 在赵工程师拟就的专题报告中,提出了以下的一些见解: (1)软件测试过程应与整个软件的开发过程根本上并行地展开和进展。比方:许多测试预备工作都在测试施行阶段之前即已开场。 (2)软件的测试与纠错通常是反复迭代地进展的,改良软件的再测试与回归测试是提高软件测试效率与质量
16、的重要环节之一。 (3)依照测试是否针对软件系统的内部构造,一般可把软件测试的方法大体上区分为两大类:白盒子方法指的是功能测试,黑盒子方法指的是构造测试。 (4)测试用例的选择应留意代表性,即输入数据、操作与环境设置时应能代表有合理的或不合理的,合法的或非法的,界限内的或越界的等各类情况,也应包括有临界的或极限的情况。 (5)要求测试结果呈现“可断定性”(可评估或断定测试执行结果是否正确)和“可再现性”(对同样的测试用例,软件系统的执行结果一样)的特征。 (6)软件测试施行的主要依照是事先拟定好的软件测试计划,因而测试计划的拟定必须缜密、全面与完善。 (7)针对公司中技术人员大量使用C语言指针
17、编程开发的详细特点,必须加强内存使用错误方面的软件测试。 请从上述表达中选出你认为提法上不恰当的两条的序号,各用30字以内文字简要说明理由。 征询题3在讨论中,王总工程师强调指出使用软件测试工具的必要性。请你以100字以内文字,用提纲方式简要列举某一种软件测试工具的主要功能(能够是你所使用过或看到过的工具,或者你所期望有的某一种软件测试工具)。7.2.2 背景知识与解题分析 征询题1 征询题1要求考生答复采纳“专业化测试人员”的好处。采纳专业化测试人员的好处大致如下: (1)能够防止程序员的习惯性错误; (2)能够从不同角度考虑征询题; (3)有利于测试人员独立工作,杜绝人情关系; (4)有利
18、于加强测试治理。征询题2 测试过程按4个步骤进展,即单元测试、组装测试、确认测试和系统测试。图4-2显示出软件测试经历的4个步骤。单元测试集中对用源代码实现的每一个程序单元进展测试,检查各个程序模块是否正确地实现了规定的功能。然后,进展集成测试,依照设计规定的软件体系构造,把已测试过的模块组装起来,在组装过程中,检查程序构造组装的正确性。确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。最后是系统测试,把已经通过确认的软件纳入实际运转环境中,与其它系统成份组合在一起进展测试。严格地说,系统测试已超出了软件工程的范围。单元测试针对程序模块,进展正
19、确性检验的测试。其目的在于发觉各模块内部可能存在的各种过失。单元测试需要从程序的内部构造出发设计测试用例。多个模块能够平行地独立进展单元测试。单元测试的内容包括:模块接口测试,对通过被测模块的数据流进展测试。为此,对模块接口,包括参数表、调用子模块的参数、全程数据、文件输入输出操作都必须检查。部分数据构造测试,设计测试用例检查数据类型说明、初始化、缺省值等方面的征询题,还要查清全程数据对模块的妨碍。 途径测试,选择适当的测试用例,对模块中重要的执行途径进展测试。对根本执行途径和循环进展测试能够发觉大量的途径错误。错误处理测试,检查模块的错误处理功能是否包含有错误或缺陷。例如,是否回绝不合理的输
20、入;出错的描绘是否难以理解、是否对错误定位有误、是否出错缘故报告有误、是否对错误条件的处理不正确;在对错误处理之前错误条件是否已经引起系统的干涉等。假如一个模块要完成多种功能,且以程序包或对象类的方式出现,例如C+中的类。这时能够将这个模块看成由几个小程序组成。对其中的每个小程序先进展单元测试要做的工作,对关键模块还要做功能测试。对支持某些标准规程的程序,更要着手进展互联测试。有人把这种情况特别称为模块测试,以区别单元测试。由于程序中不可防止地存在涉及模块间接口、全局数据构造等方面的征询题,因而一次试运转成功的可能性并不特别大。留意掌握几种集成测试之间的比拟,体会它们互相之间的优缺点。边界测试
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 07 解题 方法 技巧 应对 软件 测试 维护 安全 类型 问题
限制150内