自考问答 自考本科自考百科
自考问答 > 自考百科 > 自考软件产品测试题

自考软件产品测试题

发布时间:

自考软件产品测试题

发布时间:

自考软件产品测试题

看了大家的解答,针对最后一题,应该选B。

d d a c d a d a dc b

软件测试常见笔试题分享

一、判断题

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 .项目阶段成果已经被基线化

三、填空

1. 软件验收测试包括:_正式验收测试,alpha测试,beta测试。

2. 系统测试的策略有:功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试

(有的可以合在一起,分开写只要写出15 就满分哦)

3. 设计系统测试计划需要参考的项目文挡有:_软件测试计划,软件需求工件和迭代计划。

4. 对面向过程的系统采用的集成策略有:自顶向下,自底向上两种。

5. 通过画因果图来写测试用例的步骤为:

(1)根据程序规格说明书描述,分析并确定因(输入条件)和果(输出结果或程序状态的'改变),画出因果图。

(2)将得到的因果图转换为判定表。

(3)为判定表中每一列所表示的情况设计一个测试用例。

四、简答

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 怎么做好文档测试

仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。

检查文档的编写是否满足文档编写的目的

内容是否齐全,正确

内容是否完善

标记是否正确

21.C 22.D23.B24.C25.D26.C27.B28.A29.D30.B答案是自己做出来的,我这里没有标准答案。

自考软件产品测试真题

软件工程自考难度大不大?

这得因人而异,同时还得看看考生的英语是咋样的,虽然该专业的英语是选考科目,但是和英语打交道是不可避免的,毕竟是属于与计算机类型的专业。所以,小编在此建议英语较好或是与英语基础的考生报考该专业,对于英语不敢兴趣的考生要慎重决定。且该专业需要考生具有较强的逻辑思维,所以,考生可以先自己评估一下,看看自己是不是十分适合该专业,而且不要一味认为大家决定好就是好。

软件工程自考本科科目:

软件项目管理(一)、计算机网络技术、离散数学(二)、Java语言程序设计(一)(实践)、软件开发工具与环境、多媒体计算机技术(实践)、高级数据库技术、网络应用程序设计(实践)、软件工程、面向对象程序设计、英语(二)、软件产品测试、概率论与数理统计(二)、信息安全工程、毕业设计。

注:英语(二)是可以通过选择加考其他科目来免考的。

自考生如何备考?

在备考前,我们需要去找我们需要考试的信息和资料。这点,可以从各省的教育考试院官网了解,或者去询问自考办的相关信息。获得消息之后,我们要参考官网的消息,认真的规划自己要考什么。

购买教学资料,教材,真题等等。如果有报班的同学,可以和辅导老师询问。如果是自己考的话,那么可以找考过的朋友和同学问问。提前了解一些基本信息!然后按照计划开始复习。

网上下载历年试卷和考试大纲,把答案在教材书上找出来。因为自考试题是从题库中出来的,往往会反复考到,只要把这些题目都背下来,一般及格没有问题。根据大纲复习,要求识记和掌握的重点背下来,就可以有好的成绩。自考的题目范围广,但难度不大,所以要记住的内容比较多。

做好自考学习规划:任何事情,要想成功,都要有一定的规划,自考也一样,要想快速通过,你就要制定适合自己的学习规划,包括,自考想要达到什么样的效果,为了这个结果,自考你先要考哪科,要怎么复习、每天花多少时间,什么时候复习什么科目,这些都最好有个对自己来说科学合理的规划,这样,你会发现学习起来轻松,得到的反馈也是好的。

有人上传的自考《资产评估》土豆音频:我跟他要的还不错,精讲很清楚很完整

上学吧在线考试题库有自考考试试题,而且是免费在线考试的,每天都会更新。

今天教务老师给大家收集整理了软件测试技术自考教材的相关问题解答,还有免费的自考历年真题及自考复习重点资料下载哦,以下是全国我们为自考生们整理的一些回答,希望对你考试有帮助!北大青鸟java培训:软件测试技术自学需要阅读哪些书籍?软件测试相信现在很多学习互联网IT技术的人已经都接触或者说了解过了,那么在不参加培训班的基础上,如何才能学习掌握软件测试技术呢?对了,就是通过读书来学习。下面,太原软件测试培训学校就给大家分享了关于软件测试的几本书,一起来了解一下吧。(1)软件测试的艺术软件测试工程师入门“圣经”。软件从业人员必备书。计算机经典著作。技术类“常青树”书籍。本书对软件测试类型、用例设计方法、测试策略等,都有精彩具体的描述;总结的十大软件测试经典原则,至今仍被广为引用。此书100多页,适合每年精读一次,每次都会有新的感悟。PS:此书版出版于1979年,比八九零后存在的历史还长。(2)软件测试软件测试行业入门“地图”。软件测试新人的指导书。本书描述了软件测试行业的“概貌”,开发过程、软件产品、实战测试策略、测试相关文档、测试未来、测试职业等。有心人,能从此书中找到软件测试世界的入口,找到知识才能的用武之地。(3)代码大全软件开发世界的“入口地图”。软件行业人员的“新手圣经”,“百科全书”。经典中的经典,大师中的大师,众多大咖联名点赞。本书总结、归纳了,软件工程业行之有效的、细节具体的实践知识,让你可以利用前人智慧、避免重蹈覆辙。如,通过“隐喻”理解和表达软件,高质量的编程经验细节,软件质量改进方法,软件集成,软件人员,等等。几乎每一章,都是描述了软件职业的一个深入方向,每章的“更多资源”,是更多本的深入学习的经典书籍。此书近1000页,适合先系统化学习,了解全貌,再随时查阅,或深入研究。PS:如果你想做一个真正的“软件行业”相关人员,此书必读。领学习资料计算机培训你好,我想买自考的书,请问你那里有下面买几书。自考的软件工程专业自考的书建议买盗的,在标价的基础上有3到6折的优惠什么的还有就是考什么就买什么书,虽然说自考的书都感觉差不多,不过有的书可能在明年或什么时候和改了网上买,分摊一下一本才12–16哪里多少天到货什么都有吗这是我的专业课肯定都有的,如果是小县城一般4-5天就可以到,市的话2-3天就可以了我一般玩的是淘宝,进去一搜就很多软件人工测试技术有哪些测试方法?软件人工测试技术有哪些测试方法?该技术共涉及四种方法:代码检查、代码走查、桌面检查、同行评审;其更着重详细讲述的是第一个方法。《软件测试技术的主要内容是什么?软件测试技术》的主要内容是什内容分为三部分,第一部分为概念基础、测试理论的背景及发展,简要地分析了当前测试技术的现状;第二部分介绍软件测试的程序分析技术、测试技术,软件测试的方法和策略,分析了软件业在测试方面的研究成果,并总结了测试的基本原则和一些好的实践经验;第三部分介绍了两种测试工具软件基于Windows的WinRunner和服务器负载测试软件WAS自考/成考有疑问、不知道自考/成考考点内容、不清楚当地自考/成考政策,点击底部咨询官网老师,免费领取复习资料:

自考软件产品测试题库

一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共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.设二叉树共有n个叶子结点,所有非叶子结点都有左右子树,则此二叉树共有的结点数是( ) A.2(n-1) B.2n+1 C.2n D.2n-1 7.处于等待状态的进程是因为( ) A.等待CPU B.等待某事件的发生 C.程序太大 D.系统死锁 8.程序地址重定位是指把程序中的逻辑地址变换成( ) A.计算机内部的地址 B.计算机的实地址 C.主存空间的物理地址 D.用户要访问的地址 9.在索引结构中,每个文件的索引表指明( ) A.文件信息所在的逻辑块与物理块之间的对应关系 B.文件所有的物理块号 C.文件的逻辑块号 D.物理块的位置 10.在操作系统中引入缓冲技术的主要目的是( ) A.加快I/O的速度 B.在于改善CPU与I/O设备之间速度不匹配的情况 C.加快文件读写的速度 D.加快磁盘的读写速度 11.微型计算机系统的外部设备与主机信息交换的方式并不采用( ) A.通道技术方式 B.中断方式 C.直接内存存取DMA方式 D.查询方式 12.数据库结构可分为三级,它被定义为( ) A.子模式、外模式和内模式 B.外模式、概念模式和内模式 C.概念模式、模式和物理模式 D.外模式、内模式和物理模式 13.IBM公司研制的IMS系统是典型的( ) A.层次模型系统 B.网状模型系统 C.关系模型系统 D.文件管理系统 14.关系代数中,属于传统的集合运算是( ) A.投影(Projection) B.选择(Selection) C.连接(join) D.笛卡儿积(Caretesian product) 15.FoxPro中,备注型M(Memo)字段的内容放在备注文件中,它的扩展名为( ) A.FMT B.FPT C.TXT D.BAK 16.排序命令SORT ON〈关键字段名〉/A中的参数A表明( ) A.按递减方式排序 B.按递增方式排序 C.不分英文字母大小写排序 D.按记录输入的先后排序 17.详细设计的主要任务是确定和描述模块的功能及( ) A.模块的接口 B.实现方法和编写程序 C.模块的接口和实现方法 D.编码与调试 18.数据词典的结构是( ) A.按字典序排列的命名数据流 B.自顶向下、逐步分解的分层结构 C.数据项条目的集合 D.自底向上、逐步归纳的分层结构 19.模块之间联系的方式一般是( ) A.CALL语句或直接引用 B.控制调用 C.数据调用 D.直接跳转(GOTO) 20.软件维护的任务是继续排除错误和( ) A.测试、运行 B.继续测试程序 C.增加功能 D.不断地修改扩充 二、填空题(每空1分,共10分) 21.多道程序系统和___________的出现是操作系统成熟的标志。 22.从逻辑上抽象地反映___________之间的结构关系称为数据的逻辑结构。 23.在一个长度为n的顺序表中的第i(1≤i≤n)个元素之前插入一个元素时,需向后移动___________个元素。 24.把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的结构称为___________. 25.操作系统具有___________、存储管理、文件管理、设备管理和作业管理的功能。 26.程序是具有独立功能的指令的集合,它是___________概念。而进程是程序的一次运行活动,它是动态的概念。 27.数据库的层次模型有且仅有一个结点无双亲,而网状模型一定会有___________,这是与层次模型的重要区别。 28.设对关系R进行σF(R)这样的选择运算,其中F是___________. 29.“软件工程学”是采用工程的概念、原理、技术和___________来研究和维护软件的方法体系。 30.根据数据变换性质,数据流图分为二类,即变换型结构和___________. 三、名词解释题(每小题3分,共12分) 31.多道程序系统 32.树的定义 33.虚拟设备技术 34.实体(Entity) 四、简答题(每小题3分,共12分) 35.已知散列表的地址是0到8,散列函数为H(K)=K%7,采用线性探测法处理冲突。请将下面所示的关键码值存入该散列表中。 {100,26,21,35,3,78,84,46} 0 1 2 3 4 5 6 7 8 散列表: 36.操作系统中存储管理的功能是什么 37.若有关系R:A B C 与关系S:A D E a1 b1 c1 a1 d1 4 a2 b2 c2 a1 d2 5 a3 b2 c3 a3 d3 8 其中数据元素下标不同者必不相同,试问σE>4(R S)的运算结果是什么 38.试述软件测试的目的。 五、阅读理解题(每小题6分,共18分) 39.下面是利用二分查找算法在一个有序表中插入一个元素x,并保持表的有序性的函数。 请在函数中的____处填上正确的内容,完成该函数。 bininsert (sqlist r, int x, int n) {int low=1, high=n,mid,s,i,find=0; while (low<=high && ! find) {_____(1)_____; if (x自考软件产品测试题目

黑盒测试(Black-box Testing,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。 采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。 黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误。 黑盒测试试图发现以下类型的错误: 1)功能错误或遗漏; 2)界面错误; 3)数据结构或外部数据库访问错误; 4)性能错误; 5)初始化和终止错误。一、黑盒测试的测试用例设计方法·等价类划分方法·边界值分析方法·错误推测方法·因果图方法·判定表驱动分析方法·正交实验设计方法·功能图分析方法等价类划分: 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 1) 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能. 无效等价类:与有效等价类的定义恰巧相反. 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性. 2)划分等价类的方法:下面给出六条确定等价类的原则. ①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类. ②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类. ③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类. ④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类. ⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则). ⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类.3)设计测试用例:在确立了等价类后,可建立等价类表,列出所有划分出的等价类: 输入条件 有效等价类 无效等价类 ... ... ... ... ... ... 然后从划分出的等价类中按以下三个原则设计测试用例: ①为每一个等价类规定一个唯一的编号. ②设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步.直到所有的有效等价类都被覆盖为止. ③设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所有的无效等价类都被覆盖为止.边界值分析法 边界值分析方法是对等价类划分方法的补充.(1)边界值分析方法的考虑: 长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误. 使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.(2)基于边界值分析方法选择测试用例的原则: 1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据. 2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据. 3)根据规格说明的每个输出条件,使用前面的原则1). 4)根据规格说明的每个输出条件,应用前面的原则2). 5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例. 6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例. 7)分析规格说明,找出其它可能的边界条件.错误推测法 错误推测法: 基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结. 还有, 输入数据和输出数据为0的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的例子作为测试用例.因果图方法 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型). 因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况. 利用因果图生成测试用例的基本步骤: (1) 分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符. (2) 分析软件规格说明描述中的语义.找出原因与结果之间, 原因与原因之间对应的关系. 根据这些关系,画出因果图. (3) 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不不可能出现. 为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件. (4) 把因果图转换为判定表. (5) 把判定表的每一列拿出来作为依据,设计测试用例. 从因果图生成的测试用例(局部,组合关系下的)包括了所有输入数据的取TRUE与取FALSE的情况,构成的测试用例数目达到最少,且测试用例数目随输入数据数目的增加而线性地增加. 前面因果图方法中已经用到了判定表.判定表(Decision Table)是分析和表达多逻辑条件下执行不同操作的情况下的工具.在程序设计发展的初期,判定表就已被当作编写程序的辅助工具了.由于它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确. 判定表通常由四个部分组成. 条件桩(Condition Stub):列出了问题得所有条件.通常认为列出得条件的次序无关紧要. 动作桩(Action Stub):列出了问题规定可能采取的操作.这些操作的排列顺序没有约束. 条件项(Condition Entry):列出针对它左列条件的取值.在所有可能情况下的真假值. 动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作. 规则:任何一个条件组合的特定取值及其相应要执行的操作.在判定表中贯穿条件项和动作项的一列就是一条规则.显然,判定表中列出多少组条件取值,也就有多少条规则,既条件项和动作项有多少列. 判定表的建立步骤:(根据软件规格说明) ①确定规则的个数.假如有n个条件.每个条件有两个取值(0,1),故有 种规则. ②列出所有的条件桩和动作桩. ③填入条件项. ④填入动作项.等到初始判定表. ⑤简化.合并相似规则(相同动作). B. Beizer 指出了适合使用判定表设计测试用例的条件: ①规格说明以判定表形式给出,或很容易转换成判定表. ②条件的排列顺序不会也不影响执行哪些操作. ③规则的排列顺序不会也不影响执行哪些操作. ④每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则. ⑤如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要.黑盒测试的优点 1. 基本上不用人管着,如果程序停止运行了一般就是被测试程序crash了 2. 设计完测试例之后,下来的工作就是爽了,当然更苦闷的是确定crash原因黑盒测试的缺点 1. 结果取决于测试例的设计,测试例的设计部分来势来源于经验,OUSPG的东西很值得借鉴 2. 没有状态转换的概念,目前一些成功的例子基本上都是针对PDU来做的,还做不到针对被测试程序的状态转换来作 3. 就没有状态概念的测试来说,寻找和确定造成程序crash的测试例是个麻烦事情,必须把周围可能的测试例单独确认一遍。而就有状态的测试来说,就更麻烦了,尤其不是一个单独的testcase造成的问题。这些在堆的问题中表现的更为突出。黑盒测试(功能测试)工具的选择 那么,如何高效地完成功能测试?选择一款合适的功能测试工具并培训一支高素质的工具使用队伍无疑是至关重要的。尽管现阶段存在少数不采用任何功能测试工具,从事功能测试外包项目的软件服务企业。短期来看,这类企业盈利状况尚可,但长久来看,它们极有可能被自动化程度较高的软件服务企业取代。 目前,用于功能测试的工具软件有很多,针对不同架构软件的工具也不断推陈出新。这里重点介绍的是其中一个较为典型自动化测试工具,即Mercury公司的WinRunner。 WinRunner是一种用于检验应用程序能否如期运行的企业级软件功能测试工具。通过自动捕获、检测和模拟用户交互操作,WinRunner能识别出绝大多数软件功能缺陷,从而确保那些跨越了多个功能点和数据库的应用程序在发布时尽量不出现功能性故障。 WinRunner的特点在于: 与传统的手工测试相比,它能快速、批量地完成功能点测试; 能针对相同测试脚本,执行相同的动作,从而消除人工测试所带来的理解上的误差; 此外,它还能重复执行相同动作,测试工作中最枯燥的部分可交由机器完成; 它支持程序风格的测试脚本,一个高素质的测试工程师能借助它完成流程极为复杂的测试,通过使用通配符、宏、条件语句、循环语句等,还能较好地完成测试脚本的重用; 它针对于大多数编程语言和Windows技术,提供了较好的集成、支持环境,这对基于Windows平台的应用程序实施功能测试而言带来了极大的便利。 WinRunner的工作流程大致可以分为以下六个步骤: 1.识别应用程序的GUI 在WinRunner中,我们可以使用GUI Spy来识别各种GUI对象,识别后,WinRunner会将其存储到GUI Map File中。它提供两种GUI Map File模式: Global GUI Map File和GUI Map File per Test。其最大区别是后者对每个测试脚本产生一个GUI文件,它能自动建立、存储、加载,推荐初学者选用这种模式。但是,这种模式不易于描述对象的改变,其效率比较低,因此对于一个有经验的测试人员来说前者不失为一种更好的选择,它只产生一个共享的GUI文件,这使得测试脚本更容易维护,且效率更高。 2.建立测试脚本 在建立测试脚本时,一般先进行录制,然后在录制形成的脚本中手工加入需要的TSL(与C语言类似的测试脚本语言)。录制脚本有两种模式: Context Sensitive和Analog,选择依据主要在于是否对鼠标轨迹进行模拟,在需要回放时一般选用Analog。在录制过程中这两种模式可以通过F2键相互切换。 只要看看现代软件的规模和功能点数就可以明白,功能测试早已跨越了单靠手工敲敲键盘、点点鼠标就可以完成的阶段。而性能测试则是控制系统性能的有效手段,在软件的能力验证、能力规划、性能调优、缺陷修复等方面都发挥着重要作用。 3.对测试脚本除错(debug) 在WinRunner中有专门一个Debug Toolbar用于测试脚本除错。可以使用step、pause、breakpoint等来控制和跟踪测试脚本和查看各种变量值。 4.在新版应用程序执行测试脚本 当应用程序有新版本发布时,我们会对应用程序的各种功能包括新增功能进行测试,这时当然不可能再来重新录制和编写所有的测试脚本。我们可以使用已有的脚本,批量运行这些测试脚本测试旧的功能点是否正常工作。可以使用一个call命令来加载各测试脚本。还可在call命令中加各种TSL脚本来增加批量能力。 5.分析测试结果 分析测试结果在整个测试过程中最重要,通过分析可以发现应用程序的各种功能性缺陷。当运行完某个测试脚本后,会产生一个测试报告,从这个测试报告中我们能发现应用程序的功能性缺陷,能看到实际结果和期望结果之间的差异,以及在测试过程中产生的各类对话框等。 6.回报缺陷(defect) 在分析完测试报告后,按照测试流程要回报应用程序的各种缺陷,然后将这些缺陷发给指定人,以便进行修改和维护。 常用的功能测试方法功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。常用的测试方法如下:1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。2. 相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。3. 检查按钮的功能是否正确:如update, cancel, delete, save等功能是否正确。4. 字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度,会不会出错.5. 字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错.6. 标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键.看系统处理是否正确.7. 中文字符处理: 在可以输入中文的系统输入中文,看会否出现乱码或出错.8. 检查带出信息的完整性: 在查看信息和update信息时,查看所填写的信息是不是全部带出.,带出信息和添加的是否一致9. 信息重复: 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理.10. 检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按”delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理.11. 检查添加和修改是否一致: 检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型.12. 检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错.同时,也要注意,会不会报和自己重名的错.13. 重复提交表单:一条已经成功提交的纪录,back后再提交,看看系统是否做了处理。14. 检查多次使用back键的情况: 在有back的地方,back,回到原来页面,再back,重复多次,看会否出错.15. search检查: 在有search功能的地方输入系统存在和不存在的内容,看search结果是否正确.如果可以输入多个search条件,可以同时添加合理和不合理的条件,看系统处理是否正确.16. 输入信息位置: 注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方.17. 上传下载文件检查:上传下载文件的功能是否实现,上传文件是否能打开。对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能够做到。18. 必填项检查:应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前加*19. 快捷键检查:是否支持常用快捷键,如Ctrl C Ctrl V Backspace等,对一些不允许输入信息的字段,如选人,选日期对快捷方式是否也做了限制。20. 回车键检查: 在输入结束后直接按回车键,看系统处理如何,会否报错.您好!今后一起共勉!有时间逛逛it168,365testing

