【导语】“tangayo”通过精心收集,向本站投稿了8篇软件测试开发笔试题,下面是小编为大家整理后的软件测试开发笔试题,以供大家参考借鉴!
篇1:软件测试开发笔试题
第一部分 职业能力测评(共40分钟)
10道 行政职业能力测试
110道 性格测试
第二部分 技术笔试题(好像是60分钟)
选择题
涉及C++ delete函数,虚函数、结构体和类的关系、二叉树遍历、排序算法、网络协议(TCP/IP协议、SNMP协议、http协议)、软件工程
填空题
涉及 遍历、进程间通信方式、http协议格式、面向过程集成方法、软件测试方法、软件工程包含哪些步骤、jsp标签(注释标签有哪些)
问答题
1. Jsp 创建cookie的原理
2. 程序填空(C++),输入一数字型字符串自动转换成对应的数字,如输入
“123”转成数字123,输入“-123”转成-123
3. 编写程序两个大数据相加,两个大数据按字符串的方式输入
篇2:软件测试开发笔试题
一、单项选择题。(每个选项3分,20个选项,共60分)
1. 在一个单链表中,若p所指的结点不是最后结点,在p所指结点之后插进s所指结点,则应执行
操纵( B )。
A. s->next=p;p->next=s
B. s->next=p->next;p->next=s
C. s->next=p->next;p=s
D. p->next=s;s->next=p
2. 在下列排序方法中,不稳定的方法有( C )。
A. 回并排序与基数排序
B. 插进排序与希尔排序
C. 堆排序与快速排序
D. 选择排序与冒泡排序
3. 在多级存储体系中,“Cache-主存”结构的作用是解决( D )的题目。
A. 主存容量不足
B. 辅存与CPU 速度不匹配
C. 主存与辅存速度不匹配
D. 主存与CPU速度不匹配
4. 在需要经常查找结点的先驱与后继的场合中,使用( B )比较合适。
A. 单链表
B. 循环链表
C. 链栈
5. 带头结点的单链表head为空的判定条件( B )。
A. head=NULL
B. head->next=NULL
C. head->next=head
D. head!=NULL
6. 将一个递回算法改为对应的非递回算法时,通常需要使用( D )。
A. 优先队列
B. 队列
C. 循环队列
D. 栈
7. 下列描述的不是链表的优点是( C )。
A. 逻辑上相邻的结点物理上不必邻接
B. 插进、删除运算操纵方便,不必移动结点
C. 所需存储空间比线性表节省
D. 无需事先估计存储空间的大小
8. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句INSERT、DELETE、
UPDATE实现( D )功能。
A. 数据查询
B. 数据控制
C. 数据定义
D. 数据操纵
9. 设某种二叉树有如下特点:每个结点要么是叶子结点,要么有2棵子树。假如一棵这样的二叉树
中有m(m>0)个叶子结点,那么该二叉树上的结点总数为( B )。
A. 2m+1
B. 2m-1
C. 2(m-1)
D. 2m
10. TCP/IP协议栈的网络层的主要功能是通过( A )来完成的。
A. IP协议
B. TCP协议
C. 以太网协议
D. IGP协议
11. 实现不同的作业处理方式(如:批处理、分时处理、实时处理等),主要是基于操纵系统对( A )
治理采取了不同的策略。
A. 处理机
B. 存储
C. 数据库
D. 文件
12. 下面关于编译系统和解释系统的观点中,错误的是( A )。
A. 解释程序不产生目标代码,它直接执行源程序或源程序的内部形式
B. 使用编译系统时会区分编译阶段和运行阶段
C. 一般来说,解释系统比编译系统复杂,但是可移植性好
D. 一般来说,建立在编译基础上的系统在执行速度上要优于建立在解释执行基础上的系统
13. 散列文件使用散列函数将记录的关键字值计算转化为记录的存放地址。由于散列函数不是一对一
的关系,所以选择好的( D )方法是散列文件的关键。
A. 散列函数
B. 除余法中的质数
C. 冲突处理
D. 散列函数和冲突处理
14. 衡量查找算法效率的主要标准是( C )。
A. 元素个数
B. 所需的存储量
C. 均匀查找长度
D. 算法难易程度
15. 对于#include 和 #include “filename.h”,以下说法错误的是( B )。
A. #include 只搜索标准库路径
B. #include “filename.h”只搜索用户工作路径
C. #include 搜索范围比#include “filename.h”小
D. 两者可能等价
16. 类定义的外部,可以被访问的成员有( C )。
A. 所有类成员
B. private或protected的类成员
C. public的类成员
D. public或private的类成员
17. 下列的模板说明中,正确的有( A,C )(两个答案)。
A. template
B. template
C. template
D. template
18. 中断响应时间是指( C )。
A. 从中断处理开始到中断处理结束所用的时间
B. 从发出中断请求到中断处理结束所用的时间
C. 从发出中断请求到进进中断处理所用的时间
D. 从中断处理结束到再次中断请求的时间
19. ( A )面向对象程序设计语言不同于其他语言的主要特点。
A. 继续性
B. 消息传递
C. 多态性
D. 封装性
20. TCP/IP模型的体系结构中,ICMP协议属于( B )。
A. 应用层
B. 网络层
C. 数据链路层
D. 传输层
二、填空题。(每空4分,总计40分)
1. 阅读下列说明和流程图,将应填进(n)的字句写在答题纸的对应栏内。
【说明】liuxue86.com
正弦函数可以用如下的泰勒级数展开式来计算:
下面的流程图描述了利用上述展开式计算并打印sin(x)的近似值的过程,其中用E(>0)表示误差要
求,小于该误差即可结束计算,打印结果。
【流程图】
2. 阅读下列函数说明和C代码,将应填进(n)处的字句写在答题纸的对应栏内。
【说明】设有一个带表头结点的双向循环链表L,每个结点有4个数据成员:指向先驱结点的指针prior、指向后继结点的指针next、存放数据的成员data和访问频度freq。所有结点的freq初始时都为0.每当在链表上进行一次L.Locate(x)操纵时,令元素值x的结点的访问频度freq加1,并将该结点前移,链接到现它的访问频度相等的结点后面,使得链表中所有结点保持按访问频度递减的顺序排列,以使频繁
访问的结点总是靠近表头。
【函数】
void Locate(int &x)
{ <结点类型说明>
p=first->next;
while(p!=first && ) p=p->next;
if (p!=first)
{ <结点类型说明>
current=p;
current->prior->next=current->next;
current->next->prior=current->prior;
p=current->prior;
while(p!=first && ) p=p->prior;
;
current->prior=p;
p->next->prior=current;
}
else
printf(“Sorry. Not find! ”); \\没找到\\
}
三、附加题(30分)
“背包题目”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1,w2,…,wn,希看从N件物品中选择若干物品,所选物品的重量之和恰能放进该背包,即所选物品的重量之和即是S。递回和非递回解法都能求得“背包题目”的一组解,试写出“背包题目”的非递回解法
篇3:软件测试笔试题
一、能力题
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
篇4:软件测试笔试题
什么是软件测试?
软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
软件测试的目的?
测试的目的是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的商业风险。
需求文档测试:
主要测试需求中是否存在逻辑矛盾以及需求在技术上是否可以实现;
设计文档测试:
测试设计是否符合全部需求以及设计是否合理。
α测试:
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,进行重新测试。
篇5:软件测试笔试题
一、选择填空
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、怎样写测试计划和测试用例
简单点,测试计划里应有详细的测试策略和测试方法,合理详尽的资源安排等,至于测试用例,那是依赖于需求(包括功能与非功能需求)是否细化到功能点,是否可测试等。
篇6:软件测试经典笔试题
一、判断题(每题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. 什么是黑盒测试?黑盒测试主要采用的技术有哪些?
篇7:软件测试笔试题
软件的缺陷等级应如何划分?
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,进行重新测试。
什么是软件测试?
软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
篇8:软件测试笔试题
测试的目的是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的商业风险。
需求文档测试:
主要测试需求中是否存在逻辑矛盾以及需求在技术上是否可以实现;
设计文档测试:
测试设计是否符合全部需求以及设计是否合理。
α测试:
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的情况下,正常运行,且不会带来新的错误的这样一个过程。一般情况下是不需要全面测试的,而是根据修改的情况进行有效的测试。
白盒测试有哪几种方法?
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。
★ 测试工程师笔试题
★ 笔试题
★ 软件测试试题库
★ 笔试题问答题
★ net笔试题
软件测试开发笔试题(精选8篇)




