(建议下载)《软件测试技术基础教程》习题解答
软件测试课后习题答案

软件测试课后习题答案【篇一:软件测试基础习题及答案】>软件测试是一个过程或者一系列过程,用来确认计算和代码完成了其应该完成的功能,并且不执行其不应该有的操作。
2、软件测试的目标是什么?是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,降低软件发布后由于潜在的软件错误和缺陷造成的隐患所带来的商业风险。
3、简单描述一下软件测试的原则?所有的软件测试都应追溯到用户需求应当把“尽早地和不断地进行软件测试”作为测试者的座右铭good enough原则质量第一充分注意测试中的群集现象程序员应避免检查自己的程序有据可依尽量避免软件测试的随意性,要有预期结果重视回归测试妥善保存一切测试过程文档4、软件测试中验证和确认的区别?verfication 验证:是保证软件正确实现特定功能的一系列活动和过程。
目的是保证软件生命周期中的每一个阶段的成果满足上一个阶段设定的目标。
validation 确认:是保证软件满足用户需求的一系列的活动和过程。
目的是在软件开发后保证与用户需求符合5、软件测试按照测试的基本策略可分为哪两种并加以详细说明?白盒测试:白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。
黑盒测试:黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测试,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
(完整版)软件测试基础习题及答案

(完整版)软件测试基础习题及答案1、软件测试的定义?软件测试是⼀个过程或者⼀系列过程,⽤来确认计算和代码完成了其应该完成的功能,并且不执⾏其不应该有的操作。
2、软件测试的⽬标是什么?是想以最少的⼈⼒、物⼒和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提⾼软件质量,降低软件发布后由于潜在的软件错误和缺陷造成的隐患所带来的商业风险。
3、简单描述⼀下软件测试的原则?所有的软件测试都应追溯到⽤户需求应当把“尽早地和不断地进⾏软件测试”作为测试者的座右铭Good Enough原则质量第⼀充分注意测试中的群集现象程序员应避免检查⾃⼰的程序有据可依尽量避免软件测试的随意性,要有预期结果重视回归测试妥善保存⼀切测试过程⽂档4、软件测试中验证和确认的区别?Verfication 验证:是保证软件正确实现特定功能的⼀系列活动和过程。
⽬的是保证软件⽣命周期中的每⼀个阶段的成果满⾜上⼀个阶段设定的⽬标。
Validation 确认:是保证软件满⾜⽤户需求的⼀系列的活动和过程。
⽬的是在软件开发后保证与⽤户需求符合5、软件测试按照测试的基本策略可分为哪两种并加以详细说明?⽩盒测试:⽩盒测试也称结构测试或逻辑驱动测试,是指基于⼀个应⽤代码的内部逻辑知识,即基于覆盖全部代码、分⽀、路径、条件的测试,它是知道产品内部⼯作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进⾏,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确⼯作,⽽不顾它的功能,⽩盒测试的主要⽅法有逻辑驱动、基路测试等,主要⽤于软件验证。
⿊盒测试:⿊盒测试是指不基于内部设计和代码的任何知识,⽽基于需求和功能性的测试,⿊盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使⽤,在测试时,把程序看作⼀个不能打开的⿊盆⼦,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接⼝进⾏测试,它只检查程序功能是否按照需求规格说明书的规定正常使⽤,程序是否能适当地接收输⼊数锯⽽产⽣正确的输出信息,并且保持外部信息(如数据库或⽂件)的完整性。
软件测试基础试题及答案

