【导语】“隽语”通过精心收集,向本站投稿了11篇应聘软件测试的笔试题,以下是小编整理后的应聘软件测试的笔试题,希望能够帮助到大家。
- 目录
篇1:应聘软件测试的笔试题
应聘软件测试的笔试题
下面是为您分享的关于应聘软件测试的笔试题,请您好好参考:
一、判断题(每题1分,12 分,正确的√,错误的w)
1.软件测试的目的是尽可能多的找出软件的缺陷,
2.Beta 测试是验收测试的一种。()
3.验收测试是由最终用户来实施的。()
4.项目立项前测试人员不需要提交任何工件。()
5.单元测试能发现约80%的软件缺陷。()
6.代码评审是检查源代码是否达到模块设计的要求。()
7.自底向上集成需要测试员编写驱动程序。()
8.负载测试是验证要检验的系统的能力最高能达到什么程度。()
9.测试人员要坚持原则,缺陷未修复完坚决不予通过。()
10.代码评审员一般由测试员担任。()
11.我们可以人为的使得软件不存在配置问题。()
12.集成测试计划在需求分析阶段末提交。()
二、不定项选择题(每题2 分,10分)
1.软件验收测试的合格通过准则是:()
A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B. 所有测试项没有残余一级、二级和三级错误。
C. 立项审批表、需求分析文档、设计文档和编码实现一致。
D. 验收测试工件齐全。
2.软件测试计划评审会需要哪些人员参加?()
A.项目经理
B.SQA 负责人
C.配置负责人
D.测试组
3.下列关于alpha 测试的描述中正确的是:()
A.alpha 测试需要用户代表参加
B.alpha 测试不需要用户代表参加
C.alpha 测试是系统测试的一种
D.alpha 测试是验收测试的一种
4.测试设计员的职责有:()
A.制定测试计划
B.设计测试用例
C.设计测试过程、脚本
D.评估测试活动
5.软件实施活动的进入准则是:()
A.需求工件已经被基线化
B.详细设计工件已经被基线化
C.构架工件已经被基线化
D.项目阶段成果已经被基线化
三、填空题(每空1分,24 分)
1.软件验收测试包括、、三种类型。
2.系统测试的.策略有功能测试、、、、易用性测
试、、、、、、、、
、、等15 种方法。
3.设计系统测试计划需要参考的项目文档有、和迭代计划。
4.对面向过程的系统采用的集成策略有、两种。
5.通过画因果图来写测试用例的步骤为、、、及把因果图转
换为状态图共五个步骤。
四、简答题(共37分)
1. 阶段评审与同行评审的区别。(4 分)
2 . 什么是软件测试。(3 分)
3 . 简述集成测试的过程。(5 分)
4 . 怎样做好文档测试?(4 分)
5. 白盒测试有那几种方法?(6 分)
6. 系统测试计划是否需要同行评审,为什么?(4 分)
7. Alpha 测试与beta 测试的区别。(4 分)
8 . 比较负载测试、容量测试和强度测试的区别。(6 分)
9 . 测试结束的标准是什么?(3 分)
五、设计题(共15分)
对下面给出的程序控制图,分别以各种不同的测试方法写出最少的测试用例。
测试人员_考试试卷(考试时间100分钟,满分100分)
姓名:__________部门:__________员工号:__________
一、填空题:(每一空格2分,共60分)
1、软件实施活动的输出工件有 、、、,
2、代码评审主要做 工作。
3、软件实施活动中集成员的职责是 。
4、验证与确认软件实施活动主要有 、代码评审、、、、SQA
验证。
5、表明测试已经结束。
6、软件测试的目的是 。
7、软件测试主要分为 、、、四类测试。
8、软件测试活动有制定测试计划、、、、、、测
试评估、测试结束八个步骤。
9、软件测试活动的输出工件有_ 、、、、。
10、软件测试角色有 、、、。
二、不定项选择题:(每题3 分,共15分)
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、软件项目计划
三、问答题:(共25 分)
1、项目的集中管理在软件公司的哪一个层面?(2 分)
2、请描述软件测试活动的生命周期。(8 分)
3、什么是测试评估,测试评估的范围是什么?(5 分)
4、阐述工作版本的定义。(2 分)
5 、请画出软件测试活动的流程图。(8 分)
测试人员考试试卷(考试时间90分钟,满分100分)
姓名:__________部门:__________员工号:__________
一、判断题(每题2分,正确的“√”,错误的“w”)
1 、好的测试员不懈追求完美。( )
2、测试程序仅仅按预期方式运行就行了。( )
3、不存在质量很高但可靠性很差的产品。( )
4、软件测试员可以对产品说明书进行白盒测试。( )
5、静态白盒测试可以找出遗漏之处和问题。( )
6、总是首先设计白盒测试用例。( )
7、可以发布具有配置缺陷的软件产品。( )
8、所有软件必须进行某种程度的兼容性测试。( )
9、所有软件都有一个用户界面,因此必须测试易用性。( )
10、测试组负责软件质量。( )
二、简答题
1、软件的缺陷等级应如何划分?(3 分)
篇2:软件测试笔试题
一、能力题
1. 卡车以每小时80公里的速度行驶,30 分钟行驶的路程为:
A. 15公里
B. 30公里
C. 40公里
D. 80公里
E. 以上答案全不对
2.有一种小虫,每隔两秒钟分裂一次。分裂后的两只新的小虫经过两秒钟后又会分裂。如果最初某瓶中只有一只小虫,那么两秒后变两只,再过两秒后就变四只……两分钟后,正好满满一瓶小虫。现在这个瓶内最初放入两只这样的小虫。
问:经过多少时间后,正巧也是满满的一瓶?
3. 美国某小镇车队有17辆小公共汽车,整天在相距197千米的青山与绿水两个小镇之间往返运客。每辆车到达小镇后司机都要休息8分钟。司机杰克上午10点20分开车从青山镇出发,在途中不时地遇到(有时是迎面驶来,有时是互相超越)一辆本车队的车。下午1点55分他到达绿水镇,休息时发现本队的其他司机一个都不在。没有同伴可以聊天,杰克就静静地回忆刚才在路上遇到的本车队的那些人。
问:杰克一共遇到了本车队的几辆车?
4. 一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。
请问应该怎么问?(20秒-2分钟)
二、软件测试基础题(多选)
1. V模型本质上是一种
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.在TCP/IP网络中,为各种公共服务保留的端口号范围值是()
A.1~255
B.1~1023
C.1~1024
D.1~65535
篇3:软件测试笔试题
什么是软件测试?
软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
软件测试的目的?
测试的目的是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的商业风险。
需求文档测试:
主要测试需求中是否存在逻辑矛盾以及需求在技术上是否可以实现;
设计文档测试:
测试设计是否符合全部需求以及设计是否合理。
α测试:
Alpha测试(α测试)是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。Alpha测试发现的错误,可以在测试现场立刻反馈给开发人员,由开发人员及时分析和处理。目的是评价软件产品的功能、可使用性、可靠性、性能和支持。尤其注重产品的界面和特色。Alpha测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。有关的手册(草稿)等应该在Alpha测试前准备好。
β测试
Beta测试(β测试)是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。因而,Beta测试是在开发者无法控制的环境下进行的软件现场应用。在Beta测试中,由用户记下遇到的所有问题,包括真实的以及主管认定的,定期向开发者报告,开发者在综合用户的报告后,做出修改,最后将软件产品交付给全体用户使用。Beta测试着重于产品的支持性,包括文档、客户培训和支持产品的生产能力。只有当Alpha测试达到一定的可靠程度后,才能开始Beta测试。由于Beta测试的主要目标是测试可支持性,所以Beta测试应该尽可能由主持产品发行的人员来管理。
驱动模块:
驱动模块在大多数场合称为“主程序”,它接收测试数据并将这些数据传递到被测试模块.单元测试一个函数单元时,被测单元本身是不能独立运行的,需要为其传送数据,为此写驱动
驱动模块主要完成以下事情:
1、接受测试输入;
2、对输入进行判断;
3、将输入传给被测单元,驱动被测单元执行;
4、接受被测单元执行结果,并对结果进行判断;
5、将判断结果作为用例执行结果输出测试报告。
桩模块
比如对函数A做单元测试时,被测的函数单元下还包括了一个函数B,为了更好的错误,定位错误,就要为函数B写桩,来模拟函数B的功能,保证其正确。
白盒测试
白盒测试(White-box Testing,又称逻辑驱动测试,结构测试),它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。
对开发语言的支持:白盒测试工具是对源代码进行的测试,测试的主要内容包括词法分析与语法分析、静态错误分析、动态检测等。目前测试工具主要支持的开发语言包括:标准C、C++、Visual C++、Java、Visual J++等。
静态测试
动态通过评审文档、阅读代码等方式测试软件称为静态测试,通过运行程序测试软件称为测试.在动态测试中,通常使用白盒测试和黑盒测试从不同的角度设计测试用例,查找软件代码中的错误.
回归测试
回归测试的目的是在程序有修改的情况下,保证原有功能正常的一种测试策略和方法。
说白了就是,我们测试人员在对程序进行测试时发现bug,然后返还程序员修改,程序员修改后发布新的软件包或新的软件补丁包给我们测试人员,我们就要重新对这个程序测试,已保证程序在修正了以前bug的情况下,正常运行,且不会带来新的错误的这样一个过程。 一般情况下是不需要全面测试的,而是根据修改的情况进行有效的测试。
白盒测试有哪几种方法?
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。
软件的缺陷等级应如何划分?
1.致命错误,可能导致本模块以及其他相关模块异常,死机等问题;
2.严重错误,问题局限在本模块,导致模块功能失效或异常退出
3.一般错误,模块功能部分失效;
4.建议问题,由问题提出人对测试对象的改进意见;
如果能够执行完美的黑盒测试,还需要进行白盒测试吗?(白盒与黑盒的区别)
任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?
2、在接口上,输入是否能正确的接受?能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?
软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:
1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
以上事实说明,软件测试有一个致命的缺陷,即测试的不完全、不彻底性。由于任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试,在未发现错误时,不能说明程序中没有错误。
软件测试应该划分几个阶段?简述各个阶段应重点测试的点?各个阶段的含义?
大体上来说可分为单元测试,集成测试,系统测试,验收测试,每个阶段又分为以下五个步骤: 测试计划,测试设计,用例设计,执行结果,测试报告
初始测试集中在每个模块上,保证源代码的正确性,该阶段成为单元测试,主要用白盒测试方法。接下来是模块集成和集成以便组成完整的软件包。集成测试集中在证实和程序构成问题上。主要采用黑盒测试方法,辅之以白盒测试方法。
软件集成后,需要完成确认和系统测试。确认测试提供软件满足所有功能、性能需求的最后保证。确认测试仅仅应用黑盒测试方法。
单元测试
单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。
集成测试
集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。
系统测试
系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。
验收测试
验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集.
回归测试
回归测试是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。
针对缺陷采取怎样的管理措施?
1. 要更好的管理缺陷,必须引入缺陷管理工具,商用的或者开源的都可。
2. 根据缺陷的生命周期,考虑缺陷提交的管理、缺陷状态的管理和缺陷分析的管理。
3. 所有发现的缺陷(不管是测试发现的还是走读代码发现的)都必须全部即时的、准确的提交到缺陷管理工具中,这是缺陷提交的管理。
4. 缺陷提交后,需要即时的指派给相应的开发人员,提交缺陷的人需要密切注意缺陷的状态, 帮助缺陷的尽快解决。缺陷解决后需要即时对缺陷的修复进行验证。这样的目的有两个:一个是让缺陷尽快解决;二是方便后面缺陷的分析(保证缺陷相关的信息准确,如龄期等),这是缺陷状态的管理。 5. 为了更好的改进开发过程和测试过程,需要对缺陷进行分析,总结如缺陷的类别、缺陷的龄期分布等信息,这是缺陷分析的管理。
单元测试、集成测试、系统测试的侧重点是什么?
单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试,测试重点是系统的模块,包括子程序的正确性验证等。集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。测试重点是模块间的衔接以及参数的传递等。
系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。测试重点是整个系统的运行以及与其他软件的兼容性。
设计用例的方法、依据有那些?
白盒测试用例设计有如下方法:基本路径测试\\等价类划分\\边界值分析\\覆盖测试\\循环测试\\数据流测试\\程序插桩测试\\变异测试.这时候依据就是详细设计说明书及其代码结构
黑盒测试用例设计方法:基于用户需求的测试\\功能图分析方法\\等价类划分方法\\边界值分析方法\\错误推测方法\\因果图方法\\判定表驱动分析方法\\正交实验设计方法.依据是用户需求规格说明书,详细设计说明书。
测试用例通常包括那些内容?着重阐述编制测试用例的具体做法不同结构的用例包括的不一样(版本、编号、项目、设计人员、设计日期、输入、预期输出……)
软件测试用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果。用例编号:测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则:
PROJECT1-ST-001 ,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。
测试标题:对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如“ 测试用户登录时输入错误密码时,软件的响应情况 ” .重要级别:定义测试用例的优先级别,可以笼统的分为 “ 高” 和 “ 低 ” 两个级别。一般来说,如果软件需求的优先级为 “ 高 ” ,那么针对该需求的测试用例优先级也为 “ 高 ”;反之亦然,测试输入:提供测试执行中的各种输入条件。根据需求中的输入条件,确定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。
操作步骤:提供测试执行过程的步骤。对于复杂的测试用例,测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。
预期结果:提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。如果在实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过;反之则测试通过。
描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程
1) 测试人员或开发人员发现bug后,判断属于哪个模块的问题,填写bug报告后,系统会自动通过Email通知项目组长或直接通知开发者。
2) 经验证无误后,修改状态为VERIFIED.待整个产品发布后,修改为CLOSED.
3) 还有问题,REOPENED,状态重新变为“New“,并发邮件通知。
4) 项目组长根据具体情况,重新reassigned分配给bug所属的开发者。
5) 若是,进行处理,resolved并给出解决方法。(可创建补丁附件及补充说明)
6) 开发者收到Email信息后,判断是否为自己的修改范围。
7) 若不是,重新reassigned分配给项目组长或应该分配的开发者。
8) 测试人员查询开发者已修改的bug,进行重新测试。
篇4:软件测试笔试题
一、选择填空
1.有一个文件test.txt里面有四列(name class address age),问:用_____shell命令打印出class列的内容。
-----awk ‘{print $2}’ test.txt
2.英特网的远程登录的工作模式是_____工作模式。
-----客户机/服务器
3.防止系统区被破坏的方法有两种:存储保护键和______。------
-----定时备份
4.多播IP用的是哪类地址(D)
A.A类地址 B.B类地址 C.C类地址 D.D类地址
5.关系代数的优化策略是_______。
------尽早执行选择运算
6.在分解中,无损连接,函数依赖属于_______。
7.在完成了数据库的模式的定义之后,数据字典里面应该包括______。
8.可重定位内存分配的目的是_______。
------解决碎片和紧缩问题
9.unix的目录结构是______。
10.连接方式存储的队列,在删除一个节点时(D) 选项可能记不清了,大概是这样
A.只改动头指针 B.只改动尾指针 C.头指针和尾指针都改动 D.头指针和尾指针可能改动
11.不带头指针的单链表的队列,在删除一个节点时(D) 10和11这两个题目有什么区别,不解?
A.只改动头指针 B.只改动尾指针 C.头指针和尾指针都改动 D.头指针和尾指针可能改动
12.完整性约束包括:主键约束,外键约束,和全局约束。
-----所以应该是:用户自定义约束
13.IEEE802.3物理地址是(C)位
A.32bit B.64bit C. 48bit D.16bit
14.哪一种数据的查询需要优化
A.层次数据库 B.网状数据库 C.关系数据库 D.无关系数据库
15.负责压力测试不包括
A.访问量 B.点击次数 C.业务处理时间 D.业务请求吞吐量
16. 在五层的网络模型中,传输层属于第___4___层。
二、问答
1、你的测试职业发展是什么?
测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求自己,不断更新自己改正自己,做好测试任务。
2、你认为测试人员需要具备哪些素质
做测试应该要有一定的协调能力,因为测试人员经常要与开发接触处理一些问题,如果处理不好的话会引起一些冲突,这样的话工作上就会不好做。还有测试人员要有一定的耐心,有的时候做测试很枯燥乏味。除了耐心,测试人员不能放过每一个可能的错误。
3、你为什么能够做测试这一行
虽然我的测试技术还不是很成熟,但是我觉得我还是可以胜任软件测试这个工作的,因为做软件测试不仅是要求技术好,还有有一定的沟通能力,耐心、细心等外在因素。综合起来看我认为我是胜任这个工作的。
4、测试的目的是什么?
测试的目的是找出软件产品中的错误,是软件尽可能的符合用户的要求。当然软件测试是不可能找出全部错误的。
5、测试分为哪几个阶段?
一般来说分为5个阶段:单元测试、集成测试、确认测试、系统测试、验收测试
6、单元测试的测试对象、目的、测试依据、测试方法?
测试对象是模块内部的程序错误,目的是消除局部模块逻辑和功能上的错误和缺陷。测试依据是模块的详细设计,测试方法是采用白盒测试。
7、怎样看待加班问题
加班的话我没有太多意见,但是我还是觉得如果能够合理安排时间的话,不会有太多时候加班的。
8、结合你以前的学习和工作经验,你认为如何做好测试。
根据我以前的工作和学习经验,我认为做好工作首先要有一个良好的沟通,只有沟通无障碍了,才会有好的协作,才会有更好的效率,再一个就是技术一定要过关,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就要问,实时与同事沟通这样的话才能做好测试工作。
9、你为什么选择软件测试行业
因为之前了解软件测试这个行业,觉得他的发展前景很好。
10、根据你以前的工作或学习经验描述一下软件开发、测试过程,由哪些角色负责,你做什么
要有架构师、开发经理、测试经理、程序员、测试员。我在里面主要是负责所分到的模块执行测试用例。
11、根据你的经验说说你对软件测试/质量保证的理解
软件质量保证与测试是根据软件开发阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据和预期的输出结果),并根据这些测试用例去运行程序,以发现错误的过程。它是对应用程序的各个方面进行测试以检查其功能、语言有效性及其外观排布。
12、软件测试的流程是什么?
需求调查:全面了解系统概况、应用领域、软件开发周期、软件开发环境、开发组织、时间安排、功能需求、性能需求、质量需求及测试要求等。根据系统概况进行项目所需的人员、时间和工作量估计以及项目报价。
制定初步的项目计划。
测试准备:组织测试团队、培训、建立测试和管理环境等。
测试设计:按照测试要求进行每个测试项的测试设计,包括测试用例的设计和测试脚本的开发等。
测试实施:按照测试计划实施测试。
测试评估:根据测试的结果,出具测试评估报告。
13、你对SQA的职责和工作活动(如软件度量)的理解?
SQA就是独立于软件开发的项目组,通过对软件开发过程的监控,来保证软件的开发流程按照指定的CMM规程(如果有相应的CMM规程),对于不符合项及时提出建议和改进方案,必要时可以向高层经理汇报以求问题的解决。通过这样的途径来预防缺陷的引入,从而减少后期软件的维护成本。SQA主要的工作活动包括制定SQA工作计划,参与阶段产物的评审,进行过程质量、功能配置及物理配置的审计等;对项目开发过程中产生的数据进行度量等等。
14、说说你对软件配置管理的理解
项目在开发过程中要用相应的配置管理工具对配置项(包括各个阶段的产物)进行变更控制,配置管理的使用取决于项目规模和复杂性及风险的水平。软件的规模越大,配置管理就越显得重要。还有在配置管理中,有一个很重要的概念,那就是基线,是在一定阶段各个配置项的组合,一个基线就提供了一个正式的标准,随后的工作便基于此标准,并只有经过授权后才能变更这个标准。配置管理工具主要有CC,VSS,CVS,SVN等,我只用过SVN,对其他的工具不是很熟悉。
15、怎样写测试计划和测试用例
简单点,测试计划里应有详细的测试策略和测试方法,合理详尽的资源安排等,至于测试用例,那是依赖于需求(包括功能与非功能需求)是否细化到功能点,是否可测试等。
篇5:软件测试经典笔试题
一、判断题(每题1分,共12 分,正确的T,错误的F)
1.软件需求是度量软件质量的基础 。不符合需求的软件就不具备质量。(T)
2.全面质量管理的定义是:一个组织以质量为中心,以全员参与为基础,目的在于通过让顾客满意和本组织所有成员及社会受益而达到长期成功的管理途径。 (T)
3.发现错误是软件测试的唯一目的。(F)
4.白盒测试可以找出软件遗漏功能和代码错误问题。( F)
5.软件的质量有测试组决定。( F)
6.在设计测试用例时,应包括合理的输入条件和不合理的输入条件。 ( T)
7.测试从不可知内部条件开始,结果是不可预见的。(F)
8.软件缺陷一定是由编码所引起的. 。(F)
9.软件测试等于程序测试。(F)
10.Beta测试是软件的多个用户在实际使用环境下进行的测试。 (T)
11.经验表明,测试后程序残存的错误数目与该程序中以发现的错误数目或检错率成正比。(T)
12.验收测试比较适合采用软件自动化测试工具进行测试。(F)
二、单项选择题(每题2分,共12 分)
1.某次程序调试没有出现预计的结果,下列(B )不可能是导致出错的原因。
A. 变量没有初始化 B. 编写的语句书写格式不规范
C. 循环控制出错 D. 代码输入有误
2.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?(B)
A预防软件发生错误 B发现改正程序错误 C提供诊断错误信息 D.都是
3.下面的哪一项测试步骤中需要进行局部数据结构测试: (A)
A.单元测试 B.集成测试 C.确认测试 D.系统测试
4.白盒测试是根据程序的(C )来设计测试用例
A.功能 B.性能 C.内部逻辑 D.内部数据
5.(C )方法根据输出对输入的依赖关系设计测试用例。
A.路径测试 B.等价类 C.因果图 D.归纳测试
6.有一组测试用例,它使被测程序中的每一个分支至少执行一次,它满足的覆盖标准是:(B)
A.语句覆盖 B. 判定覆盖 C. 条件覆盖 D.路径覆盖
三、问答题 (每题9分,共54 分)
1.什么是软件质量?请写出ISO/IEC9126中如何评价和度量软件质量的。
ISO 8402中把软件质量定义为“反映实体满足明确和隐含需要的能力和特性总合”。即软件质量是软件一些特性的组合。
在ISO/IEC9126中将质量特性定义为6(包括个21个子特性),即:
a、功能性:在指定条件下使用时,软件产品提供满足明确和隐含需求功能的能力;
b、可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力;
c、易用性:在指定条件下使用时,软件产品被理解、学习、使用及其吸引用户的能力;
d、效率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力;
e、易维护性:软件产品可被修改的能力,修改可能包括修正、改进或者适应环境、需求和功能规约的变化;
f、易移植性:软件产品从一种环境迁移到另一种环境的能力;
这6个特性作为软件质量的内部度量和外部度量,同时ISO/IEC9126还定义了使用质量度量,包括4个特性:
有效性:软件产品在指定使用环境下,使用户准确、完整地获得规定目标的能力;
生产率:软件产品在指定使用环境下,使用户花费合适的与有效性相关的资源数量的能力;
安全性:软件产品在指定使用环境下,获得可接受的损害人类、商务、软件、财产或环境风险级别的能力;
满意度:软件产品在指定使用环境下,使用户满意的能力。
2. 怎样做好文档测试?
文档测试:是检查用户文档(如需求、用户手册、安装手册等)的正确性、清晰性和精确性,检验文档是否和实际应用存在的差别。 对用户文档中所使用的例子必须在测试中一一试过,确保叙述正确无误。
对文档的测试一般从正确性、完备性和易理解性几个方面去测试,具体包括以下内容:
(1)检查产品说明书属性、(2)检查是否完整 、(3)检查是否准确、(4)检查是否精确、(5)检查是否一致、(6)检查是否贴切、(7)检查是否合理、(8)检查代码无关、(9)检查可测试性。
3. 请简要描述几种主要的软件测试模型。
4. 请描述实现软件自动化测试用例的几个主要技术。
5. 请描述对一个嵌套循的环循环测试。
6. 什么是黑盒测试?黑盒测试主要采用的技术有哪些?
篇6:软件测试笔试题
软件的缺陷等级应如何划分?
1.致命错误,可能导致本模块以及其他相关模块异常,死机等问题;
2.严重错误,问题局限在本模块,导致模块功能失效或异常退出
3.一般错误,模块功能部分失效;
4.建议问题,由问题提出人对测试对象的改进意见;
如果能够执行完美的黑盒测试,还需要进行白盒测试吗?(白盒与黑盒的区别)
任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试,
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?
2、在接口上,输入是否能正确的接受?能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?
软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:
1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
以上事实说明,软件测试有一个致命的缺陷,即测试的不完全、不彻底性。由于任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试,在未发现错误时,不能说明程序中没有错误。
软件测试应该划分几个阶段?简述各个阶段应重点测试的点?各个阶段的含义?
大体上来说可分为单元测试,集成测试,系统测试,验收测试,每个阶段又分为以下五个步骤:
测试计划,测试设计,用例设计,执行结果,测试报告
初始测试集中在每个模块上,保证源代码的正确性,该阶段成为单元测试,主要用白盒测试方法。
接下来是模块集成和集成以便组成完整的软件包。集成测试集中在证实和程序构成问题上。主要采用黑盒测试方法,辅之以白盒测试方法。
软件集成后,需要完成确认和系统测试。确认测试提供软件满足所有功能、性能需求的最后保证。确认测试仅仅应用黑盒测试方法。
单元测试
单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。
集成测试
集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。
系统测试
系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。
验收测试
验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集.
回归测试
回归测试是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。
针对缺陷采取怎样的管理措施?
1. 要更好的管理缺陷,必须引入缺陷管理工具,商用的或者开源的都可。
2. 根据缺陷的生命周期,考虑缺陷提交的管理、缺陷状态的管理和缺陷分析的管理。
3. 所有发现的缺陷(不管是测试发现的还是走读代码发现的)都必须全部即时的、准确的提交到缺陷管理工具中,这是缺陷提交的管理。
4. 缺陷提交后,需要即时的指派给相应的开发人员,提交缺陷的人需要密切注意缺陷的状态,帮助缺陷的尽快解决。缺陷解决后需要即时对缺陷的修复进行验证。这样的目的有两个:一个是让缺陷尽快解决;二是方便后面缺陷的分析(保证缺陷相关的信息准确,如龄期等),这是缺陷状态的管理。
5. 为了更好的改进开发过程和测试过程,需要对缺陷进行分析,总结如缺陷的类别、缺陷的龄期分布等信息,这是缺陷分析的管理。
单元测试、集成测试、系统测试的侧重点是什么?
单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试,测试重点是系统的模块,包括子程序的正确性验证等。
集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。测试重点是模块间的衔接以及参数的传递等。
系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。测试重点是整个系统的运行以及与其他软件的兼容性。
设计用例的方法、依据有那些?
白盒测试用例设计有如下方法:基本路径测试\\等价类划分\\边界值分析\\覆盖测试\\循环测试\\数据流测试\\程序插桩测试\\变异测试.这时候依据就是详细设计说明书及其代码结构
黑盒测试用例设计方法:基于用户需求的测试\\功能图分析方法\\等价类划分方法\\边界值分析方法\\错误推测方法\\因果图方法\\判定表驱动分析方法\\正交实验设计方法.依据是用户需求规格说明书,详细设计说明书。
测试用例通常包括那些内容?着重阐述编制测试用例的具体做法不同结构的用例包括的不一样(版本、编号、项目、设计人员、设计日期、输入、预期输出……)
软件测试用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果,
用例编号:测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则: PROJECT1-ST-001 ,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。
测试标题:对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如 “ 测试用户登录时输入错误密码时,软件的响应情况 ” .重要级别:定义测试用例的优先级别,可以笼统的分为 “ 高 ” 和 “ 低 ” 两个级别。一般来说,如果软件需求的优先级为 “ 高 ” ,那么针对该需求的测试用例优先级也为 “ 高 ” ;反之亦然,测试输入:提供测试执行中的各种输入条件。根据需求中的输入条件,确定测试用例的.输入。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。
操作步骤:提供测试执行过程的步骤。对于复杂的测试用例,测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。
预期结果:提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。如果在实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过;反之则测试通过。
描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程
1) 测试人员或开发人员发现bug后,判断属于哪个模块的问题,填写bug报告后,系统会自动通过Email通知项目组长或直接通知开发者。
2) 经验证无误后,修改状态为VERIFIED.待整个产品发布后,修改为CLOSED.
3) 还有问题,REOPENED,状态重新变为“New”,并发邮件通知。
4) 项目组长根据具体情况,重新reassigned分配给bug所属的开发者。
5) 若是,进行处理,resolved并给出解决方法。(可创建补丁附件及补充说明)
6) 开发者收到Email信息后,判断是否为自己的修改范围。
7) 若不是,重新reassigned分配给项目组长或应该分配的开发者。
8) 测试人员查询开发者已修改的bug,进行重新测试。
什么是软件测试?
软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
篇7:软件测试笔试题
测试的目的是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的商业风险。
需求文档测试:
主要测试需求中是否存在逻辑矛盾以及需求在技术上是否可以实现;
设计文档测试:
测试设计是否符合全部需求以及设计是否合理。
α测试:
Alpha测试(α测试)是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。Alpha测试发现的错误,可以在测试现场立刻反馈给开发人员,由开发人员及时分析和处理。目的是评价软件产品的功能、可使用性、可靠性、性能和支持。尤其注重产品的界面和特色。Alpha测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。有关的手册(草稿)等应该在Alpha测试前准备好。
β测试
Beta测试(β测试)是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。因而,Beta测试是在开发者无法控制的环境下进行的软件现场应用。在Beta测试中,由用户记下遇到的所有问题,包括真实的以及主管认定的,定期向开发者报告,开发者在综合用户的报告后,做出修改,最后将软件产品交付给全体用户使用。Beta测试着重于产品的支持性,包括文档、客户培训和支持产品的生产能力。只有当Alpha测试达到一定的可靠程度后,才能开始Beta测试。由于Beta测试的主要目标是测试可支持性,所以Beta测试应该尽可能由主持产品发行的人员来管理。
驱动模块:
驱动模块在大多数场合称为”主程序”,它接收测试数据并将这些数据传递到被测试模块.单元测试一个函数单元时,被测单元本身是不能独立运行的,需要为其传送数据,为此写驱动
驱动模块主要完成以下事情:
1、接受测试输入;
2、对输入进行判断;
3、将输入传给被测单元,驱动被测单元执行;
4、接受被测单元执行结果,并对结果进行判断;
5、将判断结果作为用例执行结果输出测试报告。
桩模块
比如对函数A做单元测试时,被测的函数单元下还包括了一个函数B,为了更好的错误,定位错误,就要为函数B写桩,来模拟函数B的功能,保证其正确。
白盒测试
白盒测试(White-box Testing,又称逻辑驱动测试,结构测试),它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。
对开发语言的支持:白盒测试工具是对源代码进行的测试,测试的主要内容包括词法分析与语法分析、静态错误分析、动态检测等。目前测试工具主要支持的开发语言包括:标准C、C++、Visual C++、Java、Visual J++等。
静态测试
动态通过评审文档、阅读代码等方式测试软件称为静态测试,通过运行程序测试软件称为测试.在动态测试中,通常使用白盒测试和黑盒测试从不同的角度设计测试用例,查找软件代码中的错误.
回归测试
回归测试的目的是在程序有修改的情况下,保证原有功能正常的一种测试策略和方法。
说白了就是,我们测试人员在对程序进行测试时发现bug,然后返还程序员修改,程序员修改后发布新的软件包或新的软件补丁包给我们测试人员,我们就要重新对这个程序测试,已保证程序在修正了以前bug的情况下,正常运行,且不会带来新的错误的这样一个过程。一般情况下是不需要全面测试的,而是根据修改的情况进行有效的测试。
白盒测试有哪几种方法?
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。
篇8:海信软件测试笔试题
01. 为什么要在一个团队中开展软件测试工作?
因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作,在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。
02. 您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
我曾经做过web测试,后台测试,客户端软件,其中包括功能测试,性能测试,用户体验测试。最擅长的是功能测试
03. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同04. 的测试类型的区别与联系(如功能测试、性能测试……)
测试类型有:功能测试,性能测试,界面测试。
功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
界面测试,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的`感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。
区别在于,功能测试关注产品的所有功能上,要考虑到每个细节功能,每个可能存在的功能问题。性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性。界面测试更关注于用户体验上,用户使用该产品的时候是否易用,是否易懂,是否规范(快捷键之类的),是否美观(能否吸引用户的注意力),是否安全(尽量在前台避免用户无意输入无效的数据,当然考虑到体验性,不能太粗鲁的弹出警告)?做某个性能测试的时候,首先它可能是个功能点,首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试
05. 请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查,
软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?
2、在接口上,输入是否能正确的接受?能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?
软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:
1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。
单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。
集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。
系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。(常见的联调测试)
系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。
验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
验收测试是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。
06. 测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?
篇9:软件测试笔试题简答题
1. 区别阶段评审的与同行评审
答:
同行评审目的:发现小规模工作产品的错误,只要是找错误;
阶段评审目的:评审模块 阶段作品的正确性可行性 及完整性
同行评审人数:3-7人 人员必须经过同行评审会议的培训,由SQA指导
阶段评审人数:5人左右 评审人必须是专家具有系统评审资格
同行评审内容:内容小 一般文档 < 40页, 代码 < 500行
阶段评审内容: 内容多,主要看重点
同行评审时间:一小部分工作产品完成
阶段评审时间: 通常是设置在关键路径的时间点上!
2. 什么是软件测试
答:测试是为发现错误而执行程序的过程
软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。
3 简述集成测试的过程
答:系统集成测试主要包括以下过程:
(1). 构建的确认过程。
(2). 补丁的确认过程。
(3). 系统集成测试测试组提交过程。
(4). 测试用例设计过程。
(5). 测试代码编写过程。
(6). Bug的报告过程。
(7). 每周/每两周的构建过程。
(8). 点对点的测试过程。
(9). 组内培训过程。
5 白盒测试有几种方法
答:总体上分为静态方法和动态方法两大类。
静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义。
动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。
6 系统测试计划是否需要同行审批,为什么
答:需要,系统测试计划属于项目阶段性关键文档,因此需要评审。
7Alpha 测试与beta 的区别
Alpha测试(α测试)是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。Alpha测试发现的错误,可以在测试现场立刻反馈给开发人员,由开发人员及时分析和处理。目的是评价软件产品的功能、可使用性、可靠性、性能和支持。尤其注重产品的界面和特色。Alpha测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。有关的手册(草稿)等应该在Alpha测试前准备好。
Beta测试(β测试)是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。因而,Beta测试是在开发者无法控制的环境下进行的软件现场应用。在Beta测试中,由用户记下遇到的所有问题,包括真实的以及主管认定的,定期向开发者报告,开发者在综合用户的报告后,做出修改,最后将软件产品交付给全体用户使用。Beta测试着重于产品的支持性,包括文档、客户培训和支持产品的生产能力。只有当Alpha测试达到一定的可靠程度后,才能开始Beta测试。由于Beta测试的主要目标是测试可支持性,所以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 类― 测试建议
4 怎么做好文档测试
仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。
检查文档的编写是否满足文档编写的目的
内容是否齐全,正确
内容是否完善
标记是否正确
篇10:软件测试面试笔试题
1、软件质量的定义是什么?
2、软件测试的对象包括哪些?
3、试结合软件开发流程模型,描述对应不同的阶段测试需要哪些工作?
4、单元测试、集成测试、系统测试、验收测试各测试的正确策略含义和被测对象是什么?
5、单元测试、集成测试、系统测试的侧重点是什么?
6、alpha测试和Beta测试的定义是什么?并描述Alpha、Beta测试的区别?
7、白盒和黑盒测试的定义是什么?
8、软件测试过程中都有哪些工作要做,分别由哪些不同的角色来完成这些任务?
9、测试计划的目的是什么,测试计划主要包括哪些部分,每一部分主要的内容和作用是什么,其中哪些是最重要?做好测试计划工作的关键是什么?
10、测试计划的目的是什么?测试计划的内容都包括哪些?其中哪些是最重要的?
11、什么是测试用例,它由哪些基本元素组成?并举例说明
12、什么是测试脚本,测试用例与测试脚本两者的关系是什么?
13、你认为提前做好测试用例有用吗?为什么?
14、如果业务层和数据层之间有信赖关系,你该怎么写单元测试?
15、对于产品的用户友好性测试,你认为从哪些方面来测试
16、bug中需要包括哪些内容并举例说明。如何提高bug记录的质量?
17、bug管理系统的主要功能是什么,以及在项目中各个角色的使用者是如何使用bug管理系统的?
18、若你提交了一个bug但开发人员说这不是问题,你该如何处理?
19、你认为一个测试工作人员最基本的素质是什么?从(能力、责任心)选一个,简答为什么?
20、怎么认为测试可以结束了?在你以前的工作中,对于分配给你的模块你用什么标准来衡量自己测试完毕了?
21、你认为一个合格的测试人员应该具备哪些素质?请说明原因
22、你认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?以前做过性能测试吗?使用哪些工具进行的?
23、设要对一个自动饮料售货机软件进行黑盒测试,设软件的规格说明如下:
有一个处理单价为1元5角的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”“雪碧”或“红茶”按钮,相应的饮料就送出来,若投入2元硬币,在送出饮料的同时退还5角硬币
(1)、试用因果图法,建立该软件的因果图;
(2)、设计测试该软件的全部测试用例。
24、设计最少的测试用例实现条件覆盖:
if(A>0 and B>0)
X=X/A;
if(A>1 or X>1)
X=X+1;
System.out.printf(”X=“+x);
25、使用你熟练的一种语言,将一个单向链表反转
26、有两表
表一 AA
种类 T 库存总量 S
A 997
B 1234
表二 BB
种类T 出库数量 S
A 105
A 213
B 115
B 211
B 303
用一条SQL语句求出A、B两类货物库存各剩多少?
27、下面是一个注册入口,输入用户名和有效的邮箱,点击“立即注册”按钮。你会在输入的邮箱中收到一个注册验证的邮件,该邮件中有一个链接,点击后,就能注册成功。请你考虑应该从哪些测试要点来展开测试?
更多相关文章推荐:
1.2017软件测试笔试题以及答案
2.2017软件测试常见的面试笔试题(附答案)
3.2017软件测试笔试题目总结
4.关于软件测试工程师笔试题目
5.2017软件测试笔试题汇总
6.2017软件测试工程师笔试题目
7.2017华为软件测试笔试题
8.软件测试笔试题
9.2017软件测试笔试题目
10.IT名企软件测试笔试题
篇11:360软件测试笔试题
1.写出你所知道的3种常用的排序方法,并用其中一种方法设计出程序为数组a[100]排序。
2.什么是兼容性测试?兼容性测试侧重哪些方面,请按照优先级用矩阵图表列出。
3.我现在有个程序,发现在WIN98上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?
先问了个问题:FAT16/FAT32/NTFS 哪个的安全性最好,为什么?
4. 关于C++类的继承,看程序写出输出结果,A是虚类,B继承A,跟一般C++的书上的习题差不多。
5. 写出在32位机器下,计算几个变量的size
★ 测试工程师笔试题
★ 笔试题
★ 软件测试试题库
★ 笔试题问答题
★ net笔试题
★ 埃森哲相关笔试题
★ 华为笔试题
应聘软件测试的笔试题(通用11篇)




