繁华造就堕落!

软件测试面试参考

上一篇 / 下一篇  2009-09-10 14:47:24

测试计划: 需要确定测试对象、 测试组织、 测试任务划分、 测试失败/通过的标准、 挂起恢复的条件、 时间
安排、资源安排、 风险估计和应急计划等;
测试方案: 侧重于规划测试活动的技术因素。 如: 确定被测特性、 测试组网、 测试对象关系图、 测试原理、
测试操作流程、测试需求、工具的设计、测试用例的设计(只是说明用例的设计原则, 具体的用例设计应
该在用例文档指出)、测试数据的设计等等;
测试指导书: 指测试过程文档,用来定义测试过程中的阶段、 活动、 输入输出、 角色职责、 模板、 工具等
等。
09. 您所熟悉的测试用例设计方法都有哪些? 请分别以具体的例子来说明这些方法在测试用例设计工作
的应用。答: 有黑盒和白盒两种测试种类, 黑盒有等价类划分法,边界分析法,因果图法和错误猜测法。
白盒有逻辑覆盖法,循环测试路径选择, 基本路径测试。
例子: 在一次输入多个条件的完整性查询中。利用等价类划分法则和边界分析法则,首先利用等价类划分
法, 可以一个或多个结果是 OK 的测试用例, 然后确认多个 NG 的测试用例, 然后利用边界值分析法,可以
对结果分别是 OK 和 NG 的测试用例进行扩展和补充。
10. 您认为做好测试用例设计工作的关键是什么?答: 测试用例设计工作的关键是对可行的和不可行的都
要考虑。1,输入 2,详细的操作步骤 3, 预期输出 4, 实际输出。
11. 请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。
12. 您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的内

13. 您以往是否曾经从事过性能测试工作? 如果有,请尽可能的详细描述您以往的性能测试工作的完整过
程。
14. 您在从事性能测试工作时, 是否使用过一些测试工具?如果有, 请试述该工具的工作原理,并以一个
具体的工作中的例子描述该工具是如何在实际工作中应用的。
答:有使用过 LoadRunner, 该工具能够录制测试人员的操作步骤,然后对这个操作步骤模拟出多个用户来
播放出来。
1。Visural User Genertor 创建脚本, 选择协议,录制操作, 编辑操作。
2。 中央控制器(Controller) 调度虚拟用户。 创建场景, 选择脚本,建立虚拟用户,设计 shedual,设置
ip spoofer。
3。运行脚本。 分析 shedual。
4。分析测试结果。
15. 您认为性能测试工作的目的是什么? 做好性能测试工作的关键是什么?
答:性能测试工作的目的是检查系统是否满足在需求说明书中规定的性能, 性能测试常常需要和强度测试
结合起来,并常常要求同时进行软件和硬件的检测。
性能测试主要的关注对象是响应时间,吞吐量,占用内存大小(辅助存储区),处理精度等。
16. 在您以往的工作中,一条软件缺陷(或者叫 Bug)记录都包含了哪些内容?如何提交高质量的软件缺
陷(Bug) 记录?
答:检测时间,系统环境,硬体环境,严重程度, 程式版本, 确认人,功能模块, 问题描述, 详细操作步
骤, 是否会重现。
问题描述和详细操作步骤要尽可能的详细。 Bug 应该尽量用书面语, 对与严重程度比较高的缺陷要在相同
环境下在测试一遍。
在 C/S 模式下,如果条件满足可以使用替换法来确认是 client 端的问题还是 server 端的问题。
面试题目:软件测试专业网站:51Testing 软件测试网 W:g d o:o
01. 为什么要在一个团队中开展软件测试工作?
因 为没有经过测试的软件很难在发布之前知道该软件的质量, 就好比 ISO 质量认证一样, 测试同样也
需要质量的保证, 这个时候就需要在团队中开展软件测试的工 作。 在测试的过程发现软件中存在的问题,

及时让开发人员得知并修改问题,在即将发布时, 从测试报告中得出软件的质量情况。
您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
我曾经做过 web 测试,后台测试, 客户端软件, 其中包括功能测试,性能测试, 用户体验测试。最擅长的
是功能测试
您所熟悉的软件测试类型都有哪些? 请试着分别比较这些不同 04. 的测试类型的区别与联系(如功能测
试、 性能测试……)
测试类型有: 功能测试,性能测试, 界面测试。
功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒
测试法进行动态测试时, 需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒
技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。
性能测试是通过自动化的测试工具模 拟多种正常、 峰值以及异常负载条件来对系统的各项性能指标进行测
试。 负载测试和压力测试都属于性能测试, 两者可以结合进行。 通过负载测试, 确定在各种工作 负载下系
统的性能,目标是测试当负载逐渐增加时, 系统各项性能指标的变化情况。 压力测试是通过确定一个系统
的瓶颈或者不能接收的性能点, 来获得系统能提供 的最大服务级别的测试。
界 面测试, 界面是软件与用户交互的最直接的层, 界面的好坏决定用户对软件的第一印象。 而且设计良好
的界面能够引导用户自己完成相应的操作, 起到向导的作用。 同时界面如同人的面孔, 具有吸引用户的直
接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败, 让用户
有挫败感,再实 用强大的功能都可能在用户的畏惧与放弃中付诸东流。
区 别在于, 功能测试关注产品的所有功能上, 要考虑到每个细节功能, 每个可能存在的功能问题。 性能测
试主要关注于产品整体的多用户并发下的稳定性和健壮性。 界 面测试更关注于用户体验上, 用户使用该产
品的时候是否易用, 是否易懂, 是否规范(快捷键之类的), 是否美观(能否吸引用户的注意力), 是否安
全(尽量在前 台避免用户无意输入无效的数据, 当然考虑到体验性, 不能太粗鲁的弹出警告) ?做某个性
能测试的时候, 首先它可能是个功能点, 首先要保证它的功能是没问题 的, 然后再考虑该功能点的性能测