什么都不懂的小白就能面试上软件测试,为什么去面试网络工程师小白连个机会有没有,但是面试软件测试就能立即面试上

网页链接

目前只有百度文库这个作者的试卷比较全面,18年10月份的可以去里面找找,基本很多科目都有了

黑盒测试(Black-box Testing,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。 采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。 黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误。 黑盒测试试图发现以下类型的错误: 1)功能错误或遗漏; 2)界面错误; 3)数据结构或外部数据库访问错误; 4)性能错误; 5)初始化和终止错误。一、黑盒测试的测试用例设计方法·等价类划分方法·边界值分析方法·错误推测方法·因果图方法·判定表驱动分析方法·正交实验设计方法·功能图分析方法等价类划分: 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 1) 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能. 无效等价类:与有效等价类的定义恰巧相反. 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性. 2)划分等价类的方法:下面给出六条确定等价类的原则. ①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类. ②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类. ③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类. ④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类. ⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则). ⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类.3)设计测试用例:在确立了等价类后,可建立等价类表,列出所有划分出的等价类: 输入条件 有效等价类 无效等价类 ... ... ... ... ... ... 然后从划分出的等价类中按以下三个原则设计测试用例: ①为每一个等价类规定一个唯一的编号. ②设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步.直到所有的有效等价类都被覆盖为止. ③设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所有的无效等价类都被覆盖为止.边界值分析法 边界值分析方法是对等价类划分方法的补充.(1)边界值分析方法的考虑: 长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误. 使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.(2)基于边界值分析方法选择测试用例的原则: 1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据. 2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据. 3)根据规格说明的每个输出条件,使用前面的原则1). 4)根据规格说明的每个输出条件,应用前面的原则2). 5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例. 6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例. 7)分析规格说明,找出其它可能的边界条件.错误推测法 错误推测法: 基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结. 还有, 输入数据和输出数据为0的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的例子作为测试用例.因果图方法 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型). 因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况. 利用因果图生成测试用例的基本步骤: (1) 分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符. (2) 分析软件规格说明描述中的语义.找出原因与结果之间, 原因与原因之间对应的关系. 根据这些关系,画出因果图. (3) 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不不可能出现. 为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件. (4) 把因果图转换为判定表. (5) 把判定表的每一列拿出来作为依据,设计测试用例. 从因果图生成的测试用例(局部,组合关系下的)包括了所有输入数据的取TRUE与取FALSE的情况,构成的测试用例数目达到最少,且测试用例数目随输入数据数目的增加而线性地增加. 前面因果图方法中已经用到了判定表.判定表(Decision Table)是分析和表达多逻辑条件下执行不同操作的情况下的工具.在程序设计发展的初期,判定表就已被当作编写程序的辅助工具了.由于它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确. 判定表通常由四个部分组成. 条件桩(Condition Stub):列出了问题得所有条件.通常认为列出得条件的次序无关紧要. 动作桩(Action Stub):列出了问题规定可能采取的操作.这些操作的排列顺序没有约束. 条件项(Condition Entry):列出针对它左列条件的取值.在所有可能情况下的真假值. 动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作. 规则:任何一个条件组合的特定取值及其相应要执行的操作.在判定表中贯穿条件项和动作项的一列就是一条规则.显然,判定表中列出多少组条件取值,也就有多少条规则,既条件项和动作项有多少列. 判定表的建立步骤:(根据软件规格说明) ①确定规则的个数.假如有n个条件.每个条件有两个取值(0,1),故有 种规则. ②列出所有的条件桩和动作桩. ③填入条件项. ④填入动作项.等到初始判定表. ⑤简化.合并相似规则(相同动作). B. Beizer 指出了适合使用判定表设计测试用例的条件: ①规格说明以判定表形式给出,或很容易转换成判定表. ②条件的排列顺序不会也不影响执行哪些操作. ③规则的排列顺序不会也不影响执行哪些操作. ④每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则. ⑤如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要.黑盒测试的优点 1. 基本上不用人管着,如果程序停止运行了一般就是被测试程序crash了 2. 设计完测试例之后,下来的工作就是爽了,当然更苦闷的是确定crash原因黑盒测试的缺点 1. 结果取决于测试例的设计,测试例的设计部分来势来源于经验,OUSPG的东西很值得借鉴 2. 没有状态转换的概念,目前一些成功的例子基本上都是针对PDU来做的,还做不到针对被测试程序的状态转换来作 3. 就没有状态概念的测试来说,寻找和确定造成程序crash的测试例是个麻烦事情,必须把周围可能的测试例单独确认一遍。而就有状态的测试来说,就更麻烦了,尤其不是一个单独的testcase造成的问题。这些在堆的问题中表现的更为突出。黑盒测试(功能测试)工具的选择 那么,如何高效地完成功能测试?选择一款合适的功能测试工具并培训一支高素质的工具使用队伍无疑是至关重要的。尽管现阶段存在少数不采用任何功能测试工具,从事功能测试外包项目的软件服务企业。短期来看,这类企业盈利状况尚可,但长久来看,它们极有可能被自动化程度较高的软件服务企业取代。 目前,用于功能测试的工具软件有很多,针对不同架构软件的工具也不断推陈出新。这里重点介绍的是其中一个较为典型自动化测试工具,即Mercury公司的WinRunner。 WinRunner是一种用于检验应用程序能否如期运行的企业级软件功能测试工具。通过自动捕获、检测和模拟用户交互操作,WinRunner能识别出绝大多数软件功能缺陷,从而确保那些跨越了多个功能点和数据库的应用程序在发布时尽量不出现功能性故障。 WinRunner的特点在于: 与传统的手工测试相比,它能快速、批量地完成功能点测试; 能针对相同测试脚本,执行相同的动作,从而消除人工测试所带来的理解上的误差; 此外,它还能重复执行相同动作,测试工作中最枯燥的部分可交由机器完成; 它支持程序风格的测试脚本,一个高素质的测试工程师能借助它完成流程极为复杂的测试,通过使用通配符、宏、条件语句、循环语句等,还能较好地完成测试脚本的重用; 它针对于大多数编程语言和Windows技术,提供了较好的集成、支持环境,这对基于Windows平台的应用程序实施功能测试而言带来了极大的便利。 WinRunner的工作流程大致可以分为以下六个步骤: 1.识别应用程序的GUI 在WinRunner中,我们可以使用GUI Spy来识别各种GUI对象,识别后,WinRunner会将其存储到GUI Map File中。它提供两种GUI Map File模式: Global GUI Map File和GUI Map File per Test。其最大区别是后者对每个测试脚本产生一个GUI文件,它能自动建立、存储、加载,推荐初学者选用这种模式。但是,这种模式不易于描述对象的改变,其效率比较低,因此对于一个有经验的测试人员来说前者不失为一种更好的选择,它只产生一个共享的GUI文件,这使得测试脚本更容易维护,且效率更高。 2.建立测试脚本 在建立测试脚本时,一般先进行录制,然后在录制形成的脚本中手工加入需要的TSL(与C语言类似的测试脚本语言)。录制脚本有两种模式: Context Sensitive和Analog,选择依据主要在于是否对鼠标轨迹进行模拟,在需要回放时一般选用Analog。在录制过程中这两种模式可以通过F2键相互切换。 只要看看现代软件的规模和功能点数就可以明白,功能测试早已跨越了单靠手工敲敲键盘、点点鼠标就可以完成的阶段。而性能测试则是控制系统性能的有效手段,在软件的能力验证、能力规划、性能调优、缺陷修复等方面都发挥着重要作用。 3.对测试脚本除错(debug) 在WinRunner中有专门一个Debug Toolbar用于测试脚本除错。可以使用step、pause、breakpoint等来控制和跟踪测试脚本和查看各种变量值。 4.在新版应用程序执行测试脚本 当应用程序有新版本发布时,我们会对应用程序的各种功能包括新增功能进行测试,这时当然不可能再来重新录制和编写所有的测试脚本。我们可以使用已有的脚本,批量运行这些测试脚本测试旧的功能点是否正常工作。可以使用一个call命令来加载各测试脚本。还可在call命令中加各种TSL脚本来增加批量能力。 5.分析测试结果 分析测试结果在整个测试过程中最重要,通过分析可以发现应用程序的各种功能性缺陷。当运行完某个测试脚本后,会产生一个测试报告,从这个测试报告中我们能发现应用程序的功能性缺陷,能看到实际结果和期望结果之间的差异,以及在测试过程中产生的各类对话框等。 6.回报缺陷(defect) 在分析完测试报告后,按照测试流程要回报应用程序的各种缺陷,然后将这些缺陷发给指定人,以便进行修改和维护。 常用的功能测试方法功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。常用的测试方法如下:1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。2. 相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。3. 检查按钮的功能是否正确:如update, cancel, delete, save等功能是否正确。4. 字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度,会不会出错.5. 字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错.6. 标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键.看系统处理是否正确.7. 中文字符处理: 在可以输入中文的系统输入中文,看会否出现乱码或出错.8. 检查带出信息的完整性: 在查看信息和update信息时,查看所填写的信息是不是全部带出.,带出信息和添加的是否一致9. 信息重复: 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理.10. 检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按”delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理.11. 检查添加和修改是否一致: 检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型.12. 检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错.同时,也要注意,会不会报和自己重名的错.13. 重复提交表单:一条已经成功提交的纪录,back后再提交,看看系统是否做了处理。14. 检查多次使用back键的情况: 在有back的地方,back,回到原来页面,再back,重复多次,看会否出错.15. search检查: 在有search功能的地方输入系统存在和不存在的内容,看search结果是否正确.如果可以输入多个search条件,可以同时添加合理和不合理的条件,看系统处理是否正确.16. 输入信息位置: 注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方.17. 上传下载文件检查:上传下载文件的功能是否实现,上传文件是否能打开。对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能够做到。18. 必填项检查:应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前加*19. 快捷键检查:是否支持常用快捷键,如Ctrl C Ctrl V Backspace等,对一些不允许输入信息的字段,如选人,选日期对快捷方式是否也做了限制。20. 回车键检查: 在输入结束后直接按回车键,看系统处理如何,会否报错.您好!欢迎共同讨论!有时间逛逛IT实验室,天天软件测试网

