软件测试工程师笔试题有答案
东软软件测试工程师20套笔试题及参考答案
东软软件测试工程师20套笔试题及参考答案问题:东软软件测试工程师20套笔试题及参考答案-测试基础(1)回答:试述软件的概念和特点?软件复用的含义?构件包括哪些?瀑布模型和螺旋模型的主要区别是什么?软件生存周期及其模型是什么?什么是软件测试?软件测试的目的与原则净室软件工程的策略是什么?软件配置管理的作用?软件配置包括什么?什么是软件质量?软件包是什么?目前主要的测试用例设计方法是什么?软件的安全性应从哪几个方面去测试?参考答案:答案如下:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、文档的完整集合。
软件复用(Software Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。
软件复用是提高软件生产力和质量的一种重要技术。
早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。
可以被复用的软件成分一般称作可复用构件答案如下:参照TP书上第六章45/46页的讲解,参考一下书上的说法进行对比即可。
考虑弹性、风险、成本,等几个方面。
答案如下:软件生存周期是软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。
在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。
这样的一个过程,称为生命周期模型(Life Cycle Model)。
答案如下:使用人工或自动手段,来运行或测试某个系统的过程。
其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
软件测试的目的:测试是程序的执行过程,目的在于发现错误一个成功的测试用例在于发现至今未发现的错误一个成功的测试是发现了至今未发现的错误的测试确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明。
软件测试工程师笔试题以及答案汇总
一、判断题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.项目阶段成果已经被基线化6、为保证测试活动的可控性,必须在软件测试过程中进行软件测试配置管理,一般来说,软件测试配置管理中最基本的活动包括_A_____A.配置项标识、配置项控制、配置状态报告、配置审计B.配置基线确立、配置项控制、配置报告、配置审计C.配置项标识、配置项变更、配置审计、配置跟踪D.配置项标识、配置项控制、配置状态报告、配置跟踪7、__B____方法根据输出对输入的依赖关系设计测试用例。
测试工程师招聘笔试题与参考答案(某大型央企)2025年
2025年招聘测试工程师笔试题与参考答案(某大型央企)(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个软件测试方法主要用于检测软件的可用性和用户体验?A、单元测试B、集成测试C、系统测试D、验收测试2、在软件测试过程中,以下哪个阶段通常由用户或客户参与?A、测试设计B、测试执行C、测试报告D、测试计划3、题干:以下哪个选项不属于软件测试的生命周期阶段?A、需求分析B、设计测试用例C、执行测试D、测试报告编写4、题干:在黑盒测试中,以下哪种测试方法不涉及对软件内部结构的测试?A、等价类划分B、边界值分析C、错误推测D、代码审查5、在软件测试过程中,以下哪种缺陷分类属于静态测试?A. 功能缺陷B. 性能缺陷C. 界面缺陷D. 逻辑缺陷6、以下关于软件测试用例设计方法的描述,错误的是:A. 黑盒测试用例设计方法包括等价类划分法、边界值分析法等。
B. 白盒测试用例设计方法包括路径覆盖法、语句覆盖法等。
C. 测试用例设计应该尽可能覆盖更多的代码路径。
D. 测试用例设计过程中,可以忽略边界值和异常值。
7、在测试过程中,以下哪项不是测试用例设计的关键要素?A、测试输入B、测试预期结果C、测试执行时间D、测试优先级8、以下关于自动化测试的优点,哪项是不正确的?A、提高测试效率B、减少人工干预C、保证测试覆盖率D、降低测试成本9、某大型央企在进行软件测试时,采用了以下哪些测试方法?(多选)A. 单元测试B. 集成测试C. 系统测试D. 验收测试E. 性能测试 10、在测试过程中,以下哪项属于静态测试?()A. 功能测试B. 性能测试C. 等价类划分D. 代码审查二、多项选择题(本大题有10小题,每小题4分,共40分)1、题干:以下哪些技术或工具是测试工程师在自动化测试过程中常用的?()A、SeleniumB、JMeterC、PostmanD、CucumberE、Git2、题干:以下哪些测试类型属于性能测试的范畴?()A、功能测试B、压力测试C、负载测试D、回归测试E、稳定性测试3、以下哪些是测试工程师常用的测试工具?()A、JMeterB、SeleniumC、LoadRunnerD、PostmanE、SQL Server Management Studio4、以下哪些属于软件测试的生命周期?()A、需求分析B、测试计划C、测试设计D、测试执行E、测试报告5、在软件测试过程中,下列哪些阶段需要制定测试计划?A. 需求分析阶段B. 设计阶段C. 编码阶段D. 测试阶段E. 上线后维护阶段6、下列哪些是黑盒测试的优点?A. 可以发现界面错误B. 不需要了解内部逻辑结构C. 可以验证程序是否符合用户需求D. 能够测试程序内部结构是否正确E. 容易编写自动化测试脚本7、以下哪些技术或工具是测试工程师在自动化测试中常用的?()A. SeleniumB. JMeterC. PostmanD. AppiumE. Jenkins8、以下哪些是软件测试的生命周期阶段?()A. 需求分析B. 设计C. 编码D. 测试E. 维护9、以下哪些工具或技术通常用于自动化测试?()A. SeleniumB. AppiumC. JMeterD. PostmanE. JUnit 10、以下哪些测试方法属于黑盒测试?()A. 回归测试B. 等价类划分C. 冒烟测试D. 灰盒测试E. 负载测试三、判断题(本大题有10小题,每小题2分,共20分)1、在软件测试过程中,发现的缺陷越多,说明软件中遗留的缺陷越少。
测试工程师招聘笔试题与参考答案(某世界500强集团)
招聘测试工程师笔试题与参考答案(某世界500强集团)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个不是测试工程师常用的软件测试方法?()A、黑盒测试B、白盒测试C、灰盒测试D、灰盒审查答案:D解析:测试工程师常用的软件测试方法包括黑盒测试、白盒测试和灰盒测试。
灰盒审查并不是一个标准的软件测试方法,它通常指的是一种介于黑盒测试和白盒测试之间的测试方法,但并不是一个独立的测试方法名称。
因此,选项D是正确答案。
2、在软件测试中,以下哪种缺陷通常是由外部因素引起的?()A、输入错误B、内存泄漏C、性能瓶颈D、外部接口错误答案:D解析:输入错误通常是由用户操作不当引起的,内存泄漏和性能瓶颈通常是由程序设计或实现问题引起的。
而外部接口错误则是由外部系统或接口引起的,比如与外部服务通信时的问题。
因此,选项D是正确答案。
3、以下哪种方法不属于白盒测试的分类?A、静态测试B、动态测试C、灰盒测试D、黑盒测试答案:D解析:黑盒测试属于黑盒测试的范畴,而白盒测试则关注于代码内部结构。
白盒测试的方法主要包括静态测试、动态测试和灰盒测试。
黑盒测试主要关注软件的功能实现,而不关心其内部实现细节。
因此,选项D不属于白盒测试的分类。
4、在软件测试过程中,以下哪个阶段最容易出现回归测试?A、需求分析阶段B、设计阶段C、编码阶段D、测试阶段答案:D解析:回归测试是在软件修改或添加新功能后,为了验证原有功能仍然正常工作而进行的测试。
在软件开发的测试阶段,特别是修改或添加新功能后,最容易出现回归测试,因为此时需要确保软件的整体稳定性和功能正确性。
因此,选项D是正确答案。
其他选项阶段相对较少涉及对原有功能的验证。
5、以下关于软件测试的生命周期,哪个阶段是确定测试需求和设计测试用例的阶段?A. 测试计划阶段B. 测试需求分析阶段C. 测试执行阶段D. 测试评估阶段答案:B解析:测试需求分析阶段是软件测试生命周期中的一个重要阶段,主要是确定测试需求,即明确哪些功能需要测试,哪些不需要测试,并在此基础上设计相应的测试用例。
软件测试笔试题及答案
一、选择题1.软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,其子特性(C)是指在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力。
A.成熟性; B.易恢复性;C.容错性; D.可靠性依从性2.关于软件质量的描述,正确的是__B____A.软件质量是指软件满足规定用户需求的能力;B.软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护性、可移植性;C.软件质量保证过程就是软件测试过程;D.以上描述都不对3.____B__方法根据输出对输入的依赖关系设计测试用例。
A.路径测试B.等价类 C.因果图D.边界值4.下列关于软件验收测试的合格通过准则错误的是:___C___A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求;B.所有测试项没有残余一级、二级和三级错误;C.立项审批表、需求分析文档、设计文档和编码实现不一致;D.验收测试工件齐全5.测试设计员的职责有:___B___①制定测试计划②设计测试用例③设计测试过程、脚本④评估测试活动A.①④B.②③ C.①③D.以上全是6.对于业务流清晰的系统可以利用D场景法贯穿整个测试用例设计过程广在用例中综合使用各种测试方法,对于参数配置类的软件,要用C正交试验法选择较少的组合方式达到最佳效果,如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用B因果图法和判定表驱动法A.等价类划分B.因果图法C.正交试验法D.场景法、7.下列软件实施活动的进入准则描述错误的是:__D____A.需求工件已经被基线化B.详细设计工件已经被基线化C.构架工件已经被基线化D.项目阶段成果已经被基线化8.正式的技术评审FTR(Formal Technical Review)是软件工程师组织的软件质量保证活动,下面关于FTR指导原则中错误的是__C____A.评审产品,而不是评审生产者的能力B.要有严格的评审计划,并遵守日程安排C.对评审中出现的问题要充分讨论,以求彻底解决D.限制参与者人数,并要求评审会之前做好准备9.下列关于文档测试描述错误的是__A____A.文档测试主要检查文档的正确性、完备性、可理解性、可操作性和易维护性;B.正确性是指不要把软件的功能和操作写错,也不允许文档内容前后矛盾;C.完备性是指文档不可以“虎头蛇尾”,更不许漏掉关键内容。
软件测试工程师笔试题目和答案
一、判断题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.设计系统测试计划需要参考的项目文挡有:软件测试计划,软件需求工件和迭代计划。
软件测试带答案的笔试试题
软件测试带答案的笔试试题软件测试笔试试题(包括答案)一、判断题(每题2分,20分)1.软件测试的目的是验证软件功能是否正确实现,设定的目标是否完成。
因此,软件测试的具体工作只是在软件工程的后期才开始。
(小学)()2.发现有很多错误的模块,模块中还剩下很多错误。
()(初级)3.测试人员在测试过程中发现了一个问题。
如果问题影响不大,可以自己修改,他应该立即纠正问题,以加快和改进开发过程。
()(初级)4.对于单元测试,首先要进行“手动走查”,然后以白盒法为主,黑盒法为辅进行动态测试。
()(中级)5.功能测试是系统测试的主要内容。
检查系统的功能和性能是否与要求和规范相同。
()(中级)6.软件质量管理,即QM由QA和QC组成,软件测试是QC的核心工作。
()(高级)7.软件测试只能发现错误,但不能保证被测软件没有错误。
()8.软件是一个程序。
(十)9.只要测试涵盖语句和分支,就能发现程序中的所有错误。
(十)10.I18N测试是指对产品做国际规划,L10N测试是指对软件做符合当地要求的改动。
()[高级]二、选择题(每题2分20分)1.软件质量管理的重要性包括:(ABCD)[中级]一、维护和降本二、法律要求三、市场竞争需要质量标准化的趋势,软件工程的需要,CMM过程的一部分G.便于与客户进一步沟通,为以后的实施打下良好的基础。
2.测试可分为:(基础知识)[中级]a、建设性测试b、系统测试c、专项测试d、单元测试E、组件测试F和集成测试3.选择属于黑盒测试方法的“选项(基本)”。
a、测试用例覆盖B、输入覆盖C、输出覆盖D、分支覆盖E、语句覆盖F和条件覆盖4.编写测试计划的目的是:(基础知识)[中级]a、让测试工作顺利进行B、让项目参与者之间的交流更加舒适C、让测试工作更加系统化。
D.软件工程和软件过程要求e .软件过程标准化要求f .软件质量控制5.有四种依赖关系:(ABCD)[高级]a,开始-结束b,开始-开始c,结束-开始d、结束-结束e、开始-实施-结束f、结束-审查-开始6.软件质量管理应该包括质量保证和质量控制。
软件测试笔试题及答案
一、选择题1. 软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,其子特性(C)是指在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力。
A.成熟性;B.易恢复性;C.容错性;D.可靠性依从性2. 关于软件质量的描述,正确的是 BA.软件质量是指软件满足规定用户需求的能力;B.软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护性、可移植性;C.软件质量保证过程就是软件测试过程;D.以上描述都不对3. B 方法根据输出对输入的依赖关系设计测试用例。
A.路径测试B.等价类C.因果图D.边界值4. 下列关于软件验收测试的合格通过准则错误的是: CA. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求;B. 所有测试项没有残余一级、二级和三级错误;C. 立项审批表、需求分析文档、设计文档和编码实现不一致;D. 验收测试工件齐全5. 测试设计员的职责有: B①制定测试计划②设计测试用例③设计测试过程、脚本④评估测试活动A.①④B.②③C.①③D.以上全是6. 对于业务流清晰的系统可以利用 D 场景法贯穿整个测试用例设计过程广在用例中综合使用各种测试方法,对于参数配置类的软件,要用C 正交试验法选择较少的组合方式达到最佳效果,如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用 B 因果图法和判定表驱动法A.等价类划分B.因果图法C.正交试验法D.场景法、7. 下列软件实施活动的进入准则描述错误的是: DA.需求工件已经被基线化B.详细设计工件已经被基线化C.构架工件已经被基线化D.项目阶段成果已经被基线化8. 正式的技术评审FTR(Formal Technical Review) 是软件工程师组织的软件质量保证活动,下面关于FTR 指导原则中错误的是 CA.评审产品,而不是评审生产者的能力B.要有严格的评审计划,并遵守日程安排C.对评审中出现的问题要充分讨论,以求彻底解决D.限制参与者人数,并要求评审会之前做好准备9. 下列关于文档测试描述错误的是 AA. 文档测试主要检查文档的正确性、完备性、可理解性、可操作性和易维护性;B. 正确性是指不要把软件的功能和操作写错,也不允许文档内容前后矛盾;C.完备性是指文档不可以“虎头蛇尾”,更不许漏掉关键内容。
软件测试工程师笔试题及参考答案
姓名:_________性别:____ 笔试日期200_年__月__日是否应届/软件测试工作年限_____ 联系电话:_______________ 电子邮箱:________________ 期望待遇:_______________ 1、什么是软件测试?2’2、软件测试与软件质量保证的区别。
10’3、报告软件缺陷时,测试人员要对软件缺陷分类,以简明扼要的方式指出其影响,以及修改的优先次序。
请描述如何划分缺陷与错误严重性和优先级别?10’4、BUG信息应该包含那些内容。
5’5、测试用例说明应该包含哪些内容?测试用例计划包含哪些目标?10’6、WEB应用软件测试必须进行哪些类型测试,请列出每种类型的测试要点。
15’7、网络应用测试的主要内容是什么?10’8、用户文档测试应该注意哪些要点?10’9、在DBMS中,视图的作用是什么?写出建立视图的命令格式(如建立信息系学生的视图)10’10、请列举您认为身为测试人员应具备的能力和技术。
8’参考答案1、什么是软件测试?2’【要点】在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成过程的文档、数据以及程序进行测试。
【详解】软件测试就是在软件投入运行前对软件需求分析、软件设计规格说明书和软件编码进行查错(包括代码执行活动与人工活动)。
也可以说,软件测试是为了发现错误而执行程序的过程。
或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部构造而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误,这是在软件投入前,对软件需求分析、软件设计规格说明书和软件编码的最终复审,是软件质量保障的关键步骤。
1、软件测试与软件质量保证的区别。
10’【要点】软件测试只是质量保证工作中的一个环节,软件质量保证与软件测试是软件质量工程的两个不同层面的工作;质量保证:通过预防、检查与改进来保证软件质量,采用全面质量管理和过程改进的原理来开展质量保证工作,主要关注软件质量的检查与测试,主要着眼于软件开发活动的过程、步骤和产物。
软件测试工程师笔试题以及答案汇总
以下是收集的最新的软件测试工程师题目,希望对大家有帮助;一、判断题1.软件测试的目的是尽可能多的找出软件的缺陷;Y2.Beta测试是验收测试的一种;Y3.验收测试是由最终用户来实施的;N4.项目立项前测试人员不需要提交任何工件;Y5.单元测试能发现约80%的软件缺陷;Y6.代码评审是检查源代码是否达到模块设计的要求;N7.自底向上集成需要测试员编写驱动程序;Y8.负载测试是验证要检验的系统的能力最高能达到什么程度;N9.测试人员要坚持原则,缺陷未修复完坚决不予通过;N10.代码评审员一般由测试员担任;N11.我们可以人为的使得软件不存在配置问题;N12.集成测试计划在需求分析阶段末提交;N二、选择题1.软件验收测试的合格通过准则是:ABCDA.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求; B.所有测试项没有残余一级、二级和三级错误;C.立项审批表、需求分析文档、设计文档和编码实现一致;D.验收测试工件齐全;2.软件测试计划评审会需要哪些人员参加 ABCDA.项目经理B.SQA负责人C.配置负责人D.测试组3.下列关于alpha测试的描述中正确的是:ADA.alpha测试需要用户代表参加B.alpha测试不需要用户代表参加C.alpha测试是系统测试的一种D.alpha测试是验收测试的一种4.测试设计员的职责有:BCA.制定测试计划B.设计测试用例C.设计测试过程、脚本D.评估测试活动5.软件实施活动的进入准则是:ABCA.需求工件已经被基线化B.详细设计工件已经被基线化C.构架工件已经被基线化D.项目阶段成果已经被基线化6、为保证测试活动的可控性,必须在软件测试过程中进行软件测试配置管理,一般来说,软件测试配置管理中最基本的活动包括_A_____A.配置项标识、配置项控制、配置状态报告、配置审计B.配置基线确立、配置项控制、配置报告、配置审计C.配置项标识、配置项变更、配置审计、配置跟踪D.配置项标识、配置项控制、配置状态报告、配置跟踪7、__B____方法根据输出对输入的依赖关系设计测试用例;A.路径测试B.等价类 C.因果图D.边界值8、在C++语言中,若类C中定义了一个方法int fint a,int b,那么方法___A___不能与该方法同时存在于类C中A.int fint x,int y B.int ffloat a,int bC.float fint x,float y D.int fint x,float y9、下列关于软件验收测试的合格通过准则错误的是:__C____A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求;B.所有测试项没有残余一级、二级和三级错误;C.立项审批表、需求分析文档、设计文档和编码实现不一致;D.验收测试工件齐全三、填空题1.软件验收测试包括:正式验收测试,alpha测试,beta测试;2.系统测试的策略有:功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试,有的可以合在一起,分开写只要写出15就满分哦3.设计系统测试计划需要参考的项目文挡有:软件测试计划,软件需求工件和迭代计划;4.对面向过程的系统采用的集成策略有:自顶向下,自底向上两种;5.通过画因果图来写测试用例的步骤为:1分析软件规格说明描述中,哪些是原因即输入条件或输入条件的等价类,哪些是结果即输出条件,并给每个原因和结果赋予一个标识符;2分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系根据这些关系,画出因果图;3由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现;为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件;4把因果图转换成判定表;5把判定表的每一列拿出来作为依据,设计测试用例;四、简答题1.区别阶段评审的与同行评审同行评审目的:发现小规模工作产品的错误,只要是找错误;阶段评审目的:评审模块阶段作品的正确性可行性及完整性同行评审人数:3-7人人员必须经过同行评审会议的培训,由SQA指导阶段评审人数:5人左右评审人必须是专家具有系统评审资格同行评审内容:内容小一般文档< 40页,代码< 500行阶段评审内容:内容多,主要看重点同行评审时间:一小部分工作产品完成阶段评审时间:通常是设置在关键路径的时间点上2.什么是软件测试为了发现程序中的错误而执行程序的过程3简述集成测试的过程系统集成测试主要包括以下过程:1.构建的确认过程;2.补丁的确认过程;3.系统集成测试测试组提交过程;4.测试用例设计过程;5.测试代码编写过程;6. Bug的报告过程;7.每周/每两周的构建过程;8.点对点的测试过程;9.组内培训过程;4怎么做好文档测试仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例;P142检查文档的编写是否满足文档编写的目的内容是否齐全,正确内容是否完善标记是否正确5白盒测试有几种方法总体上分为静态方法和动态方法两大类;静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖;6系统测试计划是否需要同行审批,为什么需要,系统测试计划属于项目阶段性关键文档,因此需要评审;7Alpha测试与beta的区别Alpha测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更;这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成;Beta测试当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到;这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成;8比较负载测试,容量测试和强度测试的区别负载测试:在一定的工作负荷下,系统的负荷及响应时间;强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响;容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值如最大并发用户数、数据库记录数等,系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行;容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量;容量测试的目的是使系统承受超额的数据容量来发现它是否能够正确处理;容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量;9测试结束的标准是什么用例全部测试;覆盖率达到标准;缺陷率达到标准;其他指标达到质量标准10描述软件测试活动的生命周期测试周期分为计划、设计、实现、执行、总结;其中:计划:对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源,安排进度等;设计:完成测试方案,从技术层面上对测试进行规划;实现:进行测试用例和测试规程设计;执行:根据前期完成的计划、方案、用例、规程等文档,执行测试用例;总结:记录测试结果,进行测试分析,完成测试报告;11软件的缺陷等级应如何划分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.可输入区域和只读区域没有明显的区分标志E类—测试建议五、用例设计随意选取一个简单物品,假定是一个喝水的带广告图案的花纸杯,设计出尽可能多的测试用例;测试项目:杯子需求测试:查看杯子使用说明书界面测试:查看杯子外观功能度:用水杯装水看漏不漏;水能不能被喝到安全性:杯子有没有毒或细菌可性:杯子从不同高度落下的损坏程度可移植性:杯子再不同的地方、温度等环境下是否都可以正常使用兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等易用性:杯子是否烫手、是否有防滑措施、是否方便饮用用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述疲劳测试:将杯子盛上水案例一放24小时检查泄漏时间和情况;盛上汽油案例二放24小时检查泄漏时间和情况等压力测试:用根针并在针上面不断加重量,看压强多大时会穿透跌落测试: 杯子加包装有填充物,在多高的情况摔下不破损震动测试: 杯子加包装有填充物,六面震动,检查产品是否能应对恶劣的铁路\公路\航空运输测试数据:测试数据具体编写此处略;其中应用到:场景法、等价类划分法、因果图法、错误推测法、边界值法等方法期望输出:该期望输出需查阅国标、行标以及使用用户的需求说明书测试: 检查说明书书写准确性六、网络、操作系统、语言知识1请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图答:七层结构从上到下依次是:7 应用层 ;6 表示层 ;5 会话层 ;4 传输层 ;3 网络层 ;2 数据链路层 ;1 物理层五层结构是5 应用层;4 运输层;3 网络层; 2 链路层;1 物理层;2请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用 TCP与UDP呢答:UDP,TCP在传输层,IP在网络层,TCP/IP是英文Transmission Control Protocol/Internet Protocol的缩写,意思是"传输控制协议/网际协议";TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议例如T1和X.25、以太网以及RS-232串行接口之上;确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDPUser Datagram Protocol协议、ICMPInternet Control Message Protocol协议和其他一些协议的协议组;TCP/IP协议并不完全符合OSI的七层参考模型;传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务;该模型的目的是使各种硬件在相同的层次上相互通信;这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层;而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求;这4层分别为:应用层:应用程序间沟通的层,如简单电子邮件传输SMTP、文件传输协议FTP、网络远程访问协议Telnet等;传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议TCP、用户数据报协议UDP等,TCP和UDP给数据包加入传输数据并把它传输到3请问交换机和路由器分别的实现原理是什么分别在哪个层次上面实现的一般意义上说交换机是工作在数据链路层;但随着科技的发展,现在有了三层交换机,三层交换机已经扩展到了网络层;也就是说:它等于“数据链路层 + 部分网络层”;交换机中传的是帧;通过存储转发来实现的; 路由器是工作在网络层;路由器中传的是IP数据报;主要是选址和路由;4请问C++的类和C里面的STRUCT有什么区别答:除关键字不同外class,struct的唯一区别是,结构在默认情况下的成员是公共public的,而类在默认情况下的成员是私有private的;在C++中,结构是特殊的类;class是从struct发展而来的;之所以将struct和class都保留,是因为:1、提出class是为了强调一种概念;2、保留struct是为了照顾到大多数人的习惯;struct和class是有区别的;struct保证成员按照声明顺序在内存中存储;class不保证等等而它们都可以继承,实现多态等;但也有少许区别;比如:struct A { };class B : A{ }; //private继承struct C : B{ }; //public继承这是由于class默认是private,struct默认是public;一般说来,struct和class可以换用当然要注意一些语法问题;而struct更适合看成是一个数据结构的实现体,class更适合看成是一个对象的实现体,对私有成员进行保护,还提供与外界的接口;从习惯上更喜欢用class;5请讲一讲析构函数和虚函数的用法和作用答:置于“~”是析构函数;析构函数因使用"~"符号逻辑非运算符,表示它为腻构造函数,加上类名称来定义;;析构函数也是特殊的类成员函数,它没有返回类型,没有参数,不能随意调用,也没有重载,只有在类对象的生命期结束的时候,由系统自动调用;有适放内存空间的做用虚函数是C++多态的一种表现例如:子类继承了父类的一个函数方法,而我们把父类的指针指向子类,则必须把父类的该函数方法设为virturl虚函数;使用虚函数,我们可以灵活的进行动态绑定,当然是以一定的开销为代价;如果父类的函数方法根本没有必要或者无法实现,完全要依赖子类去实现的话,可以把此函数方法设为virturl 函数名=0我们把这样的函数方法称为纯虚函数;如果一个类包含了纯虚函数,称此类为抽象类6全局变量和局部变量有什么区别实怎么实现的操作系统和编译器是怎么知道的答:主要的区别是变量的作用范围不同;全局变量在全局范围内都有效,而局部变量只在声明此变量的作用域内有效;全局变量是属于实例的,在初始化对象的时候初始化,生命周期与该实例相同,之所以叫全局变量是因为该实例中的所有方法或属性都可以引用;局部变量是在实例方法内或static块中,生命周期从调用该方法到该方法退出,并且只有该方法能够引用之;全局变量和局部变量的区别是在存储器中位置不同,具体说,全局变量存储在数据段中,局部变量都有可能,一般来说在堆栈段7一些寄存器的题目,主要是寻址和内存管理等一些知识;答:寻址方式表示指令中操作数所在的方法称为寻址方式;8086/8088有七种基本的寻址方式:立即寻找,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址加变址寻址,相对基址加变址寻址;直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址和相对基址加变址寻址,这五种寻址方式属于存储器寻址,用于说明操作数所在存储单元的地址;由于总线接口单元BIU能根据需要自动引用段寄存器得到段值,所以这五种方式也就是确定存放操作数的存储单元有效地址EA的方法;有效地址EA是一个16位的无符号数,在利用这五种方法计算有效地址时,所得的结果认为是一个无符号数;除了这些基本的寻址方式外,还有固定寻址和I/O端口寻址等;内存管理主要包括内存的分配和回收整理等,实现内存的高效利用;Q8:8086是多少位的系统在数据总线上是怎么实现的答:16位系统,8位数据传送,通过总线控制逻辑实现数据线和地址线的分时复用.8086是Inter的16位微处理器有16根数据线和20根地址线,它既能处理16位数据,也能处理8位数据内部数据总线都是按16位设计的,单外部数据总线只有8条七、其他一、谈谈你了解的软件测试流程及工具一般测试流程:1.需求分析阶段:对业务的学习,分析需求点;2.测试计划阶段:测试组长根据SOW开始编写测试计划,其中包括人员,软件硬件资源,测试点,集成顺序,进度安排和风险识别等内容;3.测试设计阶段:测试方案一般由对需求很熟的高资深的测试工程师设计,测试方案要求根据SRS上的每个需求点设计出包括需求点简介,测试思路和详细测试方法三部分的方案;测试方案编写完成后也需要进行评审;4.测试方案阶段:主要是对测试用例和规程的设计;测试用例是根据测试方案来编写的,通过测试方案阶段,测试人员对整个系统需求有了详细的理解;这时开始编写用例才能保证用例的可执行和对需求的覆盖;测试用例需要包括测试项,用例级别,预置条件,操作步骤和预期结果;其中操作步骤和预期结果需要编写详细和明确;测试用例应该覆盖测试方案,而测试方案又覆盖了测试需求点,这样才能保证客户需求不遗漏;同样,测试用例也需要评审;5.测试执行阶段:执行测试用例,及时提交有质量的Bug和测试日报,测试报告等相关文档; 流程:需求分析→测试计划→测试设计→测试环境搭建→测试执行→测试记录→缺陷管理→软件评估→RTM.测试工具:C/S及B/S架构相关的软件产品,那么对不同操作系统,如Windows系列、unix、linux甚至苹果OS等测试环境都是必须的常用的软件测试工具分为:开源测试管理工具:Bugfree、Bugzilla、TestLink、mantis开源功能自动化测试工具:Watir、Selenium、MaxQ、WebInject开源性能自动化测试工具:Jmeter、OpenSTA、DBMonster、TPTEST、Web ApplicationLoadSimulatorTestDirector:企业级测试管理工具,也是业界第一个基于Web的测试管理系统;Quality Center:基于Web的测试管理工具,可以组织和管理应用程序测试流程的所有阶段,包括指定测试需求、计划测试、执行测试和跟踪缺陷;QuickTest Professional:用于创建功能和回归测试;LoadRunner:预测系统行为和性能的负载测试工具;二、如何发现客户端软件中的内存泄露检测内存泄漏的问题应该尽早进行,它绝不应该是系统测试时的主要目标;也就是说,检查是否存在内存泄漏,应该从编码时就要考虑,单元测试和集成测试时要重点检查;如果前期没有考虑,等到了系统测试才想起检查或者才发现泄漏,为时已晚,此时再去定位泄漏的位置,太难太难了,它可能会让你的交付日期delay不确定的时间; 最近看了一些自动错误预防AEP 的理论,我深受启发;作为测试人员的我们,从“发现错误”转变到“帮助开发人员预防错误”,这将是一个巨大的转变;所以说,下面我的答案中的第一点,我先说如何预防内存泄漏的问题,然后再讲如何发现;1 如何在开发过程中有效预防内存泄漏第一步:遵循“好”的编程规则“好”的编程规则是各位前辈经验和教训的集合,好的编程规则堪称开发者的“圣经”;遵循统一的编程规则,可以让开发新手少走好多弯路,可以让项目整体的质量维持一个起码的“质量底线”;有关内存泄漏方面的规则主要是“内存管理”方面的,举几个简单的,如下×用malloc或new申请内存之后,立即检查指针值是否为NULL防止使用指针值为NULL的内存×动态内存的申请与释放是否配对防止内存泄漏×ma lloc语句是否正确无误例如字节数是否正确类型转换是否正确×是否出现野指针,例如用free或delete释放了内存之后,忘记将指针设置为NULL... ...第二步:积极主动检测“内存泄漏”严格遵循好的编程规则,可以让程序员在代码中尽量少的引入bug,但一旦不小心引入了,怎么办这就要求我们在单元测试和集成测试中严格把关;在这个阶段,单靠程序员或者测试员通过“代码走查”的方式检查内存泄漏,客户的实践和我的经验告诉我,这将是“不切实际”的,无论效率还是时间;如果能够借助于一些专业的工具的话,情况可能就不一样了;如果你的程序是用Visual C++ 6.0开发,那么Numega的BoundsChecker将是你检测“内存泄漏”最好的选择,如果是Visual C++,可以试一下Compuware的DevPartner;如果你的程序基于Unix或者Linux平台,使用C或者C++,可以考虑一下开源的工具valgrind,我的朋友跟我说,它在一定程度上比Rational的Purify更出色;上面的工具都要求程序能够动态运行起来,而且测试用例需要你自己准备;如果你正处于单元测试或集成测试阶段,程序代码量已经足够大,而且还不能够动态运行,要尽早检测代码中的“内存泄漏”问题,该怎么办此时你可以试用一下目前最新的静态分析技术:×它不要求代码能够动态运行×也不需要你来编写测试用例×只需要代码能够正常编译,就可以发现代码只有在执行过程中才出现的错误,当然也包括内存泄漏;这方面的工具有Klocwork的K7,Coverity的SQS,以及C++test中的BugDetective,其中最“物美价廉”的就是c++test的BugDetective;2 如何发现客户端软件的“内存泄漏”如果开发过程中已经按照我上面提到的去做,相信发布后的程序存在“内存泄漏”的可能性几乎为零;如果开发过程已经到了后期,系统测试已经开始做了,还要发现内存泄漏,这个时候我希望你能够拿到源代码;如果有源代码,你还可以考虑1中的第二步,借助于专业的工具协助,虽然可能效果不一定特别理想,但总比下面我提到的方法更好一些;当然作为测试人员,我当然也理解事情总没有想像那么完美;我们通常会碰到“需要在系统测试阶段检测是否有内存泄漏,而且没有源代码”的难题;我曾经也遇到过;记得那还是2002年的事情了;当时我承接的项目是一个电力行业的自动化系统,分为server 端和client端,典型的c/s模式,老板要求在测试功能的同时顺便检查内存泄漏的问题,因为这个client端在客户那里可能是长时间不间断运行的,虽然客户很少操作;我当时很为难,因为没有源代码,我甚至无法做“代码走查”;在做功能测试的同时,我一直在琢磨...... 采用什么手段呢最后,借助于WinRunner,我出色的完成了任务,起码我的老板相信我的测试是可信的;我的方法是这样的;×首先咨询开发方,了解到关于内存操作频繁的功能点和模块×从我的功能测试用例中挑选出和这些功能点和模块相关的测试用例×找到一个“纯净”的机器,上面除了操作系统和被测的client端外,没有任何其他应用,这样做是为了排除其他应用可能存在的干扰;×借助于WinRunner,自动化这些用例,形成自动化的脚本;在脚本的最后,添加“切换到Windows任务管理器”“记录该client进程所占用内存数据到文件”的操作脚本;×连续运行N个小时×最后我打开这个数据文件,可以发现在该客户端运行过程中,每次执行完特定的测试用例后,记录的内存占用数据;当时我得出的结论是该client程序有“少许”的内存泄漏,因为在连续运行了72小时后,内存使用增加了近百分之十几;我会把这些数据导入到EXCEL中绘成了一个图表,这样更直观一些;经过简单的计算内存的增量/用例循环次数,得到用例每次执行后增加的内存使用值,即泄漏的内存数量,然后把操作过程和这个结果一起交给开发方,最后开发方根据我的信息,真的找到了一处有内存泄漏的地方,虽然泄漏的数量很少;以上就是我有过的一个类似的经历,我觉得可以提供给大家参考,同时也可以“举一反三,融会贯通”;如B/S的客户端控件,可以用QTP协助完成;在测试的最后阶段要去发现甚至定位内存泄漏挺难的,但只要发挥我们测试人员的主观能动性,总是找到一些“旁门左道”的测试手段;最后,我个人认为,从时间成本和各种风险考虑,要避免内存泄漏的问题,还是要回到前期的预防,即编程过程的规则检查和单元测试阶段主动的检测;一家之言,欢迎讨论;。
[全]软件测试常见笔试题(附带答案)
[全]软件测试常见笔试题(附带答案)软件测试
1.软件测试过程中的集成测试主要是为了发现()阶段的错误。
A需求分析
B概要设计
C详细设计
D编码
2.超出软件工程范围的测试是()。
A单元测试
B集成测试
C确认测试
D系统测试
3.软件测试不需要了解软件设计的()。
A功能
B内部结构
C处理过程
D条件
4.基线是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的()上。
A配置项
B程序
C基线
5.在变更控制中,管理各个用户存取和修改一个特定软件配置对象的权限是()。
A异步控制
B同步控制
C存取控制
D基线控制
答案:
1、B
2、D
3、C
4、C
5、D。
软件测试岗位招聘笔试题与参考答案
招聘软件测试岗位笔试题与参考答案(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个选项是软件测试中用于检测程序中错误的能力?A. 覆盖率B. 容错性C. 断言D. 稳定性2、在软件测试过程中,以下哪种测试方法主要用于检查软件的界面和用户体验?A. 单元测试B. 集成测试C. 系统测试D. 界面测试3、在进行软件测试时,以下哪个术语表示测试过程中发现的缺陷或错误?A. BugB. IssueC. DefectD. Error4、在测试用例设计中,以下哪种方法侧重于通过测试来发现程序中潜在的错误?A. 黑盒测试B. 白盒测试C. 模拟测试D. 静态测试5、在软件测试过程中,以下哪个不是测试用例设计的基本原则?A. 可测试性B. 完整性C. 可追溯性D. 可维护性6、在自动化测试中,以下哪种工具通常用于生成测试脚本和测试数据?A. SeleniumB. QTP (QuickTest Professional)C. JMeterD. TestLink7、在进行软件测试时,以下哪个不是测试用例设计的基本原则?A. 充分覆盖B. 随机性C. 可追踪性D. 可维护性8、以下关于自动化测试工具的说法,不正确的是:A. 自动化测试可以提高测试效率B. 自动化测试可以减少人为错误C. 自动化测试适用于所有测试阶段D. 自动化测试工具可以完全替代人工测试9、题干:以下哪个工具通常用于自动化测试用例的执行?A. JMeterB. SeleniumC. LoadRunnerD. Postman 10、题干:在软件测试过程中,以下哪种缺陷类型通常被认为是最高级别的缺陷?A. 功能性缺陷B. 性能缺陷C. 稳定性缺陷D. 安全缺陷二、多项选择题(本大题有10小题,每小题4分,共40分)1、以下哪些是软件测试的生命周期阶段?A. 需求分析B. 系统设计C. 编码实现D. 测试设计E. 测试执行F. 测试报告2、以下哪些工具或技术常用于自动化测试?A. SeleniumB. AppiumC. LoadRunnerD. JMeterE. PostmanF. SoapUI3、以下哪些是软件测试的基本类型?()A. 功能测试B. 性能测试C. 安全测试D. 用户验收测试E. 回归测试4、以下哪些是软件测试中使用的测试用例设计方法?()A. 黑盒测试B. 白盒测试C. 用例设计方法D. 等价类划分E. 状态转换分析5、关于软件测试的生命周期,以下哪些说法是正确的?A、测试生命周期开始于需求分析阶段B、测试计划是在设计阶段完成的C、测试用例设计是在编码阶段之前进行的D、测试报告是在软件发布后完成的E、测试结束于软件维护阶段6、以下哪些是软件测试中常用的黑盒测试方法?A、等价类划分B、边界值分析C、错误猜测D、因果图E、场景测试7、以下哪些工具或技术通常用于自动化软件测试?()A、SeleniumB、JMeterC、PostmanD、Git8、在软件测试过程中,以下哪些文档是必须准备的?()A、测试计划B、测试用例C、测试报告D、需求规格说明书9、关于软件测试中的黑盒测试,下列哪些描述是正确的?A. 黑盒测试主要关注软件的功能性需求B. 黑盒测试不需要了解内部结构和实现细节C. 黑盒测试能够保证程序内部每个路径都被测试到D. 测试人员可以完全依赖黑盒测试来发现所有类型的错误 10、在进行软件测试时,选择测试用例的原则有哪些?A. 尽可能覆盖所有功能点B. 考虑边界条件和异常情况C. 只需要关注核心功能,边缘功能可以忽略D. 测试用例应该尽量减少冗余,提高效率三、判断题(本大题有10小题,每小题2分,共20分)1、软件测试过程中,回归测试只应该在软件版本更新后进行。
软件测试工程师笔试题一套 内附答案
软件测试工程师笔试题一套内附答案关于自动化测试与手工测试的比较,正确的是()A:自动化测试能做的,手工测试不能做B:手工测试能做的,自动化测试都能做C:谁也不能完全代替对方D:自动化测试能做的,手工测试都能做2. 采用自顶向下集成的测试方法,需要编写()。
A:客户端程序B:驱动程序C: 条件桩D: 测试桩3. 系统测试阶段的测试对象不包括()A: 硬件系统B:文档C:软件系统D:源程序4. 使用录制模式产生的自动化脚本,与人工编写的脚本相比,后期维护成本通常()A:不能比较B: 较高C: 较低D:没有差别5. 使用瀑布模型术语,在软件测试V模型中,对应“需求分析”的测试阶段是()A:集成测试B:单元测试C:用户验收测试D:系统测试6. 关于UML类图下列描述正确的是()A:类间的两种重要关系就是关联与泛化B:UML中抽象类是将名用斜体表示C:关联是两个类之间的一条实线D:类图表示各个对象的类型以及其间存在的各种静态关系7. 多线程技术具有哪些优越性()A:通信简洁、信息传送速度快B:创建速度快、系统开销小C:并行性高D:安全性高8. 在oracle数据库中,关于索引描述正确的是()A:需要对大数据类型创建索引B:我们最常用到的是B-Tree索引C:对于大表,索引能明显提高查询效率D:在数据表上创建唯一约束,会自动生成唯一索引9. Oracle中VARCHAR2类型的最大长度是:()A:4000 B:3000 C:1000 D:200010. 以下哪行代码会进行对象垃圾回收()1.public class MyClass{2. public StringBuffer aMethod(){3. StringBuffer sf = new4.StringBuffer( Hello );5. StringBuffer[] sf_arr = new StringBuffer[1];6. sf_arr[0] = sf;7. sf = null;8. sf_arr[0] = null;9. return sf;}}A:第8行B:第7行C:第5行D:第3行11. 以下循环执行()次public class Test{public static void main(String[] args){int x=-10,k=0;while(++xk++;}System.out.println(k);}}A:9 B:10 C:11 D:无限12. 在划分了等价类后,首先需要设计一个案例覆盖()有效等价类。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试笔试题(含答案)1.请写出一个你工作经历中的一个功能点测试用例,例如:用户页面登陆2.请在以下两个项目当中,选择一个,考虑如何进行用例设计:a.杯子 b.有弹簧的圆珠笔杯子:需求测试:查看杯子使用说明书界面测试:查看杯子外观功能度:用水杯装水看漏不漏;水能不能被喝到安全性:杯子有没有毒或细菌可靠性:杯子从不同高度落下的损坏程度可移植性:杯子再不同的地方、温度等环境下是否都可以正常使用软件开发网兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等易用性:杯子是否烫手、是否有防滑措施、是否方便饮用用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等压力测试:用根针并在针上面不断加重量,看压强多大时会穿透强度测试: 杯子加包装(有填充物),在多高的情况摔下不破损有弹簧的圆珠笔:功能测试:圆珠笔按下是否能正常写字,写字太重会不回缩回去,继续按会不会弹回去性能测试:圆珠心弹出弹回的快慢负载测试:一直按,弹簧能接受多少次的升缩兼容性测试:换其他的笔芯能不能行强度测试:用力过度会怎样可恢复性测试:如果弹簧压久了,是否可恢复等等GUI测试:笔的外观,拿笔的舒适性安全性:考虑对笔芯的保护,是否对使用者造成危害等等3.白箱测试和黑箱测试是什么?什么是回归测试?白箱测试是在看懂程序代码和设计方案的前提下,进行软件的测试。
这种测试注重于源代码的覆盖率,同时需要测试者具备较高的技术水平。
白箱测试的优点是可以对代码有详细的审查,能找出隐藏在代码中的错误,从而确保高质量的代码;缺点是很多时候不能看完所有的代码,不能找出欠缺的代码,同时白箱测试和用户如何使用软件无关。
黑箱测试的优点是测试者无需熟悉软件内部结构,并且根据蓝图在早期就可以制定测试方案,并不依赖于开发者的工作进展,而且黑箱测试简单易行,对测试者的技术要求不高;但是,黑箱测试主要是功能上的测试,只能覆盖只有一小部分的输入,不能保证程序的所有部分都被测试到。
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
自动回归测试将大幅降低系统测试、维护升级等阶段的成本。
回归测试包括两部分:函数本身的测试、其他代码的测试。
在对被修改的函数重新测试。
如果函数的设计功能没有变化,直接运行函数测试就可以了。
如果修改了设计功能,则要根据增减的功能点,增加或删除测试用例。
另外,还要完成白盒覆盖。
函数代码的修改可能导致调用该函数的代码产生错误,所以需要测试其他代码。
如果函数是私有函数并且未涉及到全局变量,应运行类测试,否则应运行工程测试。
在函数列表中选择类测试或工程测试,编译运行测试工程,即可执行对其他代码的回归测试。
4.单元测试、集成测试、系统测试的侧重点是什么?单元测试:以代码检查、逻辑覆盖集成测试:增加静态结构分析、静态质量度量系统测试:根据黑盒测试结果,采用白盒测试单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
集成测试,也叫组装测试或联合测试。
在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试。
实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。
程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。
系统测试是将经过测试的子系统装配成一个完整系统来测试。
它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。
5.设计用例的方法、依据有那些?白盒测试用例设计有如下方法:基本路径测试\等价类划分\边界值分析\覆盖测试\循环测试\数据流测试\程序插桩测试\变异测试.这时候依据就是详细设计说明书及其代码结构吧,恩,这个真不确定黑盒测试用例设计方法:基于用户需求的测试\功能图分析方法\等价类划分方法\边界值分析方法\错误推测方法\ 因果图方法\判定表驱动分析方法\正交实验设计方法.依据是用户需求规格说明书,详细设计说明书6.一个测试工程师应具备那些素质和技能?掌握基本的测试基础理论本着找出软件存在的问题的态度进行测试,即客观吧,不要以挑刺形象出现可熟练阅读需求规格说明书等文档以用户的观点看待问题有着强烈的质量意识细心和责任心良好的有效的沟通方式(与开发人员及客户)具有以往的测试经验能够及时准确地判断出高危险区在何处①沟通能力一名理想的测试者必须能够同测试涉及到的所有人进行沟通,具有与技术(开发者)和非技术人员(客户,管理人员)的交流能力。
既要可以和用户谈得来,又能同开发人员说得上话,不幸的是这两类人没有共同语言。
和用户谈话的重点必须放在系统可以正确地处理什么和不可以处理什么上。
而和开发者谈相同的信息时,就必须将这些活重新组织以另一种方式表达出来,测试小组的成员必须能够同等地同用户和开发者沟通。
②移情能力和系统开发有关的所有人员都处在一种既关心又担心的状态之中。
用户担心将来使用一个不符合自己要求的系统,开发者则担心由于系统要求不正确而使他不得不重新开发整个系统,管理部门则担心这个系统突然崩溃而使它的声誉受损。
测试者必须和每一类人打交道,因此需要测试小组的成员对他们每个人都具有足够的理解和同情,具备了这种能力可以将测试人员与相关人员之间的冲突和对抗减少到最低程度。
③技术能力就总体言,开发人员对那些不懂技术的人持一种轻视的态度。
一旦测试小组的某个成员作出了一个错误的断定,那么他们的可信度就会立刻被传扬了出去。
一个测试者必须既明白被测软件系统的概念又要会使用工程中的那些工具。
要做到这一点需要有几年以上的编程经验,前期的开发经验可以帮助对软件开发过程有较深入的理解,从开发人员的角度正确的评价测试者,简化自动测试工具编程的学习曲线。
④自信心开发者指责测试者出了错是常有的事,测试者必须对自己的观点有足够的自信心。
如果容许别人对自己指东指西,就不能完成什么更多的事情了。
⑤外交能力当你告诉某人他出了错时,就必须使用一些外交方法。
机智老练和外交手法有助于维护与开发人员的协作关系,测试者在告诉开发者他的软件有错误时,也同样需要一定的外交手腕。
如果采取的方法过于强硬,对测试者来说,在以后和开发部门的合作方面就相当于“赢了战争却输了战役”。
⑥幽默感在遇到狡辩的情况下,一个幽默的批评将是很有帮助的。
⑦很强的记忆力一个理想的测试者应该有能力将以前曾经遇到过的类似的错误从记忆深处挖掘出来,这一能力在测试过程中的价值是无法衡量的。
因为许多新出现的问题和我们已经发现的问题相差无几。
⑧耐心一些质量保证工作需要难以置信的耐心。
有时你需要花费惊人的时间去分离、识别和分派一个错误。
这个工作是那些坐不住的人无法完成的。
⑨怀疑精神可以预料,开发者会尽他们最大的努力将所有的错误解释过去。
测式者必须听每个人的说明,但他必须保持怀疑直到他自己看过以后。
⑩自我督促干测试工作很容易使你变得懒散。
只有那些具有自我督促能力的人才能够使自己每天正常地工作。
⑾洞察力一个好的测试工程师具有“测试是为了破坏”的观点,捕获用户观点的能力,强烈的质量追求,对细节的关注能力。
应用的高风险区的判断能力以便将有限的测试针对重点环节。
7.集成测试通常都有那些策略?1、在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;2、各个子功能组合起来,能否达到预期要求的父功能;3、一个模块的功能是否会对另一个模块的功能产生不利的影响;4、全局数据结构是否有问题;5、单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。
8.你用过的测试工具的主要功能、性能及其他?WinRunner (WR) 是一个基于 Windows的企业级功能测试工具,它在业务应用正式部署之前,通过自动捕获、检测和重放用户对应用系统的交互操作,来发现系统缺陷,确保那些跨越多个应用程序和数据库的业务流程在初次发布就能避免故障的出现,保证系统对所有关键业务处理功能、处理流程的正确,保障应用的质量和准备工作的最优化主要功能:1) 轻松创建测试:用 WinRunner 创建一个测试,只需在应用软件中操作记录下一个标准的业务流程,例如下一张订单或建立一个新的商家账户,WinRunner 将直观地记录该流程。
即使技术知识有限的用户,也能通过在 GUI 上单击鼠标而生成完整的测试。
用户还可以直接编辑测试指令来满足各种复杂测试的需求2)插入检查点:在建立一个测试的过程中可以插入检查点,以在查找潜在错误的同时,将预想的结果和实际测试结果进行比较。
在插入检查点后,WinRunner 会收集相应的性能指标,在测试运行时对其一一验证。
WinRunner 允许使用几种不同类型的检查点,包括文本、GUI、位图和数据库等。
例如用一个位图检查点,可以确认一个位图图像是否出现在指定的位置上。
WinRunner 的数据库检验功能能够自动标示出被修改的数据3) 检验数据:除了创建并运行测试,WinRunner还能验证数据库的数值,从而确保交易的准确性。
例如,在测试创建时,可以设定哪些数据库表格和记录资料需要检测。
在重放时,测试程序就会核对数据库内的实际数值与预想的数值。
WinRunner 能自动显示检测结果,在有更新/修改、删除或插入的记录上会用突出标识引起注意4) 增强测试:为了彻底全面地测试一个应用程序,用户需要了解对于不同类型的数据它是如何运行的。
WinRunner 的DataDriver Wizard 使用户只需单击几下鼠标,就能简单地将一个记录下的业务流程转化为一个数据驱动的测试,来反映多个用户各自独特且真实的操作行为5)运行测试:在建立测试,并插入检查点和做一些必要的功能添加后,就可以开始运行测试。
当 WinRunner 执行测试时,它会自动操作应用程序,正如一个真实用户根据记录流程执行着每一步的操作,而且它的意外处理功能为测试排除干扰,包括消息和警报6) 分析结果:一旦测试运行后,就需要分析测试结果。
WinRunner 的互动式的报告工具通过提供详尽的、易读的报告,其中会列出在测试中发现的差错和出错的位置,来帮助用户解释所得到的结果。
这些报告对在测试运行中发生的重要事件进行描述,如出错内容和检查点等。
单击按钮,还能进一步获取任何未被包括在此测试范围内的错误的详尽资料。
这些结果都可以通过MI 的测试管理工具TestDirector 来查阅7) 维护测试:随着时间推移,开发人员会对应用程序做进一步的修改,这时,需要增加额外的测试。
WinRunner 会帮助用户创建可重复使用的测试,以大大节省时间和资源,充分利用测试投资9.一个缺陷测试报告的组成缺陷的标题,缺陷的基本信息,复现缺陷的操作步骤,缺陷的实际结果描述,期望的正确结果描述,注释文字和截取的缺陷图象。