软件测试习题集.docx
《软件测试习题集.docx》由会员分享,可在线阅读,更多相关《软件测试习题集.docx(52页珍藏版)》请在冰豆网上搜索。
软件测试习题集
软件测试习题集
一、判断题
1、发现错误多的模块,残留在模块中的错误也多。
(√)
2、测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快开发的进程。
(×)
3、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。
(√)
4、功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。
(√)
5、软件质量管理即QM由QA和QC构成,软件测试属于QC的核心工作内容。
(√)
6、软件测试只能发现错误,但不能保证测试后的软件没有错误。
(√)
7、软件就是程序。
(X)
8、测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。
(X)
9.软件测试的目的是尽可能多的找出软件的缺陷。
(Y)
10.Beta测试是验收测试的一种。
(Y)
11.验收测试是由最终用户单方面来实施的。
(N)
12.单元测试能发现约80%的软件缺陷。
(Y)
14.自底向上集成需要测试员编写驱动程序。
(Y)
16.负载测试是验证要检验的系统的能力最高能达到什么程度。
(N)
15.测试人员要坚持原则,缺陷未修复完坚决不予通过。
(N)
16.代码评审员一般由测试员担任。
(N)
17.我们可以人为的使得软件不存在配置问题。
(N)
18.集成测试计划在需求分析阶段末提交。
(N)
19.测试是调试的一个部分(╳)
20.程序中隐藏错误的概率与其已发现的错误数成正比(√)
21.测试的目的是发现软件中的错误。
(√)
22.代码评审是检查源代码是否达到模块设计的要求。
(√)
23.自底向上集成需要测试员编写驱动程序。
(√)
24.因为测试工作简单,对软件产品影响不大,所以可以把测试作为新员工的一个过渡工作,或安排不合格的开发人员做测试。
(N)
25.在集成测试过程中,刚开始集成时由于规模较小,主要以黑盒测试为主(N)。
26.Beta测试是验收测试的一种。
(Y)
27软件测试和软件调试是同一回事。
(N)
28.负载测试是验证要检验的系统的能力最高能达到什么程度。
(N)
29.软件测试是可以无穷尽的。
(N)
30.测试不能修复所有的软件故障。
(Y)
31.测试过程中应重视测试的执行,可以轻视测试的设计。
(N)
32.项目立项前测试人员不需要提交任何工件。
(Y)
33.测试是为了证明软件的正确性。
(N)
34.单元测试一般由专门的测试人员进行(N)
二、 选择题(每题2分 20)
1、进行软件质量管理的重要性有:
(ABCD)
A、维护降低成本 B、法律上的要求 C、市场竞争的需要
D、质量标准化的趋势 E、软件工程的需要 F、CMM过程的一部分
G、方便与客户进一步沟通为后期的实施打好基础
2、选出属于黑盒测试方法的选项(ABC)
A、测试用例覆盖 B、输入覆盖 C、输出覆盖
D、分支覆盖 E、语句覆盖 F、条件覆盖
3、编写测试计划的目的是:
(ABC)
A、使测试工作顺利进行B、使项目参与人员沟通更舒畅C、使测试工作更加系统化
D、软件工程以及软件过程的需要 E、软件过程规范化的要求F、控制软件质量
4、依存关系有4种分别是:
(ABCD)
A、开始-结束 B、开始-开始 C、结束-开始
D、结束-结束 E、开始-实施-结束 F、结束-审核-开始
5、软件质量管理(QM)应有质量保证(QA)和质量控制(QC)组成,下面的选项属于QC得是:
(ABC)
A、测试 B、跟踪 C、监督
D、制定计划 E、需求审查F、程序代码审查
6、实施缺陷跟踪的原由是:
(ABCD)
A、软件质量无法控制B、问题无法量化 C、重复问题接连产生
D、解决问题的知识无法保留E、确保缺陷得到解决F、使问题形成完整的闭环处理
7、使用软件测试工具的目的:
(ABC)
A、帮助测试寻找问题 B、协助问题的诊断C、节省测试时间
D、提高Bug的发现率 E、更好的控制缺陷提高软件质F、更好的协助开发人员
8、典型的瀑布模型的四个阶段是:
(ABCD)
A、分析B、设计 C、编码
D、测试E、需求调研 F、实施
9.软件验收测试的合格通过准则是:
(ABCD)
A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B.所有测试项没有残余一级、二级和三级错误。
C.立项审批表、需求分析文档、设计文档和编码实现一致。
D.验收测试工件齐全。
10.软件测试计划评审会需要哪些人员参加(ABCD)
A.项目经理B.SQA负责人C.配置负责人D.测试组
11.下列关于alpha测试的描述中正确的是:
(AD)
A.alpha测试需要用户代表参加B.alpha测试不需要用户代表参加
C.alpha测试是系统测试的一种D.alpha测试是验收测试的一种
12.测试设计员的职责有:
(BC)
A.制定测试计划B.设计测试用例C.设计测试过程、脚本D.评估测试活动
三、填空
1.软件验收测试包括:
正式验收测试,alpha测试,beta测试。
2.请列举三种以上系统测试的策略有:
功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试,(答对其中任意三个即得分)
3.设计系统测试计划需要参考的项目文挡有:
软件测试计划,软件需求工件和迭代计划。
4.对面向过程的系统采用的集成策略有:
自顶向下,自底向上两种。
5.在已役入运行的软件中,与财务有关的关键软件所允许的故障密度为1~10个/每千行
6.缺陷发现或解决得越迟,成本越高,几乎呈指数增长
7.测试人员座右铭:
尽早地、不断地测试!
8.软件测试的对象:
需求分析说明书、概要设计说明书、详细设计说明书、源代码
9.单元测试也称模块测试,测试的对象是软件的最小单元——程序模块。
10.单元测试的目的是检测程序模块中的错误故障,着力解决以下五个方面的问题:
模块接口测试、模块局部数据结构测试、覆盖测试、出错处理检测、边界条件测试。
11.系统测试的主要内容包括:
功能测试、性能测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/卸载测试等。
12.人为测试的主要方法有桌前检查(deskchecking),代码审查(codereview)和走查(walkthrough)。
13.兼容性测试需要重点考虑的兼容性问题有:
操作系统的兼容性;浏览器的兼容性;硬件的兼容性。
14.边界值分析法的基本思想是:
选取正好等于、刚刚大于和刚刚小于边界值的数据进行测试。
15.白盒测试的两类主要方法是:
静态测试和动态测试。
16.逻辑覆盖以程序的内部逻辑结构为基础,主要分以下几种方式:
语句覆盖、判定覆盖(分支覆盖)、条件覆盖、判定/条件覆盖、条件组合覆盖
四、问答题
1、测试人员在软件开发过程中的任务是什么
答:
1)、寻找Bug;2)、避免软件开发过程中的缺陷;3)、衡量软件的品质;4)、关注用户的需求。
总的目标是:
确保软件的质量。
2、一条软件缺陷(或者叫Bug)记录都包含了哪些内容如何提交高质量的软件缺陷(Bug)记录
答:
一条Bug记录最基本应包含:
编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现Bug需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交Bug的质量。
3、黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!
答:
黑盒测试的优点有:
1)比较简单,不需要了解程序内部的代码及实现;
2)与软件的内部实现无关;
3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
5)在做软件自动化测试时较为方便。
黑盒测试的缺点有:
1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;
2)自动化测试的复用性较低。
白盒测试的优点有:
帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。
白盒测试的缺点有:
1)程序运行会有很多不同的路径,不可能测试所有的运行路径;
2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;
3)系统庞大时,测试开销会非常大。
4、根据自己的理解回答什么是软件测试,软件测试分为哪几个阶段。
答:
软件测试是一个为了寻找软件中的错误而运行软件的过程,一个成功的测试是指找到了迄今为止尚未发现的错误的测试。
软件测试一般分为单元测试、集成测试和系统测试。
5、根据自己的理解什么是测试用例和测试规程
答:
狭义的讲,一个测试用例就是测试人员用以测试被测软件的某个特性或特性组合的一组数据。
这组数据可能是从用户处得来的实际的一组数据,也可能是测试人员专门设计出来的测试软件某些功能的一组数据。
测试规程就是详细的对测试用例设计方法、测试方法、测试工具、测试环境和测试数据进行描述的文档,还可以包括能把某个或某一组测试用例应用到被测软件上完成某项测试的一系列的操作步骤。
6、软件验收测试包括哪些内容
答:
正式验收测试,alpha测试,beta测试。
7、设计系统测试计划需要参考哪些文档
答:
软件测试计划,软件需求工件和迭代计划。
8、对面向过程的系统采用的集成策略有哪两种
答:
自顶向下,自底向上两种。
9、.通过画因果图来写测试用例的步骤是什么
答:
(1)根据程序规格说明书描述,分析并确定因(输入条件)和果(输出结果或程序状态的改变),画出因果图。
(2)将得到的因果图转换为判定表。
(3)为判定表中每一列所表示的情况设计一个测试用例。
10、阶段评审与同行评审有哪些不同
答:
目的
人数
内容
时间
同行评审
发现小规模工作产品的错误,只要是找错误
3-7人人员必须经过同行评审会议的培训,由SQA指导
内容小一般文档<40页,代码<500行
一小部分工作产品完成
阶段评审
评审模块阶段作品的正确性可行性及完整性
5人左右评审人必须是专家具有系统评审资格
内容多,主要看重点
通常是设置在关键路径的时间点上
11、什么是软件测试
答:
测试是为发现错误而执行程序的过程。
软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。
执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。
12、白盒测试有几种方法
答:
总体上分为静态方法和动态方法两大类。
13、静态测试和动态测试有什么区别
答:
静态测试不需要在计算机上运行程序;而动态测试需要将程序通过在计算机上运行以发现错误。
14、系统测试计划是否需要同行审批,为什么
答:
需要,系统测试计划属于项目阶段性关键文档,因此需要评审。
15、什么是Alpha测试
答:
Alpha测试(α测试)是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。
Alpha测试发现的错误,可以在测试现场立刻反馈给开发人员,由开发人员及时分析和处理。
目的是评价软件产品的功能、可使用性、可靠性、性能和支持。
尤其注重产品的界面和特色。
Alpha测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。
有关的手册(草稿)等应该在Alpha测试前准备好。
16、什么是Beta测试
答:
Beta测试(β测试)是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。
开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。
因而,Beta测试是在开发者无法控制的环境下进行的软件现场应用。
在Beta测试中,由用户记下遇到的所有问题,包括真实的以及主管认定的,定期向开发者报告,开发者在综合用户的报告后,做出修改,最后将软件产品交付给全体用户使用。
Beta测试着重于产品的支持性,包括文档、客户培训和支持产品的生产能力。
只有当Alpha测试达到一定的可靠程度后,才能开始Beta测试。
由于Beta测试的主要目标是测试可支持性,所以Beta测试应该尽可能由主持产品发行的人员来管理。
17、Alpha测试与beta有什么区别
答:
Alpha测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。
这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。
Beta测试当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。
这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。
18、比较负载测试,容量测试和强度测试的区别
答:
负载测试:
在一定的工作负荷下,系统的负荷及响应时间。
强度测试:
在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。
容量测试:
容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。
容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。
容量测试的目的是使系统承受超额的数据容量来发现它是否能够正确处理。
容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。
19、请简单地描述软件测试活动的生命周期
答:
测试周期分为计划、设计、实现、执行、总结。
其中:
计划阶段对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源,安排进度等;设计阶段完成测试方案,从技术层面上对测试进行规划;实现阶段进行测试用例和测试规程设计;执行阶段根据前期完成的计划、方案、用例、规程等文档,执行测试用例。
总结阶段记录测试结果,进行测试分析,完成测试报告。
20、软件的缺陷等级应如何划分
A类—严重错误,包括以下各种错误:
1)由于程序所引起的死机,非法退出;2)死循环;3)数据库发生死锁;4)因错误操作导致的程序中断;5)功能错误;6)与数据库连接错误;7)数据通讯错误
B类—较严重错误,包括以下各种错误:
1)程序错误;2)程序接口错误;3)数据库的表、业务规则、缺省值未加完整性等约束条件
C类—一般性错误,包括以下各种错误:
1)操作界面错误(包括数据窗口内列名定义、含义是否一致);2)打印内容、格式错误3)简单的输入限制未放在前台进行控制;4)删除操作未给出提示5)数据库表中有过多的空字段
D类—较小错误,包括以下各种错误:
1)界面不规范2)辅助说明描述不清楚;3输入输出不规范4)长操作未给用户提示5)提示窗口文字未采用行业术语6)可输入区域和只读区域没有明显的区分标志
21、软件具有哪些特点
答:
(1)软件是一种逻辑实体,而不是具体的物理实体。
因而它具有抽象性。
(2)软件的生产与硬件不同,它没有明显的制造过程。
对软件的质量控制,必须着重在软件开发方面下功夫。
(3)在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。
然而它存在退化问题,必须要对其进行多次的修改与维护。
(4)软件的开发和运行常常受到计算机系统的制约,对计算机系统有着不同程度的依赖性。
为了解除这种依赖性,在软件开发中提出了软件移植的问题。
(5)软件的开发至今尚未完全摆脱人工艺的开发方式。
(6)软件本身是复杂的。
软件的复杂性可能来自它所反映的实际问题的复杂性,也可能来自程序逻辑结构的复杂性。
(7)软件成本相当昂贵。
软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,它的成本是比较高的。
(8)相当多的软件工作涉及到社会因素。
许多软件的开发和运行涉及机构、体制及管理方式等问题,它直接影响到项目的成败。
22、软件的分类方法有哪些
答:
(1)按软件的功能分类
(2)按软件服务对象的范围分类
(3)按开发软件所需要的人力、时间以及完成的源程序行数分类。
(4)按软件工作方式分类:
实时处理软件、分时软件、交互式软件、批处理软件。
23.简述软件测试人员需要的知识结构。
答:
★需要具有懂得计算机的基本理论,又有一定开发经验的人员;
★需要具有了解软件开发的基本过程和特征,对软件有良好的理解能力,掌握软件测试相关理论及技术的人员;
★需要具有软件业务经验的人员;
★需要根据测试计划和方案进行软件测试;针对软件需求开发测试模型,制定测试方案,安排测试计划,搭建测试环境,进行基本测试,设计简单的测试用例;
★需要具有规划设计环境;编制测试大纲并设计测试用例;对软件进行全面测试工作的人员;
★需要具有编制测试计划;评审测试方案,规范测试流程及测试文档;分析测试结果,管理测试项目;
★需要会操作软件测试工具的人员。
24、白盒测试有哪4个原则
答:
1)保证一个模块中所有路径至少被测试一次;
2)所有逻辑值都要测试真和假两种情况;
3)检查程序的内部数据结构是否有效;
4)再上、下边界及可操作范围内运行所有循环。
25、请简要写出白盒测试常用的7类技术中的5类以上技术。
答:
逻辑覆盖法、插桩技术、基本路径测试法、域测试法、符号测试、Z路径覆盖法、程序变异测试法
26、逻辑覆盖主要测试哪8各方面的覆盖率(写出5个以上)
答:
(1)语句覆盖
(2)判定覆盖(3)条件覆盖(4)条件判定组合覆盖(5)多条件覆盖(6)修正条件判定覆盖(7)组合覆盖(8)路径覆盖
27、请详细说明黑盒测试的方法。
答:
因为黑盒测试是一种基于证明功能需求和用户最终需求的测试方法,所以在选择测试,设计测试方法方面有如下几种。
★等价类划分法;
★边界值分析法;
★因果图法;
★判定表驱动测试;
★场景法;
★功能图法;
★错误推测法;
★正交试验设计法。
在实际测试工作中,往往是综合使用各种方法才能有效提高地提高测试效率和测试覆盖率,这就需要认真掌握这些方法的原理,积累更多的测试经验,以有效地提高测试水平和测试的效率。
28、黑盒测试的原则都有哪些
答:
★根据软件规格说明书设计测试用例,规格说明书的正确性是至关重要的。
★有针对性的地找问题,并且正确定位等价类
★功能是否有缺陷或错误现象
★根据测试的重要性来确定测试等级和测试重点,减少程序可能出现的缺陷。
★在接口处,输入的信息是否能正确接受接受后能否输出正确的结果
★认真选择测试策略,尽可能发现程序的数据结构错误或外部信息访问错误,站在用户立场上进行测试。
29.测试用例主要包括哪些内容
答:
完整的测试用例通常包括:
★测试用例的编号;
★测试日期;
★测试用例设计人员和测试人员;
★测试用例的优先级;
★测试标题;
★测试目标;
★测试环境;
★输入数据/动作;
★测试的操作步骤;
★测试预期的结果。
30.设计测试用例所需哪些文档资料
答:
设计测试用例所需要的文档资料包括:
★软件需求说明书;
★软件设计说明书;
★软件测试需求说明书;
★成熟的测试用例(案例库或财富库)。
31、简述单元测试的目的。
答:
单元测试目的主要有以下几点:
(1)检查单元模块内部的错误,为软件的评审验收提供依据。
(2)单元测试是以程序设计说明书和之前所作的测试数据(正常的和错误的)为指导,测试模块内重要的路径,以检查出错误;
(3)检验信息能否正确地流入和流出单元;
(4)在单元测试工作过程中,其内部数据能否保持其完整性,包括内部数据的形式、内容及相互关系不发生错误,也包括全局变量在单元中的处理和影响。
(5)在为限制数据加工而设置的边界处,能否正确工作。
(6)单元的运行能否做到满足特定的逻辑覆盖。
(7)单元中发生了错误,其中的出错处理措施是否有效。
32.边界条件测试主要测试的是哪3点
答:
(1)程序内有一个n次循环,这个n次循环应该是1~n,而不是0~n;
(2)由小于小于等于等于大于大于等于不等于确定的比较值出错;
(3)出线上溢、下溢和地址异常问题。
33.请简述功能测试的基本要求。
答:
功能测试(Functionaltesting)是基于产品功能说明书并根据产品特征、操作描述和用户方案,来测试产品的每个功能是否都能正常使用、是否达到了产品规格说明书的要求。
功能测试只需要考虑它的功能点不需要考虑软件的内部结构及代码等。
功能测试包括用户界面测试、各种操作的测试、不同的数据输入、逻辑思路、数据输出和存储等的测试。
34.请详细说明搜索功能测试的方法主要包括的内容。
答:
对于搜索功能,主要通过以下八点测试:
1.页面检查;
2.默认条件搜索;
3.修改可选条件搜索;
4.修改输入条件搜索;
5.修改区间条件搜索;
6.组合可选、输入条件搜索;
7.操作后检查搜索条件及查询结果;
8.错误、空记录搜索。
35.请说明集成测试的过程,可以用图表表示。
答:
集成测试的过程包括:
制定集成测试计划,设计集成测试,实施集成测试,执行集成测试,评估集成测试。
如下图所示。
36.请列举性能测试的先决条件。
答:
性能测试的先决条件包括:
(1)针对性能测试对象的技术要成熟;
(2)性能测试的测试环境要稳定;
(3)进行性能测试的准备要充分;
(4)性能测试的目标要明确;
(5)性能测试的计划要详细;
(6)性能测试的数据要精确以及要有代表性;
(7)性能测试的描述要精练。
满足了这些之后我们才能够进入测试阶段。
37.一个标准的性能调优过程是是什么
答:
(1)确定基准环境、基准负载和基准性能指标;
(2)调整系统运行环境和实现方法,执行测试。
(包括硬件环境的调优、Weblogic调优、Oracle调优);
(3)记录测试结果、进行分析。
38.简述系统测试的测试类型。
答:
系统测试一般要考虑功能测试、性能测试、负载测试、容量测试、安全性测试、用户界面测试、配置测试、安装测试、回归测试等。
39.正式验收测试是什么
答:
正式验收测试,是系统测试的后续,也就是说正式测试的测试工作和系统测试差不多,测试计划和测试用例设计都应很详细,在这个测试过程中应用的测试用例应是系统测试的用例的子集,不能对系统的测试方向有所偏离,在很多测试过程中,正式验收是自动进行测试的。
40.它的优缺点又是什么
答:
正式验收测试的优点是:
1)要进行验收测试的软件的功能和特性都是已知的;
2)可以对测试的过程进行评测;
3)正式验收测试可以自动进行测试;
4)对软件的要求是由用户需求说