软件测试基础试题及答案一、单项选择题(每题2分,共10题)1. 软件测试的目的是:A. 证明软件是正确的B. 证明软件存在错误C. 证明软件是无错误的D. 发现软件的缺陷答案:D2. 黑盒测试不关心以下哪一项:A. 输入数据B. 程序代码C. 测试用例D. 输出结果答案:B3. 以下哪个不是软件测试的类型?A. 单元测试B. 集成测试C. 系统测试D. 维护测试E. 性能测试答案:E4. 软件测试的基本原则不包括:A. 测试显示存在缺陷B. 穷尽测试是不可能的C. 早期测试D. 测试可以证明程序是正确的答案:D5. 软件缺陷的严重性等级通常不包括以下哪一项:A. 致命B. 严重C. 一般D. 建议答案:D6. 软件测试计划应该包括以下哪一项:A. 测试范围B. 测试资源C. 测试进度D. 所有上述内容答案:D7. 以下哪个不是软件测试的阶段?A. 需求分析B. 测试设计C. 测试执行D. 测试报告E. 代码编写答案:E8. 软件测试中,回归测试的目的是什么?A. 验证新添加的功能B. 验证修复的缺陷C. 验证软件的整体性能D. 验证软件的兼容性答案:B9. 软件测试中,压力测试和负载测试的区别在于:A. 压力测试关注系统在极端条件下的表现B. 负载测试关注系统在正常工作负载下的表现C. 压力测试关注系统在正常工作负载下的表现D. 负载测试关注系统在极端条件下的表现答案:A10. 软件测试中的“等价类划分”技术主要用于:A. 减少测试用例的数量B. 增加测试用例的数量C. 改变测试用例的顺序D. 改变测试用例的内容答案:A二、多项选择题(每题3分,共5题)1. 软件测试过程中可能使用的测试用例设计技术包括:A. 边界值分析B. 决策表测试C. 状态转换测试D. 错误猜测E. 随机测试答案:A, B, C, D2. 软件测试的基本原则包括:A. 测试显示存在缺陷B. 穷尽测试是不可能的C. 早期测试D. 缺陷聚集原则E. 测试可以证明程序是正确的答案:A, B, C, D3. 软件测试的文档通常包括:A. 测试计划B. 测试用例C. 测试报告D. 缺陷报告E. 用户手册答案:A, B, C, D4. 软件测试的目的是:A. 验证软件的功能B. 验证软件的性能C. 验证软件的安全性D. 验证软件的兼容性E. 证明软件是无错误的答案:A, B, C, D5. 软件测试中,以下哪些是测试的类型:A. 单元测试B. 集成测试C. 系统测试D. 验收测试E. 性能测试答案:A, B, C, D, E三、判断题(每题1分,共5题)1. 软件测试可以完全替代人工测试。
《软件测试》课后习题答案

课后习题答案第1章一、单选题1、B2、C3、A4、B5、A二、填空题1、规格说明书检查清单2、①引言②测试概要③测试内容及执行情况④缺陷统计与分析⑤测试结论与建议3、测试是以评价一个程序或者系统属性为目标的任何一种活动。
测试是对软件质量的度量。
4、与整个开发流程融合成一体5、①软件测试过程是为了发现程序中的错误。
②设计出好的测试方案和测试用例才能发现迄今为止尚未发现的错误。
③软件测试中通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进。
④软件测试中对错误的分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性。
⑤测试中即使没有发现错误的也是有价值的,完整的测试是评定软件质量的一种方法。
三、简答题1、①评测测试需求②制定测试计划③设计测试用例④执行测试⑤编写测试报告2、测试计划包括:①确定测试内容②制定测试规则③设定测试环境④安排测试任务⑤计划实施⑥风险管理。
主要作用是:测试工作是软件开发过程中不可缺少的组成部分,在软件开发工作的开始阶段就要制定好软件测试计划,作为软件开发保障性的工作。
第2章一、填空题1、包括等价类划分法、边界值分析法、因果图与决策法、正交试验设计法。
2、等价类。
3、区分有效等价类与无效等价类两种情况。
4、边界值分析法。
5、恒等、非、与。
二、单选题1、D2、C3、B三、简答题1、等价类要区分有效等价类与无效等价类两种情况。
在划分等价类时需要遵守以下原则:(1)按区间划分(2)按限制条件或规则划分(3)按数值划分(4)细分等价类。
2、它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交实验设计是一种高效率、快速、经济的实验设计方法。
3、分析出原因和结果原因:1、年薪制2、非年薪制3、严重违规4、一般过失结果:11、扣当月5%12、扣年终2%13、扣当月8%14、扣年终5%画出决策图:阴影部分表示因违反约束条件(2~3、5、14~15违反年薪制约束,4、8、9、12违反惩罚约束,1、16同时违反前面两种约束)而不可能出现的情况因此删去。
软件测试基础试题及答案详解大全