请试着比较一下黑盒测试、 白盒测试单元测试、 集成测试、 系统测试、验收测试的区别与联系。
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部
成分是否以经过检查。
软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子, 测试人员完
全不考虑程序内部的逻辑结构和内部特性, 只依据程序的 需求规格说明书, 检查程序的功能是否符合它的
功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
1、 是否有不正确或遗漏的功能?
2、在接口上, 输入是否能正确的接受?能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
2、 5、是否有初始化或终止性错误?
3、 软件的白盒测试是对软件的过程性细节做细致的检查。 这种方法是把测试对象看做一个打开的盒子, 它
允许测试人员利用程序内部的逻辑结构及有关信息, 设计或 选择测试用例, 对程序所有逻辑路径进行测试。
通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。 因此白盒测试又称为结构测试或逻辑
驱动测试。 白盒测试主要是想对程序模块进行如下检查:
1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定, 取“真” 与取“假”的两种情况都能至少测一遍。
3、 在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性, 等等。

单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、 很明确的功能是否
正确。通常而言, 一个单元测试是用于判断某个特定条件(或者场景) 下某个特定函数的行为。
单元测试是由程序员自己来完成, 最终受益的也是程序员自己。 可以这么说, 程序员有责任编写功能代码,
同时也就有责任为自己的代码编写单元测试。执行单元测试, 就是为了证明这段代码的行为和我们期望的
一致。
集 成测试(也叫组装测试, 联合测试) 是单元测试的逻辑扩展。 它的最简单的形式是: 两个已经测试过的
单元组合成一个组件, 并且测试它们之间的接口。 从这一层意 义上讲, 组件是指多个单元的集成聚合。 在
现实方案中, 许多单元组合成组件, 而这些组件又聚合成程序的更大部分。 方法是测试片段的组合,并最
终扩展进程, 将 您的模块与其他组的模块一起测试。最后, 将构成进程的所有模块一起测试。
o L k&R O m136894系统测试是将经过测试的子系统装配成一个完整系统来测试。 它是检验系统是否确实
能提供系统方案说明书中指定功能的有效方法。
系统测试的目的是对最终软件系统进行全面的测试, 确保最终软件系统满足产品需求并且遵循系统
设计。
验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪, 并且可以让最终用
户将其用于执行软件的既定功能和任务。 软件测试专业网站:51Testing 软件测试网 l&K+F6T b,C p X
验收测试是向未来的用户表明系统能够像预定要求那样工作。 经集成测试后,已经按照设计把所有的模块
组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性, 这就是
验收测试的任务, 即软件的功能和性能如同用户所合理期待的那样。
06. 测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?
软 件测试计划是指导测试过程的纲领性文件, 包含了产品概述、 测试策略、 测试方法、 测试区域、 测试配
置、 测试周期、 测试资源、 测试交流、 风险分析等内容。 借助 软件测试计划, 参与测试的项目成员, 尤其
是测试管理人员,可以明确测试任务和测试方法, 保持测试实施过程的顺畅沟通, 跟踪和控制测试进度,
应对测试过程中 的各种变更。
测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范
围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。所以其中最重要的是测试
测试策略和测试方法(最好是能先评审)
07. 您认为做好测试计划工作的关键是什么?
1. 明确测试的目标,增强测试计划的实用性
编 写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷, 因此软件测试计划的价值取决于
它对帮助管理测试项目, 并且找出软件潜在的缺陷。 因此, 软 件测试计划中的测试范围必须高度覆盖功能
需求,测试方法必须切实可行, 测试工具并且具有较高的实用性, 便于使用,生成的测试结果直观、准确
2.坚持“5W” 规则,明确内容与过程
“5W” 规则指的是“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How
(如何做)”。 利用“5W” 规 则创建软件测试计划, 可以帮助测试团队理解测试的目的(Why), 明确测试的
范围和内容(What), 确定测试的开始和结束日期(When), 指出测试的 方法和工具(How), 给出测试文档
和软件的存放位置(Where)。
3. 采用评审和更新机制, 保证测试计划满足实际需求
测试计划写作完成后,如果没有经过评审, 直接发送给测试团队,测试计划内容的可能不准确或遗漏测试
内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。
4. 分别创建测试计划与测试详细规格、测试用例
应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试
用例放到独立创建的测试用例文档或测试用例管理数据库中。 测试计划和测试详细规格、测试用例之间是
战略和战术的关系, 测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测
试用例是完成测试任务的具体战术。

