软件测试常见笔试题(精选12篇)由网友“自己家的猫”投稿提供,以下是小编精心整理的软件测试常见笔试题,仅供参考,希望能够帮助到大家。
篇1:软件测试常见笔试题
软件测试常见笔试题分享
一、判断题
1 . 软件测试 的目的是尽可能多的找出软件的缺陷,( Y)
2 .Beta 测试是验收测试的一种。( Y)
Acceptance testing
验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
3 .验收测试是由最终用户来实施的。( N )
是由测试人员来实施的
4 .项目立项前测试人员不需要提交任何工件。( Y ) 工件:加工过程中生产对象
5 .单元测试能发现约80% 的软件缺陷。( Y )
6 .代码评审是检查源代码是否达到模块设计的要求。( N )
代码评审也称代码复查,是指通过阅读代码来检查源代码与编码标准的符合性以及代码质量的活动。
7 .自底向上集成需要测试员编写驱动程序。( Y )
自顶向下综合测试的具体步骤为:
1 以主控模块作为测试驱动模块,把对主控模块进行单元测试时引入的所有桩模块用实际模块替代;
2 依据所选的集成策略(深度优先或广度优先),每次只替代一个桩模块;
3 每集成一个模块立即测试一遍;
4 只有每组测试完成后,才着手替换下一个桩模块;
5 为避免引入新错误,须不断地进行回归测试(即全部或部分地重复已做过的测试)。
自底向上综合测试的步骤分为:
1 把低层模块组织成实现某个子功能的模块群(cluster);
2 开发一个测试驱动模块,控制测试数据的输入和测试结果的输出;
3 对每个模块群进行测试;
4 删除测试使用的驱动模块,用较高层模块把模块群组织成为完成更大功能的新模块群。
8 .负载测试是验证要检验的系统的能力最高能达到什么程度。( N )
负载测试(Load testing),通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征。例如,响应时间、事务处理速率和其他与时间相关的方面。
9 .测试人员要坚持原则,缺陷未修复完坚决不予通过。( N )
10 .代码评审员一般由测试员担任。( N )
11 .我们可以人为的使得软件不存在配置问题。( N )
是一种标识、组织和控制修改的技术。软件配置管理应用于整个软件工程过程。我们知道,在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。
12 .集成测试计划在需求分析阶段末提交,
( N )
执行阶段
1)时间安排 单元测试已经完成后就可以开始执行集成测试了
2)输入 需求规格说明书 概要设计 集成测试计划 集成高度设计 集成测试例 集成测试规程 集成测试代码(如果有) 集成测试脚本 集成测试工具 详细设计 代码 单元测试报告
3)入口条件 单元测试阶段已经通过基线化评审
4)活动步 骤 执行集成测试用例 回归集成测试用例 撰写集成测试报告
5)输出 集成测试报告
6)出口条件 集成测试报告通过集成测试阶段基线评审
二、选择题
1 .软件验收测试的'合格通过准则是:(ABCD)
A . 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B . 所有测试项没有残余一级、二级和三级错误。
C . 立项审批表、需求分析文档、设计文档和编码实现一致。
D . 验收测试工件齐全。
2 .软件测试计划评审会需要哪些人员参加?( ABCD )
A .项目经理
B .SQA 负责人
软件质量保证(SQA)是建立一套有计划
目标 1: 软件质量保证工作是有计划进行的。
目标 2: 客观地验证软件项目产品和工作是否遵循恰当的标准、步骤和需求。
目标 3: 将软件质量保证工作及结果通知给相关组别和个人。
目标 4: 高级管理层接触到在项目内部不能解决的不符合类问题。
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 .项目阶段成果已经被基线化
三、填空
篇2:阿里巴巴软件测试常见笔试题
阿里巴巴软件测试常见笔试题
1. 把校园中同一区域的两张不同比例尺的地图叠放在一起,并且使其中较小尺寸的地图完全在较大尺寸的地图的覆盖之下,每张地图上都有经纬度坐标,显然,这两个坐标系并不相同。我们把恰好重叠在一起的两个相同的坐标称之为重合点。下面关于重合点的说法中正确的是
2. 某足球队有四名外援,分别来自巴西、荷兰、意大利和美国。他们分别擅长前锋、后卫或守门,其中:美国外援单独擅长守门;意大利外援不擅长前锋;巴西外援和另外某个外援擅长相同的位置;荷兰外援擅长的位置和巴西外援不同。以上条件可以推出巴西外援擅长的位置是
3. 毕业典礼后,某宿舍三位同学把自己的毕业帽扔了,随后每个人随机地拾起帽子,三个人中没有人选到自己原来带的帽子的概率是
4. 计算三个稠密矩阵A、B、C的乘积ABC,假定三个矩阵的尺寸分别为m*n, n*p, p*q,且m
5. 有字符序列{Q,H,C,Y,P,A,M,S,R,D,F,X},新序列{F,H,C,D,P, A,M,Q,R,S,Y,X}是下列______排序算法一趟扫描的结果
6. IP地址的相关知识
7. 有一只火鸡出生在某年春天。从出生第一天起,主人就会每天给它喂食。这只火鸡用一个模型来计算主人对它的爱的程度=吃到米的天数/(出生之后的总天数+1)。这只火鸡发现这个爱的指数每天都在上升。有一天感恩节到了,火鸡被主人杀掉了。关于火鸡的爱的指数模型的说法正确的是:
8. 读程序
9. UNIX系统代码段和数据段分开的目的
10. 线程调度的相关知识
11. 堆的概念
12. 棋盘上共有个格子,从1开始顺序编号。棋子初始放在第1格,通过扔骰子决定前进格子数,扔出x点就前进x格。骰子有6面,分别对应1至6;质量均匀。当棋子到达或超过2014,游戏结束。那么,棋子刚好到达2014的概率与______最接近
13. Linux系统中某个可执行文件属于root并且有setid,当一个普通用户mike运行这个程序时,产生的进程的有效用户和实际用户分别是
14. 一个函数定义的返回值是float,它不能在return语句中返回的值的类型是:
15. 随机存取实现的结构是什么
16. 某团队有 2/5的人会写Java程序,有3/4的人会写C++程序,这个团队里同时会写Java和C++的最少有______人,
17. 对立的两方争夺一个价值为1的物品,双方可以采取的策略可以分为鸽子策略和鹰策略。如果双方都是鸽子策略,那么双方各有1/2的几率获得该物品;如果双方均为鹰策略,那么双方各有1/2的概率取胜,胜方获得价值为1的物品,付出价值为1的代价,负方付出价值为1的代价;如果一方为鸽子策略,一方为鹰策略,那么鹰策略获得价值为1的物品。在争夺的`结果出来之前,没人知道对方是鸽子策略还是鹰策略。当选择鸽子策略的人的比例是某一个值时,选择鸽子策略和选择鹰策略的预期收益是相同的。那么该值是:
18. 有一个用数组C[1..m]表示的环形队列,m为数组的长度。假设f为队头元素在数组中的位置,r为队尾元素的后一位置(按顺时针方向)。若队列非空,则计算队列中元素个数的公式应为
19. 给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如, query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3。请注意程序效率
20. 如果让你来测试淘宝站内的搜索系统,请问你能想到哪些方法来进行测试?
21. 写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率
22. 数组比线性表速度更快的是哪个操作
23. 网络编程的相关概念
24. 二叉树前序、中序和后序的转化
25. 环形队列
26. 单链表的删除
27. 不同排序方法的区别
28. C++内存分配的问题
29. 页式存储管理的问题
30. 磁盘访问的问题
篇3:腾讯软件测试常见笔试题
,
请设计一个算法,判断这n个请求能否全部完成?若能,给出这n个请求的安排顺序。
29. 给定一个字符数组,要求写一个将其反转的函数。(函数中要求只能用一个int型的临时变量)
篇4:百度软件测试常见笔试题
百度软件测试常见笔试题
1. Java如何体现面向对象思想?(封装、继承、多态?)
2. Java如何实现多态?
3. 实现压栈操作?
4. 写一函数,实现查找某一字符串中子串的个数
5. 非递归实现二叉树的后序遍历,要求时间复杂度和空间复杂度都是O(n)
6. 链表,每个节点有两个指针,第一个指针指向后一个节点,第二个指针指向后一个的后一个节点,设计函数实现删除所有值为M的节点
7. 基于手机平台设计Push系统,包括手机端和Push Server端,这套Push系统是一个基础服务系统,不包括具体业务逻辑,是一个开放系统,开放给第三方应用开发者使用。请基于手机系统的一些特性,来设计这套Push系统。
1)描述手机端部分设计时,需要考虑的`关键性能指标有哪些
2)画出手机端程序结构图
3)画出第三方程序使用这套系统时所涉及到的相关部分系统结构图
4)你觉得基于这套系统能够开发一个什么样的第三方程序,并举一个例子
8. 写出几种常用的哈希算法,说说哈希算法的作用
9. 画出OSI的七层结构,然后说出HTTP是对应哪一层?
10. 简述 神马C语言编写代码运行与执行的注意点?
11. 用递归的方法统计字符的最大重复数,如AAABBC——最大重复数位3
12. 依次找出N个除3余2,除7余3的数
13. 针对它给出的一个产品需求写一个测试用例,具体就是针对一个输入法,通过键盘输入在显示器上显示出来,显示五个字,其中第一位为高频词(就是用户经常打的字)
14. 请说出树的深度优先、广度优先遍历算法,及非递归实现的特点
15. 程序找错
16. 一个典型的大型项目,通常由众多组件构成,这些组件之间复杂的编译依赖于在构建整个系统时,是最让人头疼的地方之一,
现在就有这样的一个大型项目,由N(N>1000)个组件构成,每个组件都是可以编译的,但组件之间存在着编译依赖,如组件N1依赖N2,即编译N1时N2必须已经先编译完成,否则N1不能完成编译,但组件之间没有循环依赖的问题。请设计一种快速算法,能完成整个项目的编译构建过程,并给出算法的时间复杂度。
17. 实现一个程序的完整代码
18. 编程:用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回。
篇5:软件测试笔试题
一、能力题
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
篇6:软件测试笔试题
什么是软件测试?
软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
软件测试的目的?
测试的目的是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的商业风险。
需求文档测试:
主要测试需求中是否存在逻辑矛盾以及需求在技术上是否可以实现;
设计文档测试:
测试设计是否符合全部需求以及设计是否合理。
α测试:
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,进行重新测试。
篇7:软件测试笔试题
一、选择填空
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、怎样写测试计划和测试用例
简单点,测试计划里应有详细的测试策略和测试方法,合理详尽的资源安排等,至于测试用例,那是依赖于需求(包括功能与非功能需求)是否细化到功能点,是否可测试等。
篇8:软件测试经典笔试题
一、判断题(每题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. 什么是黑盒测试?黑盒测试主要采用的技术有哪些?
篇9:软件测试笔试题
软件的缺陷等级应如何划分?
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,进行重新测试。
什么是软件测试?
软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
篇10:软件测试笔试题
测试的目的是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的商业风险。
需求文档测试:
主要测试需求中是否存在逻辑矛盾以及需求在技术上是否可以实现;
设计文档测试:
测试设计是否符合全部需求以及设计是否合理。
α测试:
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的情况下,正常运行,且不会带来新的错误的这样一个过程。一般情况下是不需要全面测试的,而是根据修改的情况进行有效的测试。
白盒测试有哪几种方法?
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。
篇11:海信软件测试笔试题
01. 为什么要在一个团队中开展软件测试工作?
因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作,在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。
02. 您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
我曾经做过web测试,后台测试,客户端软件,其中包括功能测试,性能测试,用户体验测试。最擅长的是功能测试
03. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同04. 的测试类型的区别与联系(如功能测试、性能测试……)
测试类型有:功能测试,性能测试,界面测试。
功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
界面测试,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的`感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。
区别在于,功能测试关注产品的所有功能上,要考虑到每个细节功能,每个可能存在的功能问题。性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性。界面测试更关注于用户体验上,用户使用该产品的时候是否易用,是否易懂,是否规范(快捷键之类的),是否美观(能否吸引用户的注意力),是否安全(尽量在前台避免用户无意输入无效的数据,当然考虑到体验性,不能太粗鲁的弹出警告)?做某个性能测试的时候,首先它可能是个功能点,首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试
05. 请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查,
软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?
2、在接口上,输入是否能正确的接受?能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?
软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:
1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。
单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。
集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。
系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。(常见的联调测试)
系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。
验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
验收测试是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。
06. 测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?
篇12:软件测试笔试题简答题
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 怎么做好文档测试
仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。
检查文档的编写是否满足文档编写的目的
内容是否齐全,正确
内容是否完善
标记是否正确
★ 软素质笔试题
★ 微电子EE笔试题
★ 笔试题主观题
【软件测试常见笔试题(精选12篇)】相关文章:
计算机试题2022-10-16
IQ题笔试题2023-05-16
大众机械招聘笔试题2022-06-25
试卷讲评课教学设计2023-07-18
“火柴棍式”程序员笔试题2022-05-06
会计笔试试题2024-02-08
软件测试笔试题2023-10-06
系统工程师招聘要求及试题2023-07-15
微软面试笔试试题大家谈2022-04-30
带你了解托福与雅思的区别2022-04-30