软件测试基础试题及答案详解大全一、单项选择题1. 软件测试的目的是以下哪项?A. 确保软件没有错误B. 确保软件符合用户需求C. 发现并修复所有软件缺陷D. 增加软件的销售量答案:B详解:软件测试的主要目的是确保软件产品符合用户的需求和预期,而不仅仅是发现错误或增加销量。
2. 黑盒测试不关心以下哪项内容?A. 输入数据B. 程序内部结构C. 测试用例设计D. 输出结果答案:B详解:黑盒测试,又称为功能测试或数据驱动测试,只关心软件的功能和输出,而不关心程序的内部结构。
3. 以下哪项不是软件测试的类型?A. 单元测试B. 集成测试C. 系统测试D. 项目管理答案:D详解:项目管理不属于软件测试的类型,它是软件开发过程中的一个独立领域。
二、多项选择题1. 以下哪些属于软件测试的阶段?A. 需求分析B. 单元测试C. 集成测试D. 维护测试答案:B, C, D详解:需求分析是软件开发的早期阶段,不属于软件测试阶段。
单元测试、集成测试和维护测试都是软件测试的不同阶段。
2. 在软件测试中,哪些信息是测试人员需要了解的?A. 软件需求B. 软件设计C. 用户手册D. 测试工具答案:A, B, C详解:测试人员需要了解软件需求、软件设计和用户手册,以便更好地设计测试用例和执行测试。
测试工具是可选的,取决于测试的具体环境和需求。
三、判断题1. 所有的软件缺陷都可以在测试阶段被发现。
(对/错)答案:错详解:尽管软件测试旨在发现尽可能多的缺陷,但由于时间和资源的限制,以及测试本身的局限性,不可能发现所有的软件缺陷。
2. 自动化测试可以完全替代手动测试。
(对/错)答案:错详解:自动化测试和手动测试各有优势和局限性。
自动化测试可以高效地执行重复性高的测试,而手动测试则更适用于探索性测试和用户交互界面的测试。
两者通常结合使用以提高测试效率和覆盖率。
四、简答题1. 什么是回归测试,为什么要进行回归测试?答案:回归测试是指在软件已经通过测试并发布后,由于修复了某个缺陷或在软件中添加了新的功能,需要重新进行的测试。
《软件测试习题集附详细答案.docx

—、基本概念软件测试的基本任务动态测试与静态测试驱动模块与桩模块程序的三种基本控制结构程序效率软件软件工程软件生存周期非入侵式工具与入侵式工具二、判断题( )1.语句构造的原则是简单直接,不能因为追求效率而使代码复杂化( )2.文档是软件产品的一部分,没有文档的软件就不称其为软件。
( )3.好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。
( )4.边界值分析方法是取输入/输出等价类的边界值作为测试用例。
( )5.在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。
( )6.好的测试用例应能证明软件是正确的。
( )7.白盒测试仅与程序的内部结构有关,可以不考虑程序的功能要求。
( )&当软件开发项目的进度有可能拖延时,增加开发人员并不能加快进度。
( )9.不完善的系统定义往往是导致软件项目失败的主要原因。
( )10. 一个成功的项目唯一提交的就是运行程序。
( )11. 一个好的测试用例在于能发现至今未发现的错误。
( )12.软件工程的考虑范围主要是程序设计和实现。
( )13.等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。
( )14.在结构化程序设计中,应尽量采用复合的条件测试,以避免嵌套的分支结构( )15. GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁。
( )16.发现错误多的程序模块,残留在模块中的错误也多。
( )17.程序效率的提高主要应通过选择高效的算法来实现。
( )1&模块化程序设计中,在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。
( )19.作为一个好的程序,不仅处理速度要快,而且易读易修改等等也都是重要的条件。
( )20.为了快速完成集成测试,采用一次性集成方式是适宜的。
( )21.自底向上集成需要测试员编写驱动程序。
软件测试习题集及答案(详细版)解答