软件产品测试自考真题

如下四类笔试题内容是软件测试最常考的精华题,大家敬请收藏! 一、判断正误题 1、测试是证明软件正确的方法。(×) 2、测试中应该对有效和无效、期望和不期望的输入都要测试。(√) 3、对于连锁型分支结构,若有n个判定语句,则有2n条路径。(√) 4、GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁。(√) 5、黑盒测试也称为结构测试。(×) 6、测试是调试的一个部分 (×) 7、程序中隐藏错误的概率与其已发现的错误数成正比(√) 8、测试的目的是发现软件中的错误。(√) 二、不定项选择题 1、下面的哪一项测试步骤中需要进行局部数据结构测试:( A ) A、单元测试 B、集成测试 C、确认测试 D、系统测试 2、从是否需要执行被测软件的角度,软件测试技术可划分的类型是:( AC )。 A、静态测试 B、黑盒测试 C、动态测试 D、白盒测试 3、从测试阶段角度,测试结束的正确顺序是:( B ) A、单元测试、集成测试、系统测试、确认测试 B、单元测试、系统测试、集成测试、确认测试 C、确认测试、集成测试、系统测试、单元测试 D、确认测试、系统测试、集成测试、单元测试 4、软件的六大质量特性包括:( A ) A、功能性、可靠性、可用性、效率、可维护、可移植 B、功能性、可靠性、可用性、效率、稳定性、可移植 C、功能性、可靠性、可扩展性、效率、稳定性、可移植 D、功能性、可靠性、兼容性、效率、稳定性、可移植 5、在GB/T17544中,软件包质量要求包括三部分,即产品描述要求、( A )、程 序和数据要求。 A、用户文档要求 B、系统功能要求 C、设计要求说明 D、软件配置要求 6、( )可以作为软件测试结束的标志。 A、使用了特定的测试用例 B、错误强度曲线下降到预定的水平 C、查出了预定数目的错误 D、按照测试计划中所规定的时间进行了测试 7、导致软件缺陷的原因有很多,A—D是可能的原因,其中最主要的原因包括( ABCD )。 A、软件需求说明书编写的不全面,不完整,不准确,而且经常更改 B、软件设计说明书 C、软件操作人员的水平 D、开发人员不能很好的理解需求说明书和沟通不足 1 2

