操作系统课后答案

上传人:jin****ng 文档编号:65556621 上传时间:2022-03-24 格式:DOC 页数:20 大小:636KB
返回 下载 相关 举报
操作系统课后答案_第1页
第1页 / 共20页
操作系统课后答案_第2页
第2页 / 共20页
操作系统课后答案_第3页
第3页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第1章 软件测试的基本概念1、什么是软件测试?软件测试的定义(IEEE1983):是使用人工和自动手段来运行或测试某个系统的过程,目的在于检验其是 否满足规定的需要或是弄清楚预期结果与实际结果之间的差别。2、什么是软件缺陷?软件缺陷的定义(IEEE1983):从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛 病等各种问题。从产品外部看,软件缺陷是系统所需实现的某种功能的失效或违背。3、什么是测试用例?测试用例的定义(IEEE1990):是一组测试输入、执行条件和预期结果,目的是要满足一个特定的目标, 比如执行一条特定的程序路径或检验是否符合一个特定的需求。4没有安装操作系统的裸机中有软件吗?有软件。在主板上的 CMO芯片中嵌入了 BIOS程序,可以看做是一个简单的嵌入式软件。5 软件测试就是通过运行程序来查看错误。对吗?错。软件测试不仅包括动态测试,还包括静态的检查。测试的对象不仅针对查程序,还需要针对文档。6软件产品发布给用户之后发现了缺陷,将导致怎样的后果?软件产品发布给用户之后,若由用户发现了缺陷,则视缺陷的严重程度和影响范围,导致的后果不同。若导致用户系统崩溃、严重数据丢失、巨大的经济损失,甚至造成人身伤害,则对公司的影响很大。若只 是造成用户使用不便,则其产品可能遭到用户的抛弃或投诉。7 手机测试是硬件测试,还是软件测试?既是硬件测试,又是软件测试。针对手机外壳、抗摔、防水等方面的测试是硬件测试,针对手机的通话 质量、短信、游戏等方面的测试属于软件测试。&为什么说软件的需求规格说明书往往是软件缺陷的最大来源?其结论对软件测试工作有何启发 ?需求规格说明是通过需求分析得到,需求的变动,需求本身描述的不一致、不正确、不完整将导致设计 的变更和设计的缺陷,并进一步影响编码的正确性。因此,导致软件与预期结果的偏差越来越大。9. 请仿照NextDate问题,针对PrevDate问题设计测试用例。PrevDate问题的功能简述如下。当用户输入有效日期时(从1800年1月1日到2050年12月31日之间的所有日期),系统将自动计算出 前一天的日期,否则,系统不执行日期的计算,并给岀消息提示输入无效。表1-1 PrevDate的部分测试用例集合ID输入数据(年月日预期输出备连00】1950-6-1519506-14正常数据002IK00441799-1241边界数据0032050-12-312050-12-30边界数据00417004)-0提示输入日期无效无效输入0053000-15-35提示输入H期迓效无效输入006提乐输入II期无效无效输入007y-m-d提示输入日期无效无效输入00S1550-6-捉示输入门期无效无效输入0091950-槌吓输入II期无效无效输入010无输入提吓输入U期无效无效输入10. 请仿照NextDate问题,针对NextMultiDate问题设计测试用例。NextMultiDate 问题的功能简述如下。若用户输入有效日期(从1800年1月1日到2050年12月31日之间的所有日期),并指定延迟的天数(最多 不超过366天),假设为n,则系统将自动计算出从有效日期往后n天的日期。对于无效日期或无效延迟天数,系统不执行日期的计算,并给岀消息提示输入无效。表1-2 NextWultiDate的部分测试用例集合ID输入数据预期输出备注年-小口延迟犬数仙19MM5-151I950-6J6H期:止常饥大融丨天UU21950-6-1531950-114口期:正常创,尺数:不足1周(XJ33950-6-1571950-22H期;止帘仇.天数;1周0041950-6 15151950口期:正布值.天数:不足i打0053950-6-15301950-745日期正常值.天數;】月(X161950-6-151K2195012-14H期土正甜價天数:不足1年0071950-6-153651951-6-15日期:匸常值人数:L年期1lKOOI-2H期】边界値大如1天092050-12-3112O5M-仃期:边界值,天热1天0101700-0-01提不输入H期尢效尢效输入OILJ00045 361捉示输入口期无效无效输入0121提彷输入H期元效无效输入01Jy-m-d1捉示输入H期无效无效输入0M1950-6-1提示输入口期无效无效输入015W50-1振示输入Ft期无效无效输入016无输入1捉示输入口期无效无效输入11若需要对多个测试用例进行管理,除了ID、输入和输岀之外,需针对每个测试用例补充哪些信息?测试用例的构成:ID、项目/软件、程序版本、编制人/编制时间、功能模块、测试项、测试目的、预 置条件、参考文献、测试环境、测试输入、操作步骤、预期结果、执行结果、优先级、测试用例之间的关 联。12.请针对1 . 4. 5节NextDate问题的第二次测试中所给出的测试用例,补充测试环境。NextDate的测试环境应根据实际的开发和使用环境而定,从软件使用环境、开发平台等角度考虑即可。13请针对第6题的PrevDate问题,补充测试环境。同上题。第2章软件测试原理1、 对待缺陷我们应遵循哪些基本原则?对待缺陷的基本原则:缺陷的群集现象、缺陷有免疫力(测试要使用不同的测试方法 )、缺陷关联和依赖(单纯依赖、多重依赖、复合依赖)。2、 当受到进度压力的时候,是优先进行黑盒测试还是白盒测试?应优先进行黑盒测试,因为黑盒测试不需要了解程序实现的细节,通过黑盒测试至少可以证明:被测软件系统可以完成哪些功能,哪些功能不能正确的实现,哪些功能甚至完全没有实现。3、针对同样的问题(例如相同的代码段),采用黑盒测试与白盒测试方法得到的测试用例会有很多是重复的,那么,白盒测试有意义吗 ?白盒测试有重要的意义,它主要是覆盖黑盒测试方法检查不到或难以发现的某项缺陷,白盒测试指标还可以充当对黑盒测试方法效果的检查,判断测试是否存在漏洞或冗余。4、 静态测试不需要执行程序,那么,是否可以用静态测试替代动态测试呢?不可以。静态测试与动态测试之间即具有一定的协同性,同时又具有相对的独立性。程序静态分析的目标不是证明程序完全正确,而是作为动态测试的补充,在程序运行前尽可能多地发现代码中隐含的缺陷。5、 良好的单元测试是否可以替代集成测试?不能。良好的单元测试只能确保通过测试的单元内部基本可以正常工作,但不能保证单元集成在一起之后,能够正常工作,特另U要关注可能存在误差累积的情况。在单元测试与集成测试的关系中,即使保证每 个单个的单元具有优秀性能,也不能确保整体的性能。6、 自动化测试工具可以让繁重的手工劳动变得轻松,那么,我们还有必要做手工测试吗?自动化测试目前不可能完全替代手工测试,一方面是由于自动化测试工具的适用面都相对较窄,一种测试工具往往仅能处理很小一方面的测试问题,另外,有些测试活动需要重复发挥人的创造力,采用自动化 测试工具不可能收到同样的效果。7、 只要学会某种时下流行的自动化测试工具的使用,就可以轻松搞定测试工作了,是这样吗?不管是什么测试工具,它实质反映的是其背后的测试思想, 因此,抛开测试方法去学习测试工具的使用, 是没有任何意义的。而且,测试工具使用的前提是必须有测试用例为指导, 得到的测试脚本才具有复用性, 而测试用例的设计涉及多种测试方法。因此,完全不懂测试技术是不能胜任软件测试岗位的。8什么是冒烟测试?如何实施?冒烟测试是通过简单测试来判断系统基本功能(通常是核心业务模块)的覆盖率如何,而不验证正确性。例如能否正确安装/卸载,主要功能是否实现,是否存在严重死机或数据严重丢失等缺陷。冒烟测试工作一般需要实现自动化,可以借助诸如 WinRunner、QTP这样的工具来录制自动化测试脚本,脚本由专人维护,且随着测试的进展对脚本不断进行增补。9、随机测试就是随便测试,往往会取得意想不到的效果,因此,我们应在软件开发过程中广泛使用随机 测试。是这样吗?不能这样。随机测试是没有测试用例的,且往往是不可重复的。这对缺陷的重现十分不利,且广泛采用 随机测试将不能保证测试的全面性,无法了解测试的整体效果。若在软考开发过程中广泛使用,可以表明 测试过程是混乱的,缺乏管理的,则最终提交的软件产品质量是完全无法保证的。10、 在任何情况下,我们执行回归测试时,都应将以前测试过的用例全部执行一遍,是这样吗?不是这样的。回归测试是贯穿在整个测试的各个阶段的一个测试活动,主要是对修改过的软件重新进行测试,目的是为了验证修改的正确性及其影响。回归测试包的选择应根据进度、风险、修改情况等全盘考 虑。11、我们该如何应用各种测试过程模型?12、 软件测试的目的是证明程序可以工作。软件测试的目的是证伪。这两种说法哪个正确? 两种说法都正确,但有存在片面性,应视不同的情况予以应用。13、 对比软件测试工程师的素质要求,你认为自己可以胜任软件测试工程师的岗位吗?软件测试工程师的素质要求:两项意识:服务意识、团队合作意识。三颗“心”:耐心、细心、信心。四种能力:技术能力、沟通能力、逆向思维能力、移情能力。 五个特性:实在幽默、十足记忆、时刻怀疑、十面督促、十分周全。第3章黑盒测试技术1 进行边界值测试时,为何要以边界点为中心,以一个单位长度作为邻域,而不是直接选择“1”为邻域?进行边界值测试时,当以一个单位长度为邻域时,邻域随着单位长度的变化而改变。若研究的粒度较精细,可选择更小的邻域,而若边界粒度较粗,则应适当增加单位长度,扩大边界的邻域范围。单位长度可 方便地调节边界值测试的邻域。若直接选择“1”为邻域,则有时会造成边界影响面太小,导致遗漏缺陷。2 边界值测试中所选择的输入测试数据一定是有效数据。是这样吗?不一定。边界值测试仅关注边界,设计测试用例时不区分系统输入在边界点上是否有效。因此,系统输 入在边界点上可能是有效的,也可能是无效的。3 边界值测试中,若考虑边界的组合情况,即缺陷岀现在多个输入条件的边界或边界附近,则称这样的策略为最坏情况测试。若给出两个输入条件x,y,其中条件x具有3个极值点(x1,x2,x3),条件y具有2个极值点(yl,y2),如图3-1所示。请采用最坏情况测试方法,导出测试用例的数目,并设计相应的测试用例。聚坏媲况测试两个输入条件最坏情况测试方法相当于在基本边界值分析的基础上,考虑x,y条件同时取得边界,所以图1中矩形框的边界和边界附近都应取到测试用例。测试用例如图3-1所示。测试用例数目为 4X7 + 4X2+ 7X1 =43。图3-1最坏情况测试I两个输入条件)表3T最坏情况测试的测试用例茨合ID綸入xy备注(X)lxl0*y2)/2“収边界.y取正帘值002X/+10?/+v2)/2003x2-l0W)/2004x2UW)/2005x2+l0W)/2006x3A0W)/2007x3(yly2)/2008(xlx2/2yt啦界 ME柚009(xlx2T2y/+l010(xlx2)/21Oil(xlx2)l2y2012(x2x3M2yi013(x2+x3/2f/+1014(x2x3!2y2-015Cv2+x32y2016xlyiX取边界.y取F边界017X/+Iyi018a-2-1yi019x2yi020x2+lyi021x3Ayi022x3W023xly/+lX取边界 y取下边界附近024x/+lW+l025x3AW+l026x2F/+1027x2y/+l028aMW+l029x3F/+I030xlW1X取边界取上边界附近031x/+ly2A032x3Awi033x2034x2y2A035x3),2l036x3)21037xlx取边界.丁取上边界038x/+ly2039x3-y2040x2y2041y2042x3v2043x3y24. 对于3. 2. 8节的Commission问题,请采用基本边界值分析方法,从输入域设计测试用例。从输入域采用基本的边界值分析,得到测试用例集合见表3-2。表中预期输岀是指销售员的总提成。表3-2输入域的基本边界值分析测试用例( Commission问题)ID输入数据 W:单位:元)预期输出(小位:7L)备注红酬销咎星岬聲常咎量001501.515150,150940.9505.529,75针对白苕002511.515150,15094LIIK边界4.999I.5I5150,150L772J829,68651(KM5,0001,515L 772.5509,GX7.750052.52530150.1501J7S,55O6.717,75针对红活0062.52531150,1501.17/70旅1畑边界(M)72.5252,999150.1501,53030K.499J5oos2,525J.OtJO150.1501t5J4.95O(XJS?2.5251,515300607,5003,862.50针对啤洒0102.5251.515301607.5053妣on2.5251.51529.99755.9950122.5251.5157血(XX】4,605.005. 对于3. 2 . 8节的Commission问题,请分析案例实践二(见本书光盘部分的图 3. 1)中所有边界点是如 何得到的。各种酒的单价为:白酒168元/ 瓶,红酒120元/瓶,啤酒5元/瓶。各销售员每月至少需售出白酒50 瓶,红酒30瓶,啤酒300瓶。由此得到最低销售额:1.35万元,对应最小边界点。每个销售员的月供最高为 白酒5000瓶,红酒3000瓶,啤酒30000瓶,由此得到最高销售额:135万元,对应最大边界点。销售员 的提成公式中,发生提成比例变化的点为:2万元和4.5万元,由此得到中间的两个边界点。6当时间有限时,应优先针对输入域进行边界值测试,还是针对输岀域分析边界?为什么?当时间有限时,应优先从输入域考虑边界值测试。因为系统总是根据输入情况来决定如何进行输岀响应。且输岀域的边界值测试用例与输入域的测试用例有很多重复的情况。因此,一般情况下,先对输入域展开测试,然后根据输岀域的特殊性,补充更多边界测试用例。7如何才能方便、快捷地了解划分岀的等价类是否能够体现真正的等价呢?有两种途径:第一种方式是正向判断法。即从正向观察系统是输入和输岀,在划分得到的等价类中随便选择几个数据,并从如下方面来观察:这些数据是否包含相同的输入条件。这些数据是否导致程序执行类似的处理。这些数据是否影响相同的输出结果。这些数据要么都让软件执行错误处理,要么都不让。若以上方面中任何一方面不成立,则等价类划分肯定有问题。第二种方法是结合决策表方法,若从该等价类划分无法得到精确无误的决策表,则说明该等价类划分是不“等价”的。&为什么对无效等价类设计测试用例时要采取一一对应原则,这对测试有何好处?设计测试用例时,采取一一对应原则的含义是每个测试用例唯一覆盖一个无效等价类,这样的处理方式有利于缺陷的定位。一旦某个测试用例失败,我们可以很方便地了解,系统对于哪个输入条件的哪个无效 等价类无法适当予以处理。9案例实践三的 NextDate实例中,测试用例 ND-EP-001到ND-EP-007(见本书光盘)可以很好地考查系统 的容错能力,但从满足用户需求的角度而言,这个测试用例的集合违反了实际工作中的一些基本原则,是 哪些原则呢?在实际的测试工作中,我们总是优先满足系统的基本功能,即优先测试系统的基本功能,看是否能够正确实现,在测试用例上数目也会更多一些。而在本例中仅有一个测试用例去测试基本功能,却有6个测试用例考查系统的容错能力,这是不合适的。另外,测试应尽量避免漏洞,而不怕冗余,本例中只有一个针 对正常数据的测试用例,由此导致的测试漏洞是很大的,因此也违反了测试应避免漏洞的基本原则。10、对于NextDate问题,若将2000年从闰年有效等价类中分离出来,其余两输入条件的划分方式参照3 .3.8节的第二次等价类划分尝试(见本书光盘部分的表3. 9)。请采用弱组合和强组合方式分别设计等价类测试 的测试用例。此时的等价类划分如表 3-3所示。若采用弱组合形式进行等价类测试,得到的一组测试用例构成和最终的用例集合分别如表 3-4和表3-5所示。3-3 NextDate问题的等价类划分等怖瓷年份II份Yl: 1800W 年倚 2050,且为闰年Ml; 1.3. 5.7.10.12DI: 1疼日期茎27Y2: ISDO- f|:阳 2050.口为非国年M2; 4, 6, 9JI()2:Y3; 2000 年M3: 2D3: 29W: 30D5: 31表3 4 NextDate |1题的導价类測试用例构成(弱组合形式测试用例ir测试用例的等优类构成001Y1MlDI(XI2Y2M2U2003Y3M3D3(K)41MLD4(K)5Y2M2)5表NextDate的箒价类则试的测试用例弱组合形式)D输入数揣 t 年 J MJ)操作歩骤预期输出0012004-7-13输入年月日点击计算按刼2000-7-14II925-6-2 S输入年月日,点击计尊*按粗iy 256-290032(J00-2-29輪入年月日点击按領2000-J-I2004-7-30输入年月日.点击“计算片按tn0051925-6-31输入年月日.点由计tew握示骨日期不存在”若采用强组合形式的等价类测试, 则可得到45(3X 3X 5)个测试用例,具体的用例设计方法参见表3.14不再一一列出。11、对于3. 2. 8节的Commission问题,请针对输入域展开等价类测试。针对Commission问题,对输入条件的上、下限构成的边界范围可自然形成一个有效等价类,所以采用等价类测试,只有一个测试用例。等价类划分见表3-6,测试用例见表3-7。表中预期输岀是指销售商的总提成。表3-6输入域的等价类划分(Commission问题)等阶次白衲销售鼠红酒销秒虽啤油销售童冇效普价*: 门酒销优暈V5000 K: 红洒稍讐址孑工000 B: 300呻酒销甘址乎:30000 类表3-7 输入域的等价类测试用例(Commission问题)输入数据(单位:融)胡杵觀旳期输出ID片洒钠料Id卽洒帝省乞聊洒销鸭显(单悅:元) 单何土元)001252515)5150150ld12、对于如下的枪支销售问题(简称Sales问题),分别从输入域和输岀域着手,进行边界值测试和等价类 测试。Sales问题的简单描述如下。某步枪销售商负责销售某军火制造商生产的步枪,包括枪机(Lock)、枪托(Stock)和枪管(Barrel)。其中枪机、枪托和枪管的单价分别为45美元、30美元和25美元。销售商每月至少应卖岀一支完整的步枪,同时,销售商每月最多只允许销售70个枪机、80个枪托和90个枪管。该销售商的提成每月结算一次。根据其销售业绩,制造商按如下计算方式来计算销售商的提成。销售额不足(含)1000美元的部分,提成比例为 10%。销售额在1000美元(不含)到1800美元(含)之间的部分,提成比例为15%。超过1800美元(不含)的部分,提成比例为20%。 最终输岀为当月销售报告和销售商的总提成。三个输入条件为:枪机、枪托和枪管的销售量。针对输入域展开边界值测试,则枪机的边界点为1和70,枪托边界点为1和80,枪管边界点为1和90。基本边界值分析的测试用例集合见表 3-8。针对输出域 展开边界值测试,以销售额为输岀,得到测试用例集合见表3-9。表中预期输岀是指销售商的总提成。表3-8 Sales问题的边界值测试的测试用例(针对输入域)ID输入数据(W:支)销售額预期输岀备注枪机销优彊枪托诸竹a枪甘销警试tWi返元)单检美元)00114045237(1334枪机的迪界002240452,415旳4U-+55,4309恥川口7040455,475955()05351452,730406枪托的边界00635452,7604120073579455.07000S35K0455,imMKO0093540L2.800420枪肾的边界mo35斗(I2tK2542S01135405.0008600123540905.025U&5表3-9 Sales问题的边界值测试的补充测试用例( 针对输岀域)ID输入数据(单位:支)捎钙触(单位;美元预期输出(单范1美元)备述枪机删怙枪托销理城枪许销怙审013111KM910.(X1址低销件屋014L010997597.5C1000 R金的015LO10101.0001(K),00提成变化0160HI111.025103,75017IXIK171.7752(.25|晰笑金的018181818220.00捉成变比0191SIK191.H25225.0002070铀9U7,80014 20. IM)最高销售阈针对输入域的等价类划分见表3-10。针对输入域的等价类测试用例(强组合形式)见表 3-11表3-10输入域的等价类划分(Sales问题)枪机销化站枪售量枪管销卩;适有效聲册L: 1 W桁儒曲花70S: 1销害曲堂80B: 钥竹暈W90表3-11输入域的等价类测试用例(Sales问题)ID -输入数据L卩妁:丈销售孰预期输出(小位美兀枪机销竹垃枪托猪吿址枪管销售量0013540453,900640针对输岀域的等价类划分见表3-12,对应等价类测试用例见表3-13。表3-12输岀域的等价类划分(Sales问题,单位:美元)有效辱价类 S1: 100荃销瞥额茎1000S2: 1000 销供额忑1特00S3: 1800 销低额为00备注虽低tn住额捉诫变化附点皿高餡倂飆表3-13输岀域的等价类测试用例(Sales问题)ID输入数期(甲蓟:支)销捧额C单位:忑元预期输出C单仙芙元)备注枪托常售量枪管销售量0226555455*1.50销舊额在SI中023斗14141400160.00销酋额在算中()24484S4X4SOO820.00销鲁额在常中13、对3. 5. 6节的NextDate问题进行第一次决策表尝试时,为何所得决策表中会输出不确定的测试用例?该决策表中打问号的测试用例反映岀系统对输入的不确定无法处理,输入的含义是:对于任意年份,月份是每月有31天的月份,日期是31号,这时存在一个年末日期的问题,对于12月31日,系统输出应为次年的1月1日,而对于其他月份(如 7月31日),系统输出应为下月1日(如8月1日),因此,系统无 法针对相同的输入等价类给岀明确的输岀。这时应将月份的等价类进一步划分下去。14、请仿照NextDate问题,针对PrevDate问题使用边界值、等价类和决策表方法展开测试。PrevDate问题中特殊的日期包括:年初日(即每年的1月1日)、月初日(即每月1日)和闰年情况(即3月1日)。PrevDate问题包括三个输入条件:年份、月份、日。边界点分别为:年份:1800年,2050 年月份:1月,12月 日: 1 号,31 号根据这些边界点,使用基本边界值分析方法进行边界值测试,与NextDate问题的分析方法完全相同,所以得到的测试用例也非常相似(输入完全相同,预期输出不同而已)等价类划分如表3-14所示,得到决策表见表 3-15,米用决策表得到的测试用例见表3-16表3-14 PrevDate问题的等价类划分等价类年份有效筹价荚Yli IKOO年份W2D51L H为闰年Ml: 5, 7. IOt 12DI: ID2:2W 日期 W28Y2:18M年份W205仇 且为非阖年 M2:4,6,9,11M3: 2M4: 1MS: 3D3:291)4:30D5: 31MG: S表3-15 PrevDate 问题的决策表TC001fl()21X)3006007oos010Oil)12年笹在YI.Y2Y1.Y2YI,V2mYI.Y2YkY2Y12Y1,Y2I,Y2Y1Y2月份袒MlMLM4-M6M1M3.M6M2M2M3M3M3M3M4M5M5Hfr:)1D2-D3DID2-CM1)5D:D3J)3IM,D5DIDIDI口減|XXX】为3130日为29为2S月黑1 月为12 年减I 提示该口 期不存枉表3-16 PrevDate问题的测试用例集合1D -输入预期输出年份刀份日0011925712000-6-3000219257162004-7J 5tX)31925612004-5-31004192591620049-15t)O51925931提示紀该II期不存亦00619252152004-2-14(M)72004292004-2-28OOS192529捉示“该日期不存护192531提示“该1丨期不存在”0101925111924 12 31Oil2004312004-2-29()121925311925-2-28根据3. 7.5节的规则(详见本书光盘),检查测试用例表3. 24发现输入条件“账面余额”未取到“1”说明测试用例有漏洞,而表 3 . 24中又显示测试用例覆盖了所有五个场景,为什么会出现这种相互矛盾的 情况?是规则有错,还是别的什么原因呢 ?对于备选流4的含义是:输入金额校验失败,这里有很多情况可以导致金额校验失败,如输入金额格式错误、账面余额不足等,表 3.24的测试用例ATM-ST-006的触发事件是输入金额格式错误的情况,而未测 试账面余额不足的情况,所以输入条件“账面余额”未取到“I”。这里并不矛盾,因为表 3.24中的第2列是从较粗的粒度来考查用例覆盖的,而设计测试用例时若需要覆盖备选流4,却需要从细节来考虑,所以出现了不一致的情况。第4章白盒测试技术1、对于节中的函数FuncSC随着三个布尔变量取值的不同,在特殊的取值组合条件下,程序的输岀与输入是不相等的。请问在什么条件下,该函数的输岀不等于输入?当函数FuncSC的第1和第2个布尔变量不同时取真值的时候,函数的输岀不等于输入。2、对于节中的函数Func7,其代码中隐含一个空间分配的缺陷,请找岀该缺陷。函数Func7中的缺陷在第3-5行代码处,即当变量 bFlag为假的时候,未对 pArray分配空间,该指针 为空,所以后续操作将失败。3、 节中,表4.3中取LC-003到LC-005中的任意一个与 LC-002组合起来,都满足判定覆盖。请问, LC-003到LC-005这三个测试用例中,哪个测试效果相对更好?在同时满足覆盖指标的前提下,应从判定表达式的屏蔽效应以及边界值测试的角度判断测试数据选择的好坏。为执行路径L13,两判定节点都应取假值,为了避免判断表达式的屏蔽现象,必须保证T1为真(即(a1)为真),测试用例LC-004显然不满足该要求。另外,应保证T4为假(即(x3)为假),考虑到3是x取值的边界,因此,应针对边界值来选择测试数据,所以LC-005更优于LC-003。总体看来LC-005是三个测试用例中最优的一个。4、425节中,按照函数Func6Modified将复杂逻辑表达式拆分为简单的表达式之后,请设计两个测试用 例来满足判定覆盖。设计的测试用例见表 4-1。表4-1函数Func6Modified的测试用例集合(满足判定覆盖)D输入国期输出满足的分支取值AbCXX0013l07TI=T2=T3=T4=Irie0021033T1 T2-T3-T4 lahe5、给定以下代码,请利用逻辑覆盖的各项覆盖指标分别设计测试用例。boo) TestLogicCoveragef bool a. bool b* bool c )1 bool x - fatse;2 if( (a | b) &c)3 x = true;4 else5 x = false;6 return x;表4-2 真值表ID输入条杵预期输出Xabc001TTTT()02rTFF003TFTT004TFFF(K)5FTTT006FTFF007FFTF008卜F卜F列出真值表如表4-2所示。对于语句覆盖和判定覆盖,选择测试用例005和006。条件覆盖,选择测试用例004和005。判定/条件覆盖,选择测试用例004和005。条件组合覆盖,选择所有。修正的判定/条件覆盖,选择测试用例 003、005、006、007。6、当判定表达式具有三个简单逻辑判断条件时,所有可能构成的表达式形式如题表4.1所示,请针对下表中的四种组合情况,分别采用修正的判定/条件覆盖指标设计测试用例。题表4.1三个简单逻辑判断条件构成的所有可能的判定表达式ADCA AND (B AND C)A AND (B ORC)AORB AND C)A OR (B ORC)TTTTTTTTTFFTTTTFTFTTTTFFFFITFTTFFTTFTFFrFTFFTFFFTFFFKFFF根据题目中给岀的真值表,采用唯一原因法得到各条件的独立影响对如表4-3所示。因此得到满足不同表达式的修正判定/条件覆盖的测试用例集合分别见表4-3。表4-3 不同复合表达式的条件独立影响对输入家件ABc测试用例集合A AND (B ANDC(1.5(1,3):lt2j1,2. 3, 5AANDfBUR C)(2,6)(2.4)3,4)2r 3* 4. 6A OR (BAND O(3.7)(玉了)5,6)3, 5,氐 7A OR (BORC(c & (b+c)a )4 blsTrgl = true;5 else6 blsTfgl = false;7 if blsTrgJ )/若构成三角形.则进一步判断三角形的类型8 ia!b&br=c)9 printf(勺=%也b-%dl c=d:不等边三角形n舄a, b, c E10 eke 邁 pnb &. a=c )B printf(怙=%山c=%d:零边三弟形血雷42 elsH printff “id, 2迢c-%d:等腰但不等边三角形也二臥b5寺14 15 els/否则直接输出不枸成三角形16 print算 *a=%d, b=%(L c=%d:不构成三角形a, b5 c);考虑到不可行路径,最终测试4条路径:Pathl : 1,3,4,7,8,9,EndPath2 : 1,3,4,7,8,10,11,EndPath3 : 1,3,4,7,8,12,13,EndPath4 : 1,3,5,6,7,15,16,End得到测试用例见表4-4。且应考虑到输入的各种组合,所以给岀了更多的测试用例。 表4-4 三角形问题测试用例集合D输入条件撤期输出abC0013斗5不尊讪匕信形002354不等讪三餡形003453不零边三舟時004333等边三九彫005135等鰹陨不等边二仰形006353等腰但不等边三角圧007533等腰但不等边三角形OOS123不构成三洞形009113不构成三角形&请针对以下的Commission代码进行基路径测试蚊花 Cdnnni9SHKiModify( int glcohol, utt rtdWinc, int beer )( U alwhoL redWine和beer分别记最白種红藕和啤酒的月销會(单位舌瓶1 intalcoEio1Price= 16;/ 白簷的单折2 int wdWiiiePrke = 120; / 红酒的单的3 mt bcrrPrice - 5; V啤酒的单价4 double commissioTi = QP0;/7 记录毎月提成5 int mcnthSales = alcoholPrice * alcohol + redWinePrice * redWine + beerPrice * beer; / 记录每月销售额6 果销售额低于20000元的部如 按4%提成7 com mission = monthSalcs + 0,04;8 else讯month Sales -5000 |/销售额低于4丸00元的部分.按1%提成9 commission 科(monthSaks - 20000) * 0,01 + 20000 * 0.04;10 else/销售额高于知)00元的部分,按仍提碰11 commission = (manthSales - 45000) *+ (45000 - 20000) * 0,01 + 20000 * 0 04;12 priatfl; alcohol redWine = %d, beer = %d, monthSalts = %dT commission Wnw,alcohol, TtdWmc, beer, month Sales. comittBsion KB rewm commission,该CommissionModify函数只有3条路径。若用 A表示1,2,3,4,5 号语句,则有Path1 : A,6,7,12,13Path2 : A,6,8,9,12,13Path3 : A,6,10,11,12,13这其实已经等同于等价类测试 +边界值测试了。测试用例不再列岀。第5章 面向对象软件测试1、所有类都需要进行单元测试吗 ?并非所有类都需要进行单元测试,类的优先级可从三方面来衡量: 类在系统中所起的作用 类自身的复杂度和与其他类之间的交互复杂度 开发该类的测试程序所需的成本2、私有方法可以测试吗?私有方法可以测试,测试方法有: 直接修改被测代码的访问权限 在被测类中加入公有方法 利用内类机制3、 对于一个类而言,测试用例设计的一般策略是怎样的?面向对象的单元测试一般策略: 首先根据方法特性划分:构造函数、功能函数和接口函数。 针对构造函数,根据前置和后置条件设计用例。 针对功能函数公有方法:基于前置条件和后置条件设计测试用例。受保护的方法:严格区分有访问权限和无访问权限的前置条件和后置条件,设计测试用例。私有方法:根据实际情况选用适当的策略进行测试。 针对接口函数,根据状态转换设计测试用例。 对于以上每种情况,都应结合边界值、等价类等测试方法来选择测试数据。4、将测试代码直接写在被测类的代码中即可,对吗?可以将测试代码直接写在被测类的代码中,但这不利于开发代码与测试代码的分开,不利于后续测试代码的维护和开发产品的交付。5、 抽象类无法实例化,所以不能测试,对吗?抽象类虽然无法实例化,但可以通过以测试类的内类继承方式来测试,是可以的。6、 顺序图和协作图可用作面向对象的单元测试,对吗? 顺序图和协作图适用于面向对象的集成测试。第6章单元测试1、良好的单元测试是否能够代替集成测试 ?若每个模块都经过了严格的单元测试,还需要集成测试。我们在测试过程中经常遇到的情况是:单元 测试中每个模块都能单独工作,但将这些模块集成在一起之后,某些模块就不能正常工作了。例如,接口 数据丢失,模块之间的不良影响,误差的不断累积等。因此,单元测试无法代替集成测试,每个模块的性 能最优并不能保证集成之后的指标达到最优。2、什么是驱动模块?什么是桩模块?为什么需要驱动模块和桩模块 ?驱动模块是模拟被测单元的上级模块,用于接收测试数据、启动被测模块和输出结果。 桩模块是模拟被测单元所调用的模块。测试时需要通过驱动模块和桩模块搭建单元测试环境。3、单元测试的过程是怎样的 ?单元测试的过程可划分三个阶段:计划阶段:完成单元测试计划,制定单元测试策略。设计实现阶段:建立单元测试环境,完成测试设计和开发。执行评估阶段:执行单元测试用例,记录和评估测试结果。4、为第4章白盒测试中的 Commission问题进行单元测试。5、针对第3章的思考题14 ( PrevDate问题),写出程序代码,并进行单元测试。第7章集成测试1、什么是集成测试?集成测试是在单元测试的基础上,将所有已通过单元测试的模块按照概要设计的要求组装为子系统或 系统,进行集成测试,目的是确保各单元模块组合在一起后能够按既定意图协作运行,并确保增量的行为 正确。2、集成测试与单元测试的区别在哪里?与单元测试的区别: 单元测试关注模块内部,集成测试关注模块接口;单元测试也关注模块接口,但它从内部查看接口,从个数、属性、量纲和顺序等方面查看输入的实参 与形参的匹配情况。集成测试查看接口时主要关注穿越接口的数据、信息是否正确,是否会丢失。 单元测试主要依据是详细设计说明书,集成测试的主要依据是概要说明书。3、集成测试与系统测试的区别在哪里?与系统测试的区别: 集成测试仅针对软件系统展开测试,系统测试中所涉及的系统则不仅包括被测试的软件本身,还包 括硬件及相关外围设备。 集成测试的主要依据是概要说明书,系统测试的主要依据是需求规格说明书及行业标准。4、如何评价某种集成测试方法 ?集成测试策略的评价标准: 测试用例的规模 驱动模块的设计 桩模块的设计 缺陷定位的难易程度5、成对集成与邻居集成各自的思想是怎样的?有何特点?成对集成基本思想:将每个集成测试用例限定在一对调用单元上。特点是仍需要开发桩模块和驱动模 块。邻居集成基本思想:将每个集成测试用例限定在某个节点的邻居(直接调用或被调用的模块)上。特 点是:可以减少桩模块和驱动模块的开发工作量,但缺陷定位困难。6、请比较大爆炸集成、自顶向下、自底向上和三明治集成策略。大爆炸集成基本思想:将所有经过单元测试的模块一次性组装到被测系统中进行测试,完全不考虑模 块之间的依赖性和可能的风险。自顶向下集成的基本思想:从主控模块(主程序,即根节点)开始,按照系统程序结构,沿着控制层 次从上而下,逐渐将各模块组装起来。自底向上集成的基本思想:从最底层模块(即叶子节点)开始,按照调用图的结构,从下而上,逐层 将各模块组装起来。三明治集成的基本思想:策略1:将系统划分为三层,中间层为目标层,测试时对目标层上面的层使用自顶向下的集成策略, 对目标层下面的层使用自底向上的集成策略。策略2:在第1种集成策略的基础上,对目标层采用独立测试的策略,以确保目标层模块在集成测试 之前得到充分的测试。策略3:对包含读操作(系统输入)的子系统自底向上集成测试直至根节点,然后对包含写操作(系 统输出)的子系统自顶向下集成测试直至叶子节点。7、集成测试的一般过程是怎样的,与单元测试的过程有何区别?集成测试的过程可划分三个阶段:计划阶段:完成集成测试计划,制定集成测试策略。设计实现阶段:建立集成测试环境,完成测试设计和开发。执行评估阶段:执行集成测试用例,记录和评估测试结果。单元测试的过程可划分三个阶段:计划阶段:完成单元测试计划,制定单元测试策略。设计实现阶段:建立单元测试环境,完成测试设计和开发。执行评估阶段:执行单元测试用例,记录和评估测试结果。第8章系统测试1、系统测试与单元测试和集成测试的区别是什么?系统测试的最终目的是保证开发方交付给用户的软件产品能够满足用户的需求,因此,测试的测试用 例应在实际的用户使用环境下来执行,系统测试是涉及软件、硬件、网络方面因素的过程。这是系统测试 与集成测试、单元测试最大的不同之处。2、功能测试与界面测试有何区别 ?界面测试应与功能测试区分开来,界面测试中不应涉及具体的逻辑功能实现,只是关于布局、字体、 风格等有关界面上的一些问题。且在界面测试过程中,我们可以通过创建界面测试检查单的方式来简化测 试用例,简化测试过程。3、请为某图书馆信息管理系统设计功能测试策略。功能测试的策略因不同类型系统差异较大。图书馆信息管理系统是一个以数据为中心的系统,可以从两个方面考虑展开功能测试, 即从实体关系模型来考虑和从对数据的操作来考虑。 从实体关系模型来考虑, 检查实体之间的对应关系和逻辑关系,包括 1对1、1对多、多对1、多对多;从对数据的操作来考虑,检 查各种操作是否能正常实现,包括增加、删除、查找、修改。4、请为从ATM机系统设计功能测试策略。以活动序列为中心的系统可基于以下策略进行功能测试:基于系统输入的测试用例设计、基于系统输出的测试用例设计、基于系统状态的测试用例设计、基于系统事件的测试用例设计。5、压力测试和负载测试有何区别 ?压力测试指持续不断地给被测系统增加压力,直到被测系统被压垮, 从而确定系统能承受的最大压力。(强调施加压力的大小)负载测试指让被测系统在其能忍受的压力极限范围内(或临界状态下)连续运行,来测试系统的稳定 性。(侧重压力持续的时间)6、兼容性测试需要考虑哪几方面的内容?兼容性测试的内容包括
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!