1.什么是软件测试?软件测试的目的和作用是什么?答:软件测试是在受控制的条件下对系统或应用程序进行操作并评价操作的结果。
软件测试的目的是以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。
测试是为了证明程序有错,而不是证明程序无错。
一个成功的测试是发现了至今未发现的错误的测试。
软件测试的原则包括:所有的测试都应追溯到用户的需求;尽早地和不断地进行软件测试;不可能完全的测试,因为输入量太大,执行路径太多;注意测试中的群集现象;避免测试自己的程序;设计周密的测试用例。
2.软件缺陷产生的原因?答: A.软件需求说明书编写的不全面,不完整,不准确,而且经常更改 B.软件设计说明书 C.软件操作人员的水平 D.开发人员不能很好的理解需求明书和沟通不足3.软件测试的意义?意义:1.对产品质量完成全面的评估,为软件产品发布(如验收测试)、软件系统部署(如性能规划测试)、软件产品鉴定(第三方独立测试)委托方和被委托方纠纷仲裁(第三方独立测试)和其它决策提供信息;2.通过持续的测试(包括需求评审、设计评审、代码评审等)可以对产品质量提供持续的、快速的反馈,从而在整个开发过程中不断地、及时地改进产品的质量,并减少各种返工,降低软件开发的成本;3.通过测试发现所要交付产品的缺陷,特别是尽可能地发现各种严重的缺陷,降低或消除产品质量风险,提高客户的满意度,扩大市场份额,提高客户的忠诚度。
4.通过对缺陷进行分析,找出缺陷发生的根本原因(软件过程中的问题,包括错误的行为方式)或总结出软件产品的缺陷模式,避免将来犯同样的错误或产生类似的产品问题,达到缺陷预防的目的4.软件测试与软件开发的关系?答:软件开发是一个系统的工程。
包括需求分析,设计,编码,测试,维护等等几个环节。
测试是整个软件开发流程中的一个环节。
5.简述软件测试过程v模型和w模型的主要区别:V模型是软件开发完了之后才开始测试活动。
而W模型则是软件测试活动伴随着软件开发活动。
软件测试技术基础课后习题答案