软件测试[1]就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。下面是我为你整理的软件测试面试题,希望对你有所帮助!

01. 为什么要在一个团队中开展软件测试工作?

因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作。在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。

02. 您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?

我曾经做过web测试,后台测试,客户端软件,其中包括功能测试,性能测试,用户体验测试。最擅长的是功能测试

03. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)

测试类型有:功能测试,性能测试,界面测试。

功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。

界面测试,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。

区别在于,功能测试关注产品的所有功能上,要考虑到每个细节功能,每个可能存在的功能问题。性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性。界面测试更关注于用户体验上,用户使用该产品的时候是否易用,是否易懂,是否规范(快捷键之类的),是否美观(能否吸引用户的注意力),是否安全(尽量在前台避免用户无意输入无效的数据,当然考虑到体验性,不能太粗鲁的弹出警告)?做某个性能测试的时候,首先它可能是个功能点,首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试

04.您认为做好测试用例设计工作的关键是什么?

白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果

黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题

05. 请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。

黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。

白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。

软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:

1、是否有不正确或遗漏的功能?

2、在接口上,输入是否能正确的接受?能否输出正确的结果?

3、是否有数据结构错误或外部信息(例如数据文件)访问错误?

4、性能上是否能够满足要求?

5、是否有初始化或终止性错误?