08. 您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中
的应用。
1. 等价类划分
划分等价类: 等价类是指某个输入域的子集合. 在该子集合中, 各个输入数据对于揭露程序中的错误都是等
效的. 并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试. 因此, 可以把全部输入数据合理
划分为若干等价类, 在每一个等价类中取一个数据作为测试的输入条件, 就可以用少量代表性的测试数据.
取得较好的测试结果. 等价类划分可有两种不同的情况:有效等价类和无效等价类.
2.边界值分析法
边界值分析方法是对等价类划分方法的补充。 测试工作经验告诉我, 大量的错误是发生在输入或输出范围的
边界上, 而不是发生在输入输出范围的内部. 因此针对各种边界情况设计测试用例, 可以查出更多的错误. 软
件测试专业网站:51Testing 软件测试网 8j R!N C+[
使用边界值分析方法设计测试用例, 首先应确定边界情况. 通常输入和输出等价类的边界, 就是应着重测试
的边界情况. 应当选取正好等于, 刚刚大于或刚刚小于边界的值作为测试数据, 而不是选取等价类中的典型
值或任意值作为测试数据. 软件测试专业网站:51Testing 软件测试网;K |,| y H I)S B"l
3.错误推测法
基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.
错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况, 根据他们选择测
试用例. 例如, 在单元测试时曾列出的许多在模块 中常见的错误. 以前产品测试中曾经发现的错误等,
这些就是经验的总结. 还有, 输入数据和输出数据为 0的情况. 输入表格为空格或输入表格只有一 行.
这些都是容易发生错误的情况. 可选择这些情况下的例子作为测试用例.
4. 因果图方法
前面介绍的等价类划分方法和边界值分析方法, 都是着重考虑输入条件, 但未考虑输入条件之间的联系, 相
互组合等. 考虑输入条件之间的相互组合, 可能会 产生一些新的情况. 但要检查输入条件的组合不是一件
容易的事情, 即使把所有输入条件划分成等价类, 他们之间的组合情况也相当多. 因此必须考虑采用一 种
适合于描述对于多种条件的组合, 相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻
辑模型). 因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况.
08. 您认为做好测试用例设计工作的关键是什么?
白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果
黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的
用例在合理的时间内发现最多的问题
09. 请以您以往的实际工作为例,10. 详细的描述一次测试用例设计的完整的过程。就说最近的这次网站
功能的测试吧
首先: 得到相关文档(需求文档和设计文档), 理解需求和设计设计思想后, 想好测试策略(测试计划简单
点就 OK 了),考虑到测试环境,测试用例, 测试时间等问题。 第二步: 设计测试用例,测试策略是:把网
站部分的功能点测试完, 然后在进行系统测试(另外个模块呢有另一个测试人员负责, 可以进行联调测试),
网站模块的测 试基本是功能测试和界面测试(用户并发的可能性很小,所以不考虑): 这次的网站的输入
数据呢是使用数据库中的某张表记录, 如果表中某一数据记录中新加进来 的(还没有被处理的, 有个标志
位), 网站启动后会立刻去刷那张表, 得到多条数据, 然后在进行处理。 处理过程中, 会经历 3 个步骤, 网
站才算完成了它的任务。 有 3 个步骤呢,就可以分别对这 3 个步骤进行测试用例的设计, 尽量覆盖到各种
输入情况(包括数据库中的数据, 用户的输入等), 得出了差不多 50 个用例。 界面 测试, 也就是用户看的
到的地方,包括发送的邮件和用户填写资料的页面展示。第三步:搭建测试环境(为什么这个时候考虑测
试环境呢?因为我对网站环境已经很熟了, 只有有机器能空于下来做该功能测试就可以做了), 因为网站本
身的环境搭 建和其他的系统有点不同,它需要的测试环境比较麻烦, 需要 web 服务器(Apache,tomcat),
不过这次需求呢, 网站部分只用到了 tomcat, 所以只要有 tomcat 即可; 第四步: 执行测试

