第一篇:测试笔试题及答案
软件测试工程师笔试试题答案
一、判断题(每题1分,12 分,正确的√,错误的╳)1.软件测试的目的是尽可能多的找出软件的缺陷。()软件测试的目的就是为了发现软件中的缺陷,从这个意义上面说上面的这个论断是正确的。
不少人会认为软件测试可以保证软件的质量,其实这个观点是错误,测试只是软件质量控制中的一个角色,其活动并不能达成软件质量保证的效果。所以不要认为一个公司里面如果有了软件测试人员,产品的质量就会好起来。
2.Beta 测试是验收测试的一种。()Beta测试和验收测试是两种不同的测试。
验收测试的目的是为了以发现”未实现的需求”为目的,以评估”适合使用”为目标,该类测试的不是以发现缺陷为主要目的。
beta测试是一模拟真实的使用环境从而发现缺陷的一种测试。所以两者之间的是非包容关系。
----但我觉得以上的解释有问题,施验收测试的常用策略有三种,它们分别是:·正式验收·非正式验收或Alpha 测试·Beta 测试。显然,无论是Alpha测试还是Beta测试,都是属于验收测试。
3.验收测试是由最终用户来实施的。()上面说到了验收测试的目的和目标,所以验收测试也可是是软件生产的企业内部人员来实施。例如产品经理。
当软件以项目的形式出现,那么验收测试由最终用户来实施的情况是比较长见的。但是对于产品形式的软件,生产企业内部的验收测试会更多。
4.项目立项前测试人员不需要提交任何工件。()应该说这道题目没有明确的答案,在项目立项前测试人员是不是要把一些准备工作以工件的形式给记录下来是完全取决于该企业的软件开发过程的要求。同时不同企业,立项前要达成的一些必要条件也是大相径庭的。应该说这一题目出的不是很好,如果你是出题人这家企业的测试工程师,那么就应该有一个明确的答案。5.单元测试能发现约80%的软件缺陷。()同样这一题目也没有标准答案。因为该数据的来源和其统计的方法,样本都没有一个工业标准。这样出来的数据同样不具有权威性。这里我可以说一个简单的例子,在用ASP,php这类脚本语言开发网页的时候是根本没有复杂的单元测试。那么这样的数字应用在网站开发上面是否有意义,还是值得商榷的。所以这道题目出的不好,没有明确的答案
6.代码评审是检查源代码是否达到模块设计的要求。()代码审查是一种静态技术,从这个意义上说代码复查是需要和其他的一些动态测试技术配合才能检查代码是否符合设计的要求 7.自底向上集成需要测试员编写驱动程序。()
这道题目大家看下top-down 和 down-top的集成测试示意图就能得出明确的答案。这里需要了解的是什么是驱动测试程序,什么是桩程序。如果集成组件数量众多,多关系层次,那么不论是什么类型的集成测试。驱动程序和桩程序都是需要开发的。
自顶向下需要开发桩模块 自底向下需要开发驱动模块
8.负载测试是验证要检验的系统的能力最高能达到什么程度。()Load testing(负载测试),通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。
负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。
此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。
9.测试人员要坚持原则,缺陷未修复完坚决不予通过。()
同样,这一题没有正确的答案。缺陷是否修复是需要听取测试人员的意见,但测试人员的意见非决定性。所以还是要看一个企业赋予测试人员有多大的权力。10.代码评审员一般由测试员担任。()如果测试员有这个水平,那么当然是可以参加的。不过大多数的企业不会让普通的测试人员参与代码的评审。
11.我们可以人为的使得软件不存在配置问题。()首先大家先搞清楚什么是配置管理什么是软件配置,从这道题目中看不出出题人想问的是关键工程中的配置管理还是单纯的软件配置。但是可以肯定的是不论是何种情况,答案均是否定的。
12.集成测试计划在需求分析阶段末提交。()
集成测试计划在开发人员完成软件集成计划之后就可以开始进行了。所以在需求分析阶段之后提交是不现实的事情,应该在软件的设计阶段后,编码前。
二、不定项选择题(每题2 分,10分)1.软件验收测试的合格通过准则是:()A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。B. 所有测试项没有残余一级、二级和一
C. 立项审批表、需求分析文档、设计文档和编码实现一致。D. 验收测试工件齐全。
回答这道题,你必须是这家企业的员工。前面说到了验收测试的目的和目标,一个是需求必须实现,二是证明软件是适合使用的。这样能满足这两个通用标准就可以了。当然有些软件企业会对验收测试标准做一些调整。2.软件测试计划评审会需要哪些人员参加?()A.项目经理 B.SQA 负责人 C.配置负责人 D.测试组
上面的4种角色都需要参与
3.下列关于alpha 测试的描述中正确的是:()A.alpha 测试需要用户代表参加 B.alpha 测试不需要用户代表参加 C.alpha 测试是系统测试的一种 D.alpha 测试是验收测试的一种
首先大家需要知道alpha测试是系统级别的测试,该测试是在一个受控的环境中进行的。用户需要直接参与进来。所以答案应该是AD 4.测试设计员的职责有:()A.制定测试计划 B.设计测试用例
C.设计测试过程、脚本 D.评估测试活动
合理的答案的是BC,同时要看软件企业对该类人员的职责是如何定义。5.软件实施活动的进入准则是:()A.需求工件已经被基线化 B.详细设计工件已经被基线化 C.构架工件已经被基线化 D.项目阶段成果已经被基线化 先要了解一下什么是基线。这个是软件配置管理中一个重要的概念。工作产品必须纳入到一定的基线里面。所以选择ABC是必定的,至于是否选择D要看这家企业自身的标准了
填空题(每空1分,24 分)
1.软件验收测试包括___、___、____三种类型。
软件验收测试包括正式验收测试、alpha测试、beta测试三种测试。
2.系统测试的策略有功能测试、、、、易用性测试、、、、、、、、、、等15 种方法。
《软件测试的艺术》:功能测试,容量测试,负载测试,易用性测试,安全性测试,性能测试,存储测试,配置测试,兼容性测试,安装测试,可靠性测试,可恢复性测试,适用性测试,文档测试,过程测试
3.设计系统测试计划需要参考的项目文档有____和迭代计划。设计系统测试计划需要参考的项目文档有软件测试计划、软件需求工件、和迭代计划。4.对面向过程的系统采用的集成策略有___、___两种。自顶向下,自底向上
5.通过画因果图来写测试用例的步骤为___、___、___、___及把因果图转换为状态图共五个步骤。
利用因果图生成测试用例的基本步骤是:
a 分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。b 分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系? 根据这些关系,画出因果图。c 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。d 把因果图转换成判定表。
e 把判定表的每一列拿出来作为依据,设计测试用例。
第二篇:测试工程师笔试题[范文]
以下是测试工程师笔试题,希望对大家有帮助!
一、判断题
1.软件测试的目的是尽可能多的找出软件的缺陷。(Y)
2.Beta 测试是验收测试的一种。(Y)
3.验收测试是由最终用户来实施的。(N)
4.项目立项前测试人员不需要提交任何工件。(Y)
5.单元测试能发现约80%的软件缺陷。(Y)
6.代码评审是检查源代码是否达到模块设计的要求。(N)
7.自底向上集成需要测试员编写驱动程序。(Y)
8.负载测试是验证要检验的系统的能力最高能达到什么程度。(N)
9.测试人员要坚持原则,缺陷未修复完坚决不予通过。(N)
10.代码评审员一般由测试员担任。(N)
11.我们可以人为的使得软件不存在配置问题。(N)
12.集成测试计划在需求分析阶段末提交。(N)
二、选折
1.软件验收测试的合格通过准则是:(ABCD)
A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B. 所有测试项没有残余一级、二级和三级错误。
C. 立项审批表、需求分析文档、设计文档和编码实现一致。
D. 验收测试工件齐全。
2.软件测试计划评审会需要哪些人员参加?(ABCD)
A.项目经理
B.SQA 负责人
C.配置负责人
D.测试组
3.下列关于alpha 测试的描述中正确的是:(AD)
A.alpha 测试需要用户代表参加
B.alpha 测试不需要用户代表参加
C.alpha 测试是系统测试的一种
D.alpha 测试是验收测试的一种
4.测试设计员的职责有:(BC)
A.制定测试计划
B.设计测试用例
C.设计测试过程、脚本
D.评估测试活动
5.软件实施活动的进入准则是:(ABC)
A.需求工件已经被基线化
B.详细设计工件已经被基线化
C.构架工件已经被基线化
D.项目阶段成果已经被基线化
三、添空
1.软件验收测试包括:正式验收测试,alpha测试,beta测试。
2.系统测试的策略有:功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸
载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试,(有的可以合在一起,分开写只要
写出15就满分哦)
3.设计系统测试计划需要参考的项目文挡有:软件测试计划,软件需求工件和迭代计划。
4.对面向过程的系统采用的集成策略有:自顶向下,自底向上两种。
5.(这题出的有问题哦,详细的5步骤为~~)通过画因果图来写测试用例的步骤为:
(1)分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结
果赋予一个标识符。
(2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系? 根据这些关系,画出因果图。
(3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一
些记号标明约束或限制条件。
(4)把因果图转换成判定表。
(5)把判定表的每一列拿出来作为依据,设计测试用例。
第三篇:软件测试技术笔试题及答案(精)
1.软件测试的目的是尽可能多的找出软件的缺陷。(Y 2.Beta测试是验收测试的一种。(Y 验收测试(Acceptance testing是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。.验收测试是由最终用户来实施的。(N 由测试人员来实施的.项目立项前测试人员不需要提交任何工件。(Y 工件:加工过程中生产对象 5.单元测试能发现约80% 的软件缺陷。(Y 6.代码评审是检查源代码是否达到模块设计的要求。(N 代码评审也称代码复查,是指通过阅读代码来检查源代码与编码标准的符合性以及代码质量的活动。.自底向上集成需要测试员编写驱动程序。(Y 自顶向下综合测试的具体步骤为: 1 以主控模块作为测试驱动模块,把对主控模块进行单元测试时引入的所有桩模块用实际模块替代;2 依据所选的集成策略(深度优先或广度优先,每次只替代一个桩模块;3 每集成一个模块立即测试一遍;4 只有每组测试完成后,才着手替换下一个桩模块;为避免引入新错误,须不断地进行回归测试(即全部或部分地重复已做过的测试。
自底向上综合测试的步骤分为: 1 把低层模块组织成实现某个子功能的模块群(cluster;2 开发一个测试驱动模块,控制测试数据的输入和测试结果的输出;3 对每个模块群进行测试;4 删除测试使用的驱动模块,用较高层模块把模块群组织成为完成更大功能的新模块群。.负载测试是验证要检验的系统的能力最高能达到什么程度。(N 负载测试(Load testing,通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征。例如,响应时间、事务处理速率和其他与时间相关的方面。.测试人员要坚持原则,缺陷未修复完坚决不予通过。(N 10.代码评审员一般由测试员担任。(N 11.我们可以人为的使得软件不存在配置问题。(N 是一种标识、组织和控制修改的技术。软件配置管理应用于整个软件工程过程。我们知道,在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。.集成测试计划在需求分析阶段末提交。(N
执行阶段
1时间安排单元测试已经完成后就可以开始执行集成测试了
2输入需求规格说明书概要设计集成测试计划集成高度设计集成测试例集成测试规程集成测试代码(如果有集成测试脚本集成测试工具详细设计代码单元测试报告
3入口条件单元测试阶段已经通过基线化评审
4活动步骤执行集成测试用例回归集成测试用例撰写集成测试报告 5输出集成测试报告
6出口条件集成测试报告通过集成测试阶段基线评审
二、选择题.软件验收测试的合格通过准则是:(ABCD A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B.所有测试项没有残余一级、二级和三级错误。
C.立项审批表、需求分析文档、设计文档和编码实现一致。D.验收测试工件齐全。.软件测试计划评审会需要哪些人员参加?(ABCD A.项目经理 B.SQA 负责人
软件质量保证(SQA是建立一套有计划
目标 1: 软件质量保证工作是有计划进行的。
目标 2: 客观地验证软件项目产品和工作是否遵循恰当的标准、步骤和需求。目标 3: 将软件质量保证工作及结果通知给相关组别和个人。目标 4: 高级管理层接触到在项目内部不能解决的不符合类问题。C.配置负责人 D.测试组.下列关于alpha测试的描述中正确的是:(AD A.alpha测试需要用户代表参加 B.alpha测试不需要用户代表参加 C.alpha测试是系统测试的一种 D.alpha测试是验收测试的一种 4.测试设计员的职责有:(BC A.制定测试计划 B.设计测试用例 C.设计测试过程、脚本 D.评估测试活动.软件实施活动的进入准则是:(ABC A.需求工件已经被基线化 工件加工过程中的生产对象。
基线化一个文档如果经过讨论被通过了,被固定了,就可以说这个文档被“基线化”
了,然后所有人就可以在这个“基线”的基础上工作。B.详细设计工件已经被基线化 C.构架工件已经被基线化 D.项目阶段成果已经被基线化
三、添空
1.软件验收测试包括:正式验收测试,alpha测试,beta测试。
2.系统测试的策略有:功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度
测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测 试,容量测试,兼容性测试,分布测试,可用性测试(有的可以合在一起,分开写只要写出15 就满分哦
3.设计系统测试计划需要参考的项目文挡有:_软件测试计划,软件需求工件和迭代计划。
4.对面向过程的系统采用的集成策略有:自顶向下,自底向上两种。5.通过画因果图来写测试用例的步骤为:(1根据程序规格说明书描述,分析并确定因(输入条件和果(输出结果或程序状态的
改变,画出因果图。
(2将得到的因果图转换为判定表。
(3为判定表中每一列所表示的情况设计一个测试用例。
四、简答
1.区别阶段评审的与同行评审
答:同行评审目的:发现小规模工作产品的错误,只要是找错误;阶段评审目的:评审模块阶段作品的正确性可行性及完整性
同行评审人数:3-7人人员必须经过同行评审会议的培训,由SQA指导 阶段评审人数:5人左右评审人必须是专家具有系统评审资格 同行评审内容:内容小一般文档 < 40页, 代码 < 500行 阶段评审内容: 内容多,主要看重点 同行评审时间:一小部分工作产品完成
阶段评审时间: 通常是设置在关键路径的时间点上!2.什么是软件测试
答:测试是为发现错误而执行程序的过程
软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。简述集成测试的过程
答:系统集成测试主要包括以下过程:1.构建的确认过程。2.补丁的确认过程。3.系统集成测试测试组提交过程。4.测试用例设计过程。5.测试代码编写过程。6.Bug的报告过程。7.每周/每两周的构建过程。8.点对点的测试过程。9.组内培训过程。白盒测试有几种方法
答:总体上分为静态方法和动态方法两大类。
静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义。动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。系统测试计划是否需要同行审批,为什么
答:需要,系统测试计划属于项目阶段性关键文档,因此需要评审。7Alpha 测试与beta 的区别
Alpha测试(α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。Alpha测试发现的错误,可以在测试现场立刻反馈给开发人员,由开发人员及时分析和处理。目的是评价软件产品的功能、可使用性、可靠性、性能和支持。尤其注重产品的界面和特色。Alpha 测试可以从软件产品编码结束之后开始,或在模块(子系统测试完成后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。有关的手册(草稿等应该在Alpha测试前准备好。
Beta测试(β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。因而,Beta测试是在开发者无法控制的环境下进行的软件现场应用。在Beta测试中,由用户记下遇到的所有问题,包括真实的以及主管认定的,定期向开发者报告,开发者在综合用户的报告后,做出修改,最后将软件产品交付给全体用户使用。Beta测试着重于产品的支持性,包括文档、客户培训和支持产品的生产能力。只有当Alpha测试达到一定的可靠程度后,才能开始Beta测试。由于Beta测试的主要目标是测试可支持性,所以Beta测试应该尽可能由主持产品发行的人员来管理。
答:Alpha 测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。
Beta 测试当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。比较负载测试,容量测试和强度测试的区别
答:负载测试:在一定的工作负荷下,系统的负荷及响应时间。
强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。
容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等,系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。容量测试的目的是使系统承受超额的数据容量来发现它是否能够正确处理。容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。测试结束的标准是什么? 答:用例全部测试。覆盖率达到标准。缺陷率达到标准。其他指标达到质量标准。描述软件测试活动的生命周期?
答:测试周期分为计划、设计、实现、执行、总结。其中: 计划:对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源,安排进度等;设计:完成测试方案,从技术层面上对测试进行规划;实现:进行测试用例和测试规程设计;执行:根据前期完成的计划、方案、用例、规程等文档,执行测试用例。总结:记录测试结果,进行测试分析,完成测试报告。11 软件的缺陷等级应如何划分? A类:严重错误,包括以下各种错误: 1.由于程序所引起的死机, 非法退出 2.死循环.数据库发生死锁.因错误操作导致的程序中断 5.功能错误 . 与数据库连接错误 7 . 数据通讯错误 B 类:较严重错误,包括以下各种错误: 1 . 程序错误 2 . 程序接口错误 3 . 数据库的表、业务规则、缺省值未加完整性等约束条件 C 类:般性错误,包括以下各种错误: 1 . 操作界面错误(包括数据窗口内列名定义、含义是否一致)2 . 打印内容、格式错误 3 . 简单的输入限制未放在前台进行控制 4 . 删除操作未给出提示 5 . 数据库表中有过多的空字段 D 类:较小错误,包括以下各种错误: 1 . 界面不规范 2 . 辅助说明描述不清楚 3 . 输入输出不规范 4 . 长操作未给用户提示 5 . 提示窗口文字未采用行业
术语 6 . 可输入区域和只读区域没有明显的区分标志 E 类:测试建议 4 怎么做好文档测试 仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。检查文档的编写是否满足文档编写的目的 内容是否齐全,正确 内容是否完善 标记是否正确
第四篇:软件测试工程师笔试题
软件测试工程师笔试题一及答案
一、基础理论
1、软件测试的结束标准是什么?
2、一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。
3、什么是缺陷报告?
4、缺陷报告的作用
5、缺陷报告的要点
6、软件测试缺陷报告的“5C”原则
7、缺陷的二八定理
8、软件测试的流程
9、测试计划的目的是什么?测试计划的内容都包括什么?其中哪些是最重要的?
10、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
11、Alpha 测试与beta 测试的区别
答案:
一、基础理论
1、测试计划中所有规定的测试内容和回归测试都已经运行完成或根据上级主管对测试结果的意见,就可以结束本次测试
2、计划阶段、设计阶段、白盒单元、白盒集成、黑盒单元、黑盒集成、系统测试、回归测试、验收测试
一套完整的测试应该由五个阶段组成:
1)测试计划首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准。以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。
2)测试设计将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响测试结果的有效性)。
3)测试开发建立可重复使用的自动测试过程。
4)测试执行执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理,测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。
5)测试评估结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。
3、缺陷报告是描述软件缺陷现象和重现步骤地集合。软件缺陷报告Software Bug Report(SBR)或软件问题报告Software Problem Report(SPR)
4、缺陷报告是软件测试人员的工作成果之一,体现软件测试的价值
缺陷报告可以把软件存在的缺陷准确的描述出来,便于开发人员修正
缺陷报告可以反映项目/产品当前的质量状态,便于项目整体进度和质量控制
软件测试缺陷报告是软件测试的输出成果之一,可以衡量测试人员的工作能力
5、标题(Title)
简洁、准确、完整、反映缺陷本质、方便查询
前缀 + 标题正文,标题正文采用结果和动作,或者现象和位置的方式表达
步骤(Steps)
可复现、完整、简洁、准确
按数字编号
实际结果(Actual results)
准确、详细描述软件的现象和特征
期望结果(Expected results)
准确、丰富、有理有据
平台(Platforms)
准确
截图(Screenshots)
准确反映缺陷特征
注释(Notes)
关于缺陷的辅助说明
6、内容准确(Correct):
每个组成部分的描述准确,不会引起误解
步骤简洁(Concise):
只包含必不可少的信息,不包括任何多余的内容
内容清晰(Clear):
每个组成部分的描述清晰,易于理解
结构完整(Complete):
包含复现该缺陷的完整步骤和其他本质信息
风格一致(Consistent):
按照一致的格式书写全部缺陷报告
7、在分析、设计、实现阶段的复审和测试工作能够发现和避免80%的缺陷,而系统测试又能找出其余缺陷中的80%,最后的4%的缺陷可能只有在用户大范围、长时间使用后才会暴露出来。
8、制订测试计划、设计测试用例、实施测试、提交缺陷报告、测试总结。
9、测试计划的目的:编写软件测试计划的目的是指导测试组成员进行工作和让测试组以外的项目成员了解测试工作的。
测试计划的内容:测试目的和测试项目简介、测试参考文档和测试提交文档、术语和定义、测试策略、确定测试内容、资源、测试进度、测试员的职责与任务分配、项目通过或失败的标准、暂
停和重新启动测试的标准、风险和问题等。
最重要的:测试策略、确定测试内容、资源、测试进度、测试员的职责与任务分配、项目通过或失败的标准
10、黑盒测试:把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。
白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。
单元测试:白盒测试的一种,对软件设计中的单元模块进行测试。
集成测试:在单元测试的基础上,对单元模块之间的连接和组装w进行测试。
系统测试:在所有都考虑的情况下,对系统进行测试。
验收测试:第三方进行的确认软件满足需求的测试。
第五篇:PHP笔试题+答案
程序开发 卷1
PHP程序员考题
考试说明:
1、试卷总分为100分。
2、本次考试时间为120分钟。
一、逻辑推理题(9分,每题3分)
1.Jack夫妇请了Tom夫妇和Henrry夫妇来他们家玩扑克。这种扑克游戏有一种规则,夫妇两个不能一组。Jack跟Lily一组,Tom的队友是Henrry的妻子,Linda的丈夫和Sara一组。那么这三对夫妇分别为:(B)A. Jack—Sara,Tom—linda,Henrry—Lily B. Jack—Sara,Tom—Lily,Henrry—linda C. Jack—linda,Tom—Lily,Henrry—Sara D. Jack—Lily,Tom—Sara,Henrry—linda
2.有17根11.1米长的钢管,要截成1.0米和0.7米的甲、乙两种长度的管子,要求截成的甲、乙两种管子的数量一样多。问:最多能截出甲、乙两种管子各多少根?(C)A.99 B.105 C.111 D.121
3.一个水库在年降水量不变的情况下,能够维持全市12万人20年得用水量。在该市新迁入3万人之后,该水库只够维持15年得用水量。市政府号召节约用水,希望能将水库的使用寿命提高到30年。那么该市市民平均需要节约多少比例的水才能实现政府制定的目标?(A)A.2/5 B.2/7 C.1/3 D.1/4
二、PHP语言题(36分,每题3分)
1.语句for($k=0;$k=1;$k++);和语句for($k=0;$k==1;$k++);执行的次数分别是(3分): A 无限和0 B 0和无限 C 都是无限 D 都是0 参考答案:A
2.读取post方法传递的表单元素值的方法是(3分): A $_post[“名称”] B $_POST[“名称”] C $post[“名称”] D $POST[“名称”] 参考答案:B
3.下面哪个函数可以打开一个文件,以对文件进行读和写操作?(3分)A fget()
程序开发 卷1
B file_open()C fopen()D open_file()参考答案:C
4.下面哪个选项没有将 john 添加到users 数组中?(3分)(a)$users[] = ‘john’;(b)array_add($users,’john’);(c)array_push($users,‘john’);(d)$users ||= ‘john’;参考答案:B
5.PHP是一种______脚本语言,基于______引擎。PHP最常被用来开发动态的______内容,此外,它同样还可被用来生成______(以及其他)文档。(3分)A.动态,PHP,数据库,HTML B.嵌入式,Zend,HTML,XML C.基于Perl的,PHP,Web,静态 D.嵌入式,Zend,Docbook文档,MySQL E.基于Zend的,PHP,图像,HTML 参考答案:B
6.函数的形参与实参之间的数值传递方式有哪些?如何传递?(5分)
答:(1)按值传递方式,将实参的值复制到对应的形参中,在函数内部的操作针对形参进行,操作的结果不会影响到实参,即函数返回值,实参的值不会改变。
(2)按引用传递方式,按引用传递方式就是引用将实参的内存地址传递到形参中,这时在函数内部的所有的操作都会影响到实参的值,返回后实参的值会发生变化,引用传递方式就是传递时在原基础上加&号即可。
(3)默认函数(可选参数)。可选参数指定某个参数为可选参数,将可选参数放在参数引表末尾,并且指定其默认值为空。
7.定义:$str=”a1b2c3”,请写出下面两种匹配的结果以及解释一下两者的区别。(5分)preg_match(‘/[w]*[d]+/i’),$str,$ary);echo $ary[0];preg_match(‘/[w]*?[d]+/i’,$str,$ary);echo $ary[0];参考答案:第一个输出为a1b2c3,第二个输出为a1。
区别主要是[w]*,后面有没有跟问号,PHP的正则匹配模式默认为贪婪模式,即第一个模式,表示*取尽量多的匹配字符,第二个加了个限定符?,为非贪婪(或懒惰模式),表示*取尽量少的匹配字符。(能写出贪婪和懒惰的区别,正则表达式已经没大问题了。)
8.session和cookies 有什么区别?如果浏览器禁用了cookies,session还可以使用吗?为什么?(5分)
参考答案:cookies存储在客户端,session存储在服务端。浏览器禁用了cookies,session也不可以使用,因为sesession是需要客户端发送一个sessionid到服务端,禁用了cookies,客户端就不能保存此sessionid,session也失效了。(session是常用的,考察使用的熟悉程度)
程序开发 卷1
9.PHP二进制数据流是处理是用什么函数的?(4分)参考答案:pack和unpack。(与服务端通信用到的解析方法)
10.求两个日期的差数,例如2009-3-1 ~ 2009-4-4 的日期差数?(4分)答:(strtotime(‘2009-4-4’)-strtotime(‘2009-3-1’))/3600*24
三、Linux操作题(20分,每题5分)1.请尽量写出你熟悉的linux文件操作命令及其作用。
参考答案:自由发挥.基本的文件操作命令rm(移除),mv(移动),cp(复制),chmod(改权限),pwd(查看当前路径),mkdir(创建目录)ls(列举当前目录)2.3.4.简述linux下,rsync同步命令怎么实现无需输入密码数据同步?(5分)
参考答案:在机器1上生成公钥私钥对,将生成的公钥复制至机器2,加入到~/.ssh/id_dsa.pub。即可实现无密码同步。(同步没问题了)
四、综合问答题(35分,每题5分)1.LAMP,LNMP分别指什么?
参考答案:LAMP:linux,apache,mysql,php LNMP:linux,nginx,mysql,php Linux文本编辑器vim(vi)命令行模式下有:q,:w, /word ,?word表示什么? 参考答案::q退出,:w保存,/word往下查找,?word往上查找.(熟悉linux编辑)linux怎么添加定时任务? 参考答案:crontab –e
2.11.请使用伪语言结合数据结构冒泡排序法对以下一组数据进行排序 10 2 36 14 10 25 23 85 99 45。
答:
$str=’10 2 36 14 10 25 23 85 99 45′;$arr=explode(‘ ‘,$str);$count=count($arr);for($i=0;$i<$count;$i++){ for($j=$i+1;$j<$count;$j++){ if($arr[$j]<$arr[$i]){ $temp=$arr[$i];$arr[$i]=$arr[$j];$arr[$j]=$temp;} } } $str1=implode(‘ ‘,$arr);echo$str1;
3.简述mysql中union all,left join的用法。
程序开发 卷1
参考答案:Union all将两次或多次查询的结果合并。
Left join从左表那里返回所有的行,即使在右表中没有匹配的行。(这两个能记住,mysql也比较熟了)
4.Mysql 优化有什么方法?
参考答案:简单点的就是程序员写高质量的sql语句,数据库设计优秀,按需要建立索引(重点)。深入点的,优化mysql配置。
5.一个表中的Id有多个记录,把所有这个id的记录查出来,并显示共有多少条记录数,用SQL语句及视图、存储过程分别实现。
create procedure proc_countNum(in columnId int,out rowsNo int)begin select count(*)into rowsNo from member where member_id=columnId;end call proc_countNum(1,@no);select @no;方法:视图:
create view v_countNum as select member_id,count(*)as countNum from member group by member_id select countNum from v_countNum where member_id=1
6.请举例说明在你的开发过程中用什么方法来加快页面的加载速度
参考答案:自由发挥题,言之有理即可(如:要用到服务器资源时才打开,及时关闭服务器资源,数据库添加索引,页面可生成静态,图片等大文件单独服务器。使用代码优化工具)。
7.对于大流量的网站,您采用什么样的方法来解决访问量问题? 参考答案:确认服务器硬件是否足够支持当前的流量,数据库读写分离,优化数据表,控制大文件的下载,使用不同主机分流主要流量确认服务器硬件是否足够支持当前的流量,数据库读写分离,优化数据表,程序功能规则,禁止外部的盗链,控制大文件的下载,使用不同主机分流主要流量。