软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:

1、对程序模块的所有独立的执行路径至少测试一遍。

2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。

3、在循环的边界和运行的界限内执行循环体。

4、测试内部数据结构的有效性,等等。

单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。

单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。

集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。

系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。(常见的联调测试)

系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。

验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。

验收测试是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。

06. 测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?

软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。

测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。所以其中最重要的是测试测试策略和测试方法(最好是能先评审)

07. 您认为做好测试计划工作的关键是什么?

1. 明确测试的目标,增强测试计划的实用性

编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确

2.坚持“5W”规则,明确内容与过程

“5W”规则指的是“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How(如何做)”。利用 “5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。

3.采用评审和更新机制,保证测试计划满足实际需求

测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。

4. 分别创建测试计划与测试详细规格、测试用例

应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。

08. 您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。

1.等价类划分

划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.

2.边界值分析法

边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.

使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.

3.错误推测法

基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.

错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结. 还有, 输入数据和输出数据为0的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的例子作为测试用例.

4.因果图方法

前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型). 因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况.

09. 请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。

就说最近的这次网站功能的测试吧

首先:得到相关文档(需求文档和设计文档),理解需求和设计设计思想后,想好测试策略(测试计划简单点就OK了),考虑到测试环境,测试用例,测试时间等问题。

第二步:设计测试用例,测试策略是:把网站部分的功能点测试完,然后在进行系统测试(另外个模块呢有另一个测试人员负责,可以进行联调测试),网站模块的测试基本是功能测试和界面测试(用户并发的可能性很小,所以不考虑):这次的网站的输入数据呢是使用数据库中的某张表记录,如果表中某一数据记录中新加进来的(还没有被处理的,有个标志位),网站启动后会立刻去刷那张表,得到多条数据,然后在进行处理。处理过程中,会经历3个步骤,网站才算完成了它的任务。有3个步骤呢,就可以分别对 这3个步骤进行测试用例的设计,尽量覆盖到各种输入情况(包括数据库中的数据,用户的输入等),得出了差不多50个用例。界面测试,也就是用户看的到的地方,包括发送的邮件和用户填写资料的页面展示。