您以往是否曾经从事过性能测试工作?如果有,12. 请尽可能的详细描述您以往的性能测试工作的完整过
程。
是的, 曾经做过网站方面的性能测试, 虽然做的时间并不久(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 :尝试链接数;
13.
您在从事性能测试工作时,14. 是否使用过一些测试工具?如果有,15. 请试述该工具的工作原理,
16. 并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。
17.
您认为性能测试工作的目的是什么? 做好性能测试工作的关键是什么?
18. 在您以往的工作中, 19. 一条软件缺陷(或者叫 Bug) 记录都包含了哪些内容?如何提交高质量的软
件缺陷(Bug) 记录?20. 您以往所从事的软件测试工作中,21. 是否使用了一些工具来进行软件缺陷(Bug)
的管理? 如果有, 22. 请结合该工具描述软件缺陷(Bug) 跟踪管理的流程。 23. 您认为在测试人员同 24.
开发人员的沟通过程中, 25. 如何提高沟通的效率和改善沟通的效果? 维持测试人员同 26. 开发团队中其
他成员良好的人际关系的关键是什么?27. 在您以往的测试工作中,28. 最让您感到不 29. 满意或者不 30.
堪回首的事情是什么?您是如何来对待这些事情的?31. 在即将完成这次笔试前, 32. 您是否愿意谈一些
自己在以往的学习和工作中获得的工作经验和心得体会?(可以包括软件测试、过程改进、软件开发或者
与此无关的其他方面)
33. 你对测试最大的兴趣在哪里?为什么?
刚开始进入测试行业时, 对测试的认识是从无忧测试网上了解到的一些资料,当时是冲着做测试需要很多
技能才能做的好, 虽然入门容易, 但做好很难, 比开发更难, 虽然当时我很想做开发(学校专业课我基本
上不缺席,因为我喜欢我的专业),但看到测试比开发更难更有挑战性,想做好测试的意志就更坚定了。
不到一年半的测试工作中,当时的感动和热情没有减退一点(即使环境问题以及自身经验,技术的不足,
做测试的你一定也能理解)。
我觉得做测试整个过程中有 2 点让我觉得很有难度(对我来说, 有难度的东西我就非常感兴趣), 第一是测
试用例的设计, 因为测试的精华就在测试用例的设计上了, 要在版本出来之前, 把用例写好, 用什么测试
方法写? (也就是测试计划或测试策略), 如果你刚测试一个新任务时, 你得花一定的时间去消化业务需求
和技术基 础, 业务需求很好理解(多和产品经理和开发人员沟通就能达到目的),而技术基础可就没那么
简单了, 这需要你自觉的学习能力, 比如说网站吧, 最基本的技术知 识你要知道网站内部是怎么运作的的,
后台是怎么响应用户请求的?测试环境如何搭建? 这些都需要最早的学好。 至少在开始测试之前能做好基
本的准备,可能会遇 到什么难题?需求细节是不是没有确定好? 这些问题都能在设计用例的时候发现。
第二是发现 BUG 的时候了,这应该是测试人员最基本的任务了,一般按测试用例开始测试就能发现大部分

的 bug, 还有一部分 bug 需要测试的过程中更了解所测 版本的情况获得更多信息, 补充测试用例, 测试出
bug。 还有如何发现 bug?这就需要在测试用例有效的情况下, 通过细心和耐心去发现 bug 了, 每个用例都
有可能发现 bug, 每个地方都有可能出错, 所以测试过程中思维要清晰(测试过程数据流及结果都得看仔
细了,bug 都在里面发现的)。 如何描述 bug 也很有 讲究,bug 在什么情况下会产生, 如果条件变化一点点,
就不会有这个 bug, 以哪些最少的操作步骤就能重现这个 bug, 这个 bug 产生的规律是什么?如果你够厉害
的话,可以帮开发人员初步定位问题。
34. 你的测试职业发展是什么?
测试经验越多,测试能力越高。 所以我的职业发展是需要时间累积的,一步步向着高级测试工程师奔去。
而且我也有初步的职业规划, 前 3 年累积测试经验, 按如何做好测试工程师的 11, 12 点要求自己, 不断的
更新自己改正自己,做好测试任务。
35. 你自认为测试的优势在哪里?
优势在于我对测试坚定不移的信心和热情, 虽然经验还不够, 但测试需要的基本技能我有信心在工作中得
以发挥。
36.
你以前工作时的测试流程是什么?
公司对测试流程没有规定如何做, 但每个测试人员都有自己的一套测试流程。 我说下我 1 年来不断改正(自
己总结,吸取同行的方法)后的流程吧。需求评审(有开发 人员, 产品经理,测试人员,项目经理)->
需求确定(出一份确定的需求文档) ->开发设计文档(开发人员在开始写代码前就能输出设计文档)- >
想好测试策略, 写出测试用例->发给开发人员和测试经理看看(非正式的评审用例) ->接到测试版本->
执行测试用例(中间可能 会补充用例)->提交 bug(有些 bug 需要开发人员的确定(严重级别的, 或突
然发现的在测试用例范围之外的, 难以重现的), 有些可以直接录制进 TD) ->开发人员修改(可以在测试
过程中快速的修改)->回归测试(可能又会发现新问题,再按流程开始跑)。
37. 当开发人员说不 38. 是 BUG 时,39. 你如何应付?
开发人员说不是 bug,有 2 种情况,一是需求没有确定, 所以我可以这么做,这个时候可以找来产品经理
进行确认, 需不需要改动,3 方商量确定好后再看要不要 改。 二是这种情况不可能发生, 所以不需要修改,
这个时候, 我可以先尽可能的说出是 BUG 的依据是什么?如果被用户发现或出了问题, 会有什么不良结果?
程序 员可能会给你很多理由, 你可以对他的解释进行反驳。 如果还是不行,那我可以给这个问题提出来,
跟开发经理和测试经理进行确认, 如果要修改就改, 如果不要修 改就不改。 其实有些真的不是 bug, 我也只
是建议的方式写进 TD 中, 如果开发人员不修改也没有大问题。 如果确定是 bug 的话, 一定要坚持自己的立
场, 让问 题得到最后的确认。
24: 你对我们公司了解有多少?
25: 你找工作时, 最重要的考虑因素为何?
工作的性质和内容是否能让我发挥所长, 并不断成长。
26: 为什么我们应该录取你?
您可以由我过去的工作表现所呈现的客观数据,明显地看出我全力以赴的工作态度。
27: 请谈谈你个人的最大特色。
我的坚持度很高, 事情没有做到一个令人满意的结果, 绝不罢手。
28. 白箱测试和黑箱测试是什么?什么是回归测试?
29。 单元测试、集成测试、 系统测试的侧重点是什么?
30。 设计用例的方法、 依据有那些?
31。 一个测试工程师应具备那些素质和技能?
32. 集成测试通常都有那些策略?
33. 你用过的测试工具的主要功能、性能及其他?
34. 一个缺陷测试报告的组成
35. 基于 WEB 信息管理系统测试时应考虑的因素有哪些?

36. 软件测试项目从什么时候开始,? 为什么?
37. 需求测试注意事项有哪些?
38. 简述一下缺陷的生命周期
39. 测试分析测试用例注意(事项)?
39. 你在你所在的公司是怎么开展测试工作的?是如何组织的?
40. 你认为理想的测试流程是什么样子?
你是怎样工作的?
41. 软件测试活动的生命周期是什么?请画出软件测试活动的流程图?
针对缺陷采取怎样管理措施?什么是测试评估?测试评估的范围是什么?如果能够执行完美的黑盒测试,
还需要进行白盒测试吗?为什么?测试结束的标准是什么? 软件验收测试除了 alpha,beta 测试以外, 还有
哪一种?
做测试多久了?以前做过哪些项目?
你们以前测试的流程是怎样的?
<答: 测试计划-测试用例设计-测试执行-测试分析报告>用过哪些测试工具?
为什么选择测试这行?
<答: 它是一个新兴的行业, 有发展潜力, 而且很锻炼人,需要掌握更多的技能,比做开发要更难>
为什么值得他们公司雇用?
帮助公司提高软件质量和测试部门的技术水平
如果我雇用你,你能给部门带来什么贡献?
分享我的测试经验和测试技能, 提高测试部门技术水平
如何从工作中看出你是个自动自觉的人
自动自觉范围太广
1. 工作成果 2. 工作质量
你的工作通常能在时限内完成吗. (我想问一下就是她问这个问题的动机是什么)
在有足够的资源和合理的工作量的情况下,完全可以按时完成, 并能比一般人做的更好
通常你对于别人批评你会有什么样的反应
有错即改,无措勉之
如果明知这样做不对, 你还会依主管的指过去做吗
在公司内部下级是否有申诉渠道?
如果你接到一个客户抱怨的电话,你确知无法解决他的问题, 你会怎么处理?
为什么抱怨? 是怎么样的问题?
如果是客服问题, 提交客服部门解决
如果是质量问题, 分析原因,下一版本改进
什么叫单元测试?请就软件测试人员应该具备什么样的基本素质说说你的看法。请就如何在开发中进行软
件质量控制说说你的看法
4 简述软件测试的意义,以及软件测试的分类
1、 功能测试,性能测试, 界面测试,安全测试(可以简单点, 比如只涉及到 COOKIES 里的内容),压力测
试(商业性质的网站) 等等,B/S 软件也要根据其具体功能采用不同的测试策略。
态度、 责任心、自信、敏锐的观察力、良好的发散思维 3、先设计后开发模式,加强单元测试,加强代码
走查,有一套完整的白盒测试方法。 关键是加强开发人员的质量意识, 增进程序员向工程师水平发展。
1、什么是软件测试?2’
【要点】

在规定条件下对程序进行操作, 以发现错误,对软件质量进行评估, 包括对软件形成过程的文档、 数
据以及程序进行测试。

【详解】
软件测试就是在软件投入运行前对软件需求分析、 软件设计规格说明书和软件编码进行查错(包括代码执
行活动与人工活动)。 也可以说, 软件测试是为了发现错误而执行程序的过程。 或者说, 软件测试是根据软
件开发各阶段的规格说明和程序的内部构造而精心设计一批测试用例(即输入数据及其预期的输出结果),
并利用这些测试用例去运行程序,以发现程序错误,这是在软件投入前,对软件需求分析、软件设计规格
说明书和软件编码的最终复审, 是软件质量保障的关键步骤。
1、 软件测试与软件质量保证的区别。10’
【要点】

软件测试只是质量保证工作中的一个环节, 软件质量保证与软件测试是软件质量工程的两个不同层面
的工作;
质量保证:通过预防、检查与改进来保证软件质量,采用全面质量管理和过程改进的原理来开展质量
保证工作,主要关注软件质量的检查与测试, 主要着眼于软件开发活动的过程、 步骤和产物。
软件测试:通过执行软件来,对过程中的产物(开发文档和程序) 进行走查,发现问题, 报告质量
【详解】

软件测试和软件质量保证是软件质量工程中的两个不同层面的工作。 软件测试只是软件质量保证工作
中的一个重要环节。
质量保证(QA)的工作是通过预防、 检查与改进来保证软件的质量。 QA 采用的方法重要是按“全面质量
管理” 和“过程改进”的原来开展质量保证工作。 虽然在软件质量保证的活动中也有一些测试活动,但它
所以关注的是软件质量的检查和测量。它的主要工作是对软件生命周期的管理,以及检验软件是否满足规
定的质量和用户的需求, 因此重要是着眼于软件开发活动中的过程, 步骤和产物, 而不是软件进行剖析,
找出问题或者评估。

软件测试虽然与开发过程紧密相关, 但它所关心的不是过程的活动, 而是对过程的产物, 以及开发出
的软件进行剖析。测试人员要对过程的产物(开发文档和源代码)进行走读,运行软件。以找到问题和报
告质量。测试人员必须假设软件存在潜在的问题, 测试中所做的操作就是为了找出更多的问题,而不是为
了验证(事实上也不可能)软件的正确性。 所以软件测试虽然对提高软件的质量起着关键的作用, 但它只
是软件质量保证的一个重要环节。
3、请描述如何划分缺陷与错误严重性和优先级别? 10’
给软件缺陷与错误划分严重性和优先级的通用原则:

(1) 表示软件缺陷所造成饿危害和恶劣程度。
(2) 优先级表示修复缺陷的重要程度和次序。
严重性:
(1)、严重: 系统崩溃、数据丢失、 数据毁坏
(2)、较严重:操作性错误、结果错误、 遗漏功能

(3)、 一般:小问题、错别字、UI 布局、 罕见故障
(4)、建议: 不影响使用的瑕疵或更好的实现。
优先级:
(1)、最高优先级:立即修复, 停止进一步测试。
(2)、次高优先级:在产品发布之前必须修复。
(3)、中等优先级:如果时间允许应该修复。
(4)、最低优先级:可能会修复,但是也可能发布。
4、BUG 信息应该包含那些内容。5’
测试软件名称、 测试版本号、 测试人名称、 测试事件、测试软件和硬件配置环境、

发现软件错误的类型、 错误的严重程度、 详细步骤、必要的附图、 测试注释。
5、 测试用例说明应该包含哪些内容?10’

(1) 定义(ANSI/IEEE829): 编写用于输入的实际数据和预期结果, 并明确指出使用具体测试用例产

生的测试程序的任何限制
(2) 包含的内容

l 标识符:由测试设计过程说明和测试程序说明引用的唯一标识符
l 测试项:描述被测试的详细特性、 代码模块等
l 输入说明: 列举执行测试用例的所有输入内容或者条件
l 输出说明: 描述进行测试用例预期的结果
l 环境要求: 执行测试用例的软件、 硬件、测试工具及人员等要求
l 特殊要求: 描述执行测试用例的特殊要求
l 用例之间的依赖性: 注明与其分用例的依赖关系或受其他用例的影响
测试用例计划包含4个目标即:组织性、重复性、跟踪和测试证实。
6、 WEB 应用软件测试必须进行以下不同类型的测试, 包括: 功能测试、 性能测试、 可用性测试、 兼容测试、
安全测试等。15’
(1)、 功能测试主要是用来测试 WEB 应用软件是否履行了预期的功能, 确保每一个功能与需求说明一致。
根据测试对象的不同, 可分为: 链接测试、表单测试、COOKIES 测试、 设计语言测试、数据库测试。
(2)、 性能测试主要是确保 WEB 应用系统达到要求的性能, 一般用最大的运行时间、吞吐率、相应时间
描述。
性能测试又分为: 链接速度测试、负载测试和压力测试,
负载测试是为了测量 WEB 系统在某一负载级别上的性能,以保证 WEB 系统在需求范围内能正常工作。负载
级别可以是某个时刻同时访问 WEB 系统的用户数量,也可以是在线数据处理的数量。
压力测试是指实际破坏一个 WEB 应用系统时测试系统的反映, 压力测试是测试系统的限制和故障恢复能力,
也就是测试 WEB 应用系统会不会崩溃, 在什么情况下会崩溃, 压力测试的区域包括表单、 登录、和其他信
息传输页面等。压力测试侧重于确定系统崩溃时的用户负载量。

(3)、可用性测试:导航测试、 图形测试、内容测试、 整体界面测试。
(4)、 兼容性测试: 确定 WEB 应用软件在不同软件、 硬件和网络配置下运行情况,它主要是用来测试在

不同浏览器中是否都可以正确地显示 WEB应用程序的页面内容,从而保证页面中的某些代码,比如:
JavaScript. ,ActiveX 、CSS 等在不同平台配置上都能具有正确性。
(5)、安全测试。
7、网络应用测试的主要内容是什么? 10’
网络应用系统包含: 网络应用软件、工作站桌面软件和客户/服务器数据库。
网络应用测试重点考察: 多用户并发访问性能、 应用系统响应时间、 应用系统对网络

资源的占用情况、 与网络相关的应用功能特性、应用系统在网络环境下的稳定性。

(1) 特性测试: 特性测试核实的是单个命令和应用程序功能, 通常用较小的负载完成, 关注的

是用户界面、 应用程序的操作, 以及用户与计算机之间的互操作。
(2) 功能测试: 要求网络配置和负载非常接近于运行环境下的模式, 关注的是当多个用户使用

应用程序时, 网络和文件系统或者数据库系统之间的交互情况, 核实的是重负载下后台
功能能否正确执行。
(3) 应用应用负载测试。
(4) 应用系统响应时间测试。
(5) 应用系统升级测试。
8、用户文档测试的要点10’

(1)、明确读者群:根据读者群(如初级、中级、 高级用户) 的不同来检查文档内容,
保证用户能够看得懂、 能理解
(2)、术语: 文档中术语的描述要适合定位的读者群, 用法一致, 标准定义与业界规范相吻合

(3)、文档内容的正确性: 要保证所有信息是真实正确的
(4)、文档内容的完整性: 要完全根据提示逐步操作, 检查是否存在遗漏的地方
(5)、文档与程序的一致性:按照文档操作后,检查软件返回的结果与文档描述是否一致
(6)、文档的易用性: 检查是否便于用户查找相应的内容
(7)、图表与界面截图:检查所有图表与界面截图与发布的程序版本一致
(8)、样例和示例:检查所有的样例和示例能够正确完成;
(9)、语言: 中文文档保证无错别字和二义性
(10)、印刷与包装:印刷质量, 包装质量
9、在 DBMS 中,视图不是真正的包含数据,只是把定义存于数据字典中。作用为:10’
(1)、简化用户操作。
(2)、使用户能从多角度中看待同一数据。
(3)、对重构数据提供一定程度的逻辑独立性。
(4)、能对机密数据提供安全保护。
CREATE VIEW<视图名>[(<列名>[<列名>]……)]
AS
子查询
[With Check Option]
CREATE VIEW IS_Student
AS
SELECT Sno,Sname,Sage
FROM Student
WHERE Sdept =’IS’
With Check Option
10、 测试人员应该具备的能力和技术。8’
1、 基本能力
2、 沟通能力
3、 技术能力
测试方法应用、测试用例设计、 测试工具使用(测试管理系统、自动化测试工具、负载测试工具)
4、 管理能力
5、 文档能力
char * strcat(char * dest, const char * src)
{
char *tmp = dest;
while (*dest)
dest++;
while ((*dest++ = *src++) != '\0')
;
return tmp;
}

TestDirector 是 MI(Mercury Interactive) 公司一个测试管理工具, 是业界第一个基于 Web 的测试
管理系统, 它可以在您公司内部或外部进行全球范围内测试的管理。 通过在一个整体的应用系统中集成了测
试管理的各个部分, 包括需求管理, 测试计划, 测试执行以及错误跟踪等功能, TestDirector 极大地加速
了测试过程。
电子商务正影响着许多公司制定计划和建立自己的 IT 系统。 很快, 一个 Web 应用软件就能被创建, 开发并

立即展现在您的客户、 供应商或合作伙伴的面前。 然而,由于紧凑的开发计划和复杂的系统基构,Web 应
用软件的测试经常是被忽视的。 为了与新经济同步, 您必须开发经过系统测试的高品质的网络应用软件。
您需要设立一个中央点来管理测试过程。 一套基于 Web 的测试管理系统提供了一个协同合作的环境和一个
中央数据仓库。由于测试人员分布在各地,您需要一个集中的测试管理系统能让测试人员不管在何时何地
都能参与整个测试过程。 IT 部门增长地会非常快, 人员也会不断流动。 您必须以最快的速度培训新的测试
人员,教会他们所有与测试有关的知识技术。
重点在于管理复杂的开发和测试过程,改善部门间的沟通, 加速您测试的成功。
TestDirector 能消除组织机构间、 地域间的障碍。它能让测试人员、开发人员或其它的 IT 人员通过一个
中央数据仓库, 在不同地方就能交互测试信息。 TestDirector 将测试过程流水化——从测试需求管理, 到
测试计划,测试日程安排, 测试执行到出错后的错误跟踪——仅在一个基于浏览器的应用中便可完成, 而
不需要每个客户端都安装一套客户端程序。
需求管理
程序的需求驱动整个测试过程。TestDirector 的 Web 界面简化了这些需求管理过程,以此您可以验证应
用软件的每一个特性或功能是否正常。通过提供一个比较直观的机制将需求和测试用例、 测试结果和报告
的错误联系起来, 从而确保能达到最高的测试覆盖率。
一般有2 种方式可将需求和测试联系起来。其一,TestDirector 捕获并跟踪所有首次发生的的应用需求。
您可以在这些需求基础上生成一份测试计划, 并将测试计划对应与您的需求。例如, 您或许有25个测试计
划可对应同一个应用需求。 您一定能方便地管理需求和测试计划之间可能存在的一种多对多的关系,确保
每一个需求都经过测试。 其二, 由于 Web 应用是不断更新和变化的, 需求管理允许测试人员加减或修改需
求, 并确定目前的应用需求已拥有了一定的测试覆盖率。 它们帮助决定一个应用软件的哪些部分需要测试,
哪些测试需要开发, 是否完成的应用软件满足了用户的要求。 对于任何动态地改变 Web 应用, 必须审阅您
的测试计划是否准确, 确保其符合最当前的应用要求。
计划测试
测试计划的制定是测试过程中至关重要的环节。它为整个测试提供了一个结构框架。estDirector 的 Test
Plan Manager 在测试计划期间, 为测试小组提供一个关键要点和 Web 界面来协调团队间的沟通。
Test Plan Manager 指导测试人员如何将应用需求转化为具体的测试计划。 这种直观的结构能帮助您定义
如何测试您的应用软件,从而您能组织起明确的任务和责任。 Test Plan Manager 提供了多种方式来建立
完整的测试计划。 您可以从草图上建立一份计划, 或根据您用 Requirements Manager 所定义下的应用需求,
通过 Test Plan Wizard 快捷地生成一份测试计划。 如果您已经将计划信息以文字处理文件形式, 如
Microsoft Word 方式储存,您可以再利用这些信息, 并将它导入到 Test Plan Manager。它把各种类型的
测试汇总在一个可折迭式目录树内, 您可以在一个目录下查询到所有的测试计划。例如, 你可以将人工和
自动测试,如功能性的,还原和负载测试方案结合在同一位置。
Test Plan Manager 还能进一步的帮助您完善测试设计和以文件形式描述每一个测试步骤,包括对每一项
测试,用户反应的顺序,检查点和预期的结果 TestDirector 还能为每一项测试连加附属文件,如 Word ,
Excel ,HTML ,用于更详尽的记录每次测试计划。
Web 网络应用日新月异, 您的应用需求也随之不断改变。 您需要相应地更新您的测试计划, 优化测试内容。
即使频繁的更新,TestDirector 仍能简单地将应用需求与相关的测试对应起来。TestDirector 还可支持
不同的测试方式来适应您公司特殊的测试流程。
多数的测试项目需要一个有人工与自动测试的结合,包括健全,还原和系统测试。但即使符合自动测试要
求的工具,在大部分情况下也需要人工的操作。启用一个演变性的而非革新性的自动化切换机制, 能让测
试人员决定哪些重复的人工测试可转变为自动脚本以提高测 TestDirector 还能简化将人工测试切换到自
动测试脚本的转化,并可立即启动测试设计
过程。
安排和执行测试
一旦测试计划建立后,TestDirector 的测试实验室管理为测试日程制订提供一个基于 Web 的框架。 它的
Smart Scheduler 根据测试计划中创立的指标对运行着的测试执行监控。
当网络上任何一台主机空闲,测试可以彻夜执行于其上。Smart Scheduler 能自动分辨是系统还是应用错
误, 然后将测试重新安排到网络上的其他机器。
对于不断改变的 Web 应用,经常性的执行测试对于追查出错发生的环节和评估应用质量都是至关重要的。
然而, 这些测试的运行都要消耗测试资源和时间。 使用 Graphic Designer 图表设计, 您可以很快地将测试
分类以满足不同的测试目的,如功能性测试, 负载测试,完整性测试等。它的拖动功能可简化设计和排列
在多个机器上运行的测试, 最终根据设定好的时间、路径或其它测试的成功与否,为序列测试制订执行日
程。Smart Scheduler 能让您在更短的时间内,在更少的机器上完成更多的测试。
用 WinRunner , Astra QuickTest ,Astra LoadTest 或 LoadRunner 来自动运行功能性或负载测试,无论
成功与否,测试信息都会被自动汇集传送到 TestDirector 的数据储存中心。同样, 人工测试也以此方式
运行。
缺陷管理
当测试完成后,项目经理必须解读这些测试数据并将这些信息用于工作中。 当有出错发现时, 他们还要指

定相关人员及时纠正。
TestDirector 的出错管理直接贯穿作用于测试的全过程,以提供管理系统终端-终端的出错跟踪—从最初
的问题发现到修改错误再到检验修改结果。 由于同一项目组中的成员经常分布于不同的地方,TestDirector
基于浏览器的特征,使出错管理能让多个用户何时何地都可通过 Web 查询出错跟踪情况。利用出错管理,
测试人员只需进入一个 URL , 就可汇报和更新错误, 过滤整理错误列表并作趋势分析。 在进入一个出错案
例前,测试人员还可自动执行一次错误数据库的搜寻, 确定是否已有类似的案例记录。这一查寻功能可避
免重复劳动。
图形化和报表输出
测试过程的最后一步是分析测试结果,确定应用软件是否已布属成功或需要再次的测试。
TestDirector 常规化的图表和报告和在测试的任一环节帮助您对数据信息进行分析。
TestDirector 还以标准的 HTML 或 Word 形式提供一种生成和发送正式测试报告的一种简单方式。 测试分
析数据还可简便地输入到一种工业标准化的报告工具,如 Excel ,ReportSmith ,CrystalReports ,和
其它类型的第三方工具。


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-11  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 15612
  • 日志数: 33
  • 图片数: 1
  • 建立时间: 2009-03-27
  • 更新时间: 2011-03-22

RSS订阅

Open Toolbar