第1章软件测试概述1.简述软件测试得意义。
解:随着计算机技术得迅速发展与广泛深入得应用,软件质量问题已成为开发与使用软件人员关注得焦点。
而由于软件本身得特性,软件中得错误就是不开避免得。
不断改进得开发技术与工具只能减少错误得发生,但就是却不可能完全避免错误。
因此为了保证软件质量,必须对软件进行测试。
软件测试就是软件开发中必不可少得环节,就是最有效得排除与防治软件缺陷得手段,就是保证软件质量、提高软件可靠性得最重要手段。
2.什么就是软件缺陷?它得表现形式有哪些?解:从产品内部瞧,软件缺陷就是软件产品开发或维护过程中所存在得错误、毛病等各种问题;从外部瞧,软件缺陷就是系统所需实现得某种功能得失效或违背。
它得表现形式主要有以下几种:(1)软件未达到产品说明书中已经标明得功能;(2)软件出现了产品说明书中指明不会出现得错误;(3)软件未达到产品说明书中虽未指出但应当达到得目标;(4)软件功能超出了产品说明书中指出得范围;(5)软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。
3.简单分析软件缺陷产生得原因,其中那个阶段引入得缺陷最多,修复成本又最低?解:软件缺陷产生得主要原因有:需求规格说明错误;设计错误;程序代码有误;其她。
其中在需求分析阶段引入得缺陷最多,修复得成本又最低。
当用户登录某网站购物完毕并退出后,忽然想查查购物时付账得总金额,于就是按了浏览器左上角得“退回”按钮,就又回到了退出前得网页,您认为该购物软件有缺陷吗?如果有,属于哪一类?解:有缺陷。
其所属类别与软件产品说明书得要求有关。
5.什么就是软件测试?简述其目得与原则。
解:软件测试就是为了尽快尽早地发现在软件产品中所存在得各种软件缺陷而展开得贯穿整个软件开发生命周期,对软件产品(包括阶段性产品)进行验证与确认得活动过程。
测试目得:(1)证明:获取系统在可接受风险范围内可用得信心;尝试在非正常情况与条件下得功能与特性;保证一个工作产品就是完整得并且可用或可被集成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章软件测试理论一、选择题1. 软件测试的目的是 C 。
A.表明软件的正确性B.评价软件质量C.尽可能发现软件中的错误D.判定软件是否合格2. 下面关于软件测试的说法, A 是错误的。
A.软件测试是程序测试B.软件测试贯穿于软件定义和开发的整个期间C.需求规格说明、设计规格说明都是软件测试的对象D.程序是软件测试的对象3. 某软件公司在招聘软件评测师时,应聘者甲向公司做如下保证:①经过自己测试的软件今后不会再出现问题;②在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不利于团结;③承诺不需要其他人员,自己就可以独立进行测试工作;④发扬咬定青山不放松的精神,不把所有问题都找出来,决不罢休;你认为应聘者甲的保证 B 。
A.①、④是正确的B.②是正确的C.都是正确的 D.都不正确4. 软件测试的对象包括 B 。
A.目标程序和相关文档 B.源程序、目标程序、数据及相关文档C.目标程序、操作系统和平台软件 D.源程序和目标程序5. 导致软件缺陷的原因有很多,①-④是可能的原因,其中最主要的原因包括 D 。
①软件需求说明书编写的不全面,不完整,不准确,而且经常更改②软件设计说明书③软件操作人员的水平④开发人员不能很好的理解需求说明书和沟通不足A.①、②、③ B.①、③ C.②、③ D.①、④二、简答题1.简述软件测试发展的历史及软件测试的现状。
参考答案:软件测试是伴随着软件的产生而产生的。
在软件行业发展初期,没有系统意义上的软件测试,更多的是一种类似调试的测试,测试用例的设计和选取也都是根据测试人员的经验随机进行的,大多数测试的目的是为了证明系统可以正常运行。
到了20世纪70年代以后,很多测试理论和测试方法应运而生,逐渐形成了一套完整的体系。
在产业界,从20世纪70年代后期到20世纪80年代中期,很多软件企业成立了QA或者SQA部门。
后来QA的职能转变为流程监控(包括监控测试流程),而测试(Testing)则从QA中分离出来成为独立的组织职能。
到了20世纪80年代初期,一些软件测试的基础理论和实用技术开始形成,软件测试作为软件质量保证(SQA)的主要职能,包含软件质量评价的内容。
软件测试已有了行业标准(IEEE/ANSI )。
在我国,软件测试目前还没有形成一个真正的产业,尚处于起步阶段。
但是,在国内,现在在软件测试行业中各种软件测试的方法、技术和标准都还在探索阶段。
总之,国内软件测试行业与一些发达国家相比还存在一定的差距。
2. 简述软件缺陷在不同阶段发现错误修复的费用。
参考答案:软件缺陷造成的修复费用随着时间的推移呈指数级地增长,如下图所示。
3.简述软件测试的复杂性。
参考答案:软件测试的复杂性体现在:不可能对程序实现完全测试。
杀虫剂现象,即为了克服被测试软件的免疫力,软件测试员必须不断编写新的测试程序,对程序的各个部分进行不断测试,以避免被测试软件对单一的测试程序具有免疫力而使软件缺陷不被发现。
软件测试的代价不容易掌握,因为随着测试量的增加,测试成本将呈几何数级上升,而软件缺陷数量降低到某一数值之后将没有明显的变化,寻求最优测试点,掌握好测试工作量是至关重要的。
在实际操作过程中,测试人员要进行正确的判断,合理的取舍,根据风险分析来决定哪些故障需要修复,哪些故障可以不修复,即并不是所有的软件缺陷都需要被修复。
4.对软件测试的经济性进行总结和分析参考答案:软件测试是软件生命期中费用消耗最大的环节。
测试费用除了测试的直接消耗外,还包括其他的相关费用。
影响测试费用的主要因素有:(1)软件的功能,软件产品需要达到的标准决定了测试的数量。
对于那些至关重要的系统必须进行更多的测试。
(2)目标用户的数量,一个系统的目标用户数量的多少也在很大程度上影响了测试必要性的程度。
(3)潜在缺陷造成的影响在考虑测试的必要性时,还需要将系统中所包含的信息价值考虑在内。
因此我们应该从经济方面考虑,投入与经济价值相对应的时间和金钱去进行测试。
(4)开发机构的业务能力一个没有标准和缺少经验的开发机构很可能会开发出充满错误的软件系统。
而一个建立了标准和有很多经验的开发机构开发出来的软件系统中的错误将会少很多。
(5)测试的时机测试量会随时间的推移发生改变,在一个竞争很激烈的市场里,争取时间可能是制胜的关键。
测试量应该针对合适的目标进行调整。
5. 谈谈你对今后从事软件职业的打算。
略6.简述软件测试工程师应具备的素质。
参考答案:通常软件人员应具备如下素质:(1)良好的沟通能力(2)掌握比较全面的技术(3)充分的自信心(4)足够的耐心和责任感(5)要具备怀疑精神和学习能力(6)超强的记忆力和良好的洞察力7.谈谈你对软件测试的重要性理解。
略第二章软件测试基础一、选择题1. 软件质量的定义是 D 。
A.软件的功能性、可靠性、易用性、效率、可维护性、可移植性B.满足规定用户需求的能力C.最大限度达到用户满意D.软件特性的总和,以及满足规定和潜在用户需求的能力2.关于软件测试对软件质量的意义,有以下观点:①度量与评估软件的质量;②保证软件质量;③改进软件开发过程;④发现软件错误。
其中正确的是 C 。
A.①、②、③ B.①、②、④C.①、③、④ D.①、②、③、④3. 关于软件质量的描述,正确的是 D 。
A.软件质量是指软件满足规定用户需求的能力B.软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护性、可移植性C.软件质量保证过程就是软件测试过程D.以上描述都不对二、简答题1.简述软件测试的目标及标准。
参考答案:软件测试的目的就在于在软件投入运行之前,尽可能多地发现软件中的错误。
根据软件测试标准适用的不同范围,软件测试行业中的标准通常可以分国家标准、行业标准、企业和项目规范4个级别。
2.简述软件测试的原则。
参考答案:软件测试的原则应该是:✧应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。
✧测试用例应包括测试输入数据和与之对应的预期输出结果这两部分组成。
✧程序员应避免检查自己的程序。
✧设计测试用例时,应当包括合理的输入条件和不合理的输入条件。
✧充分注意测试中的群集现象。
对发现错误较多的程序段,应进行更深入的测试。
✧严格执行测试计划,排除测试的随意性。
✧应当对每一个测试结果做全面检查。
✧妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。
3.软件测试的类型有哪些?参考答案:按照软件测试的生命周期,可以将测试的执行过程划分为:单元测试、集成测试、确认测试、系统测试、验收测试。
按照软件测试技术可以将测试划分为白盒测试、黑盒测试、灰盒测试。
按照测试实施不同的主体进行分类,测试包括开发方测试、用户测试、第三方测试。
按照软件测试的内容可以将测试划分为功能性测试、可靠性测试、易用性测试、效率测试、可移植性测试和文档测试等。
4.比较黑盒测试,白盒测试,单元测试,集成测试,系统测试,验收测试的区别与联系。
参考答案:按照软件测试技术可以将测试划分为白盒测试、黑盒测试。
白盒测试是按照程序内部的结构测试程序检测产品内部动作是否按照软件设计说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。
黑盒测试主要是检测每个功能是否能正常使用。
黑盒测试只关注程序的外部特性,不考虑程序内部的逻辑结构,主要针对软件界面和软件功能等方面进行测试。
单元测试,集成测试,系统测试,验收测试是按照软件测试的生命周期来分的。
单元测试是在软件开发过程中要进行的最小级别的测试,是程序员缩写的一小段代码,用于检验被测代码的—个很小的、很明确的功能是否正确。
集成测试通常是在单元测试的基础上,将所有的程序模块进行有序的、递增的组装为子系统或系统的测试。
集成测试用于检验程序单元或部件的接口关系,使之逐步集成为符合概要设计要求的程序部件或整个系统。
系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种集成测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。
验收测试是系统开发生命周期中的—个阶段,它是一项判断产品是否能够满足合同或用户既定需求的测试。
5.软件产品质量特性是什么?什么是软件质量保证?其主要任务是什么?参考答案:软件产品质量特性指的是软件产品满足使用要求的程度,就是高质量的软件系统能够准时交付给用户,所耗费的成本不超出预算,且能够正常地运行。
软件质量保证(Software Quality Assurance, SQA)就是保证软件质量的一系列系统性的活动,它是建立一套有计划,有系统的方法,向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。
软件质量保证的主要任务是向所有有关的人提供证据以确立软件产品的质量功能按照需求运行,它不负责高质量软件的编制,其主要职责是审计软件经理和软件工程组的质量活动,并鉴别活动中出现的偏差。
6.质量保证部门与测试部门的职责是否一样?归纳它们的共同点和不同点。
参考答案:不一样。
从共同点的角度看,软件测试部门和软件质量保证部门的目的都是尽力确保软件产品满足需求,从而开发出高质量的软件产品。
两个流程都贯穿在整个软件开发生命周期中。
二者的不同之处在于软件质量保证部门的工作侧重对软件开发流程中的各个过程进行管理与控制,杜绝软件缺陷的产生。
而测试部门工作则是对已产生的软件缺陷进行修复。
7.ISO 9000标准与软件测试的关系是什么?参考答案:ISO 9000系列标准可分为两类:ISO 9001~ISO 9003作为第一类用于建立客户对生产商质量要求的保证;ISO 9004作为第二类用于生产商自身建立质量保证体系。
其中ISO 9003作为软件企业实施ISO 9001质量保证模式提供实施指南,它对软件产品从市场调查、需求分析、软件设计、编码、测试等各个开发阶段进行质量保证控制,也对产品发布、销售、成品安装和维护过程进行规范控制,从而保证软件产品的整体质量。
8.简述CMM的具体等级划分。
参考答案:CMM将软件过程能力成熟度划分为5个等级,如下图所示。
每个等级定义一组过程能力目标,并且表述了能够达到这些过程能力目标的实践活动。
1、、、、2、、、、、3、、、、、4、、、、5、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、图2 CMM软件成熟度等级第3章软件测试过程与方法一、选择题1. 关于白盒测试与黑盒测试的最主要区别,正确的是 A 。
A.白盒测试侧重于程序结构,黑盒测试侧重于功能B.白盒测试可以使用测试工具,黑盒测试不能使用工具C.白盒测试需要程序员参与,黑盒测试不需要D.黑盒测试比白盒测试应用更广泛2. 软件测试类型按开发阶段划分是 B 。