第三步:搭建测试环境(为什么这个时候考虑测试环境呢?因为我对网站环境已经很熟了,只有有机器能空于下来做该功能测试就可以做了),因为网站本身的环境搭建和其他的系统有点不同,它需要的测试环境比较麻烦,需要web服务器(Apache,tomcat),不过这次需求呢,网站部分只用到了tomcat,所以只要有tomcat即可

第四步:执行测试

10. 您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。

是的,曾经做过网站方面的性能测试,虽然做的时间并不久(2个月吧),当时呢,是有位网站性能测试经验非常丰富的前辈带着我一起做。

性能测试类型包括负载测试,强度测试,容量测试等

负载测试:负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。

强度测试: 强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况

容量测试:确定系统可处理同时在线的最大用户数

在网站流量逐渐加大的情况下,开始考虑做性能测试了,首先要写好性能测试计划,根据运营数据得出流量最大的页面(如果是第一次的话,一般是首页,下载页,个人帐户页流量最大,而且以某种百分比),

Web服务器指标指标:

* Avg Rps: 平均每秒钟响应次数=总请求时间 / 秒数;

* Successful Rounds:成功的请求;

* Failed Rounds :失败的请求;

* Successful Hits :成功的点击次数;

* Failed Hits :失败的点击次数;

* Hits Per Second :每秒点击次数;

* Successful Hits Per Second :每秒成功的点击次数;

* Failed Hits Per Second :每秒失败的点击次数;

* Attempted Connections :尝试链接数;

11. 您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。

12. 您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?

13. 在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?

14. 您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理?如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。

15. 您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么?

16. 在您以往的测试工作中,最让您感到不满意或者不堪回首的事情是什么?您是如何来对待这些事情的?

17. 在即将完成这次笔试前,您是否愿意谈一些自己在以往的学习和工作中获得的工作经验和心得体会?(可以包括软件测试、过程改进、软件开发或者与此无关的其他方面)

18.你对测试最大的兴趣在哪里?为什么?

最大的兴趣就是测试有难度,有挑战性!做测试越久越能感觉到做好测试有多难。曾经在无忧测试网上看到一篇文章,是关于如何做好一名测试工程师。一共罗列了十一二点,有部分是和人的性格有关,有部分需要后天的努力。但除了性格有关的1、2点我没有把握,其他点我都很有信心做好它。

刚开始进入测试行业时,对测试的认识是从无忧测试网上了解到的一些资料,当时是冲着做测试需要很多技能才能做的好,虽然入门容易,但做好很难,比开发更难,虽然当时我很想做开发(学校专业课我基本上不缺席,因为我喜欢我的专业),但看到测试比开发更难更有挑战性,想做好测试的意志就更坚定了。

不到一年半的测试工作中,当时的感动和热情没有减退一点(即使环境问题以及自身经验,技术的不足,做测试的你一定也能理解)。

我觉得做测试整个过程中有2点让我觉得很有难度(对我来说,有难度的东西我就非常感兴趣),第一是测试用例的设计,因为测试的精华就在测试用例的设计上了,要在版本出来之前,把用例写好,用什么测试方法写?(也就是测试计划或测试策略),如果你刚测试一个新任务时,你得花一定的时间去消化业务需求和技术基础,业务需求很好理解(多和产品经理和开发人员沟通就能达到目的),而技术基础可就没那么简单了,这需要你自觉的学习能力,比如说网站吧,最基本的技术知识你要知道网站内部是怎么运作的的,后台是怎么响应用户请求的?测试环境如何搭建?这些都需要最早的学好。至少在开始测试之前能做好基本的准备,可能会遇到什么难题?需求细节是不是没有确定好?这些问题都能在设计用例的时候发现。

第二是发现BUG的时候了,这应该是测试人员最基本的任务了,一般按测试用例开始测试就能发现大部分的bug,还有一部分bug需要测试的过程中更了解所测版本的情况获得更多信息,补充测试用例,测试出bug。还有如何发现bug?这就需要在测试用例有效的情况下,通过细心和耐心去发现bug了,每个用例都有可能发现bug,每个地方都有可能出错,所以测试过程中思维要清晰(测试过程数据流及结果都得看仔细了,bug都在里面发现的)。如何描述bug也很有讲究,bug在什么情况下会产生,如果条件变化一点点,就不会有这个bug,以哪些最少的操作步骤就能重现这个bug,这个bug产生的规律是什么?如果你够厉害的话,可以帮开发人员初步定位问题。

19. 你的测试职业发展是什么?

测试经验越多,测试能力越高。所以我的职业发展是需要时间累积的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年累积测试经验,按如何做好测试工程师的11,12点要求自己,不断的更新自己改正自己,做好测试任务。

20. 你自认为测试的优势在哪里?

优势在于我对测试坚定不移的信心和热情,虽然经验还不够,但测试需要的基本技能我有信心在工作中得以发挥。

软件开发网

21. 你以前工作时的测试流程是什么?

公司对测试流程没有规定如何做,但每个测试人员都有自己的一套测试流程。我说下我1年来不断改正(自己总结,吸取同行的方法)后的流程吧。需求评审(有开发人员,产品经理,测试人员,项目经理)->需求确定(出一份确定的需求文档)->开发设计文档(开发人员在开始写代码前就能输出设计文档)->想好测试策略,写出测试用例->发给开发人员和测试经理看看(非正式的评审用例)->接到测试版本->执行测试用例(中间可能会补充用例)->提交bug(有些bug需要开发人员的确定(严重级别的,或突然发现的在测试用例范围之外的,难以重现的),有些可以直接录制进TD)->开发人员修改(可以在测试过程中快速的修改)->回归测试(可能又会发现新问题,再按流程开始跑)。

22. 当开发人员说不是BUG时,你如何应付?

开发人员说不是bug,有2种情况,一是需求没有确定,所以我可以这么做,这个时候可以找来产品经理进行确认,需不需要改动,3方商量确定好后再看要不要改。二是这种情况不可能发生,所以不需要修改,这个时候,我可以先尽可能的说出是BUG的依据是什么?如果被用户发现或出了问题,会有什么不良结果?程序员可能会给你很多理由,你可以对他的解释进行反驳。如果还是不行,那我可以给这个问题提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。其实有些真的不是bug,我也只是建议的方式写进TD中,如果开发人员不修改也没有大问题。如果确定是bug的话,一定要坚持自己的立场,让问题得到最后的确认。

23.你为什么想离开目前的职务?

因为公司运作情况并不理想,公司需要调整部门体系,公司考虑到缩减部门人员,所以大批量的裁员(有6,7个),这是我的第一份工作,对公司也有较深的感情,因为在这里我找到了职业理想(就是测试),所以公司需要精简人员,我自愿退出。虽然很舍不得,但我将会有新的发挥能力的舞台。

24:你对我们公司了解有多少?

25:你找工作时,最重要的考虑因素为何?

工作的性质和内容是否能让我发挥所长,并不断成长。

26:为什么我们应该录取你?

您可以由我过去的工作表现所呈现的客观数据,明显地看出我全力以赴的工作态度。

27:请谈谈你个人的最大特色。

我的坚持度很高,事情没有做到一个令人满意的结果,绝不罢手。

28.白箱测试和黑箱测试是什么?什么是回归测试?

29。单元测试、集成测试、系统测试的侧重点是什么?

30。设计用例的方法、依据有那些?

31。一个测试工程师应具备那些素质和技能?

32.集成测试通常都有那些策略?

33.你用过的测试工具的主要功能、性能及其他?

34.一个缺陷测试报告的组成

35.基于WEB信息管理系统测试时应考虑的因素有哪些?

36.软件测试项目从什么时候开始,?为什么?

37.需求测试注意事项有哪些?

  •   索引序列
  •   自考软件产品测试题
  •   自考软件产品测试真题
  •   自考软件产品测试题库
  •   自考软件产品测试题目
  •   软件产品测试自考真题
  •   返回顶部

自考地区