收藏 分享(赏)

软件测试基础(面试).doc

上传人:Facebook 文档编号:7192888 上传时间:2019-05-09 格式:DOC 页数:7 大小:73KB
下载 相关 举报
软件测试基础(面试).doc_第1页
第1页 / 共7页
软件测试基础(面试).doc_第2页
第2页 / 共7页
软件测试基础(面试).doc_第3页
第3页 / 共7页
软件测试基础(面试).doc_第4页
第4页 / 共7页
软件测试基础(面试).doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、软件测试人事问题集1. 为什么要在一个团队中开展软件测试工作?保证软件质量的最后一道关口。2. 您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?测试计划-测试设计(测试用例,测试数据)-测试执行(单元测试,集成测试,系统测试,回归测试)3. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试)1) 易用性测试-界面的友好性,操作方便性等。2) 功能测试-系统中功能性需求的满足。3) 安全性测试-系统是否存在安全隐患和漏洞。4) 性能测试-系统在大并发下的响应速度和健壮性。

2、4. 请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。1) 黑盒/白盒:主要区别在是否了解系统或程序的内部结构和代码。2) 单元测试:关注某一个单元,函数,模块的正确性,一般需要编写相关测试代码。3) 集成测试:模块或模块直接的集成接口测试,单个模块测试。4) 系统测试:一个完整功能的完全测试。5. 测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?提前安排出测试工具选择,测试类型选择,人员需求,保证和项目开发协调一致,保证测试工作顺利进行。6. 您认为做好测试计划工作的关键是什么?1) 了解项目或系统的业务需求。2) 和项目经理

3、协调好,了解项目的进度计划安排情况。7. 您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。边界值/等价类/业务流程图分析和状态转换分析/业务逻辑分析8. 您认为做好测试用例设计工作的关键是什么?对业务和软件需求非常清楚,可以根据需求不同选择不同的测试用例设计。9. 您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的内容。1) 评审计划-预审-评审。2) 评审内容主要是测试用例对软件需求的覆盖程度,对于相关边界是否考虑,是否针对复杂流程准备多套测试数据,是否有专门针对非功能性需求的测试。10. 您以往是否曾经从事

4、过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。制订计划-选择测试功能-选择测试工具-录制脚本-运行测试-分析结果。11. 您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。微软 WAS、LoadRunner12. 您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?关键是测试脚本的录制,测试时候测试环境的干净。13. 在您以往的工作中,一条软件缺陷(或者叫 Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?缺陷名词/描述/缺陷等级/严重程度/发现

5、模块/发现步骤和过程/是否可以重现。14. 您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理1) 如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。2) CQ 也可以使用 BugFree 等免费工具。15. 您如何看待软件过程改进?在您曾经工作过的企业中,是否有一些需要改进的东西呢?您期望的理想的测试人员的工作环境是怎样的?将先进的经验或思想固化到过程中,通过过程改进和能力提高来改进软件质量。手机软件测试面试题、软件测试面试题1. 为什么要在一个团队中开展软件测试工作?任何软件在开发过程中都会留下缺陷,带有缺陷的软件产品如果提交出去,可能会给公司带来不可估

6、量的损失,我们必须在客户之前发现尽可能多的问题,从而保障客户满意。而发现问题的这个过程称之为测试。2. 简述你在以前的工作中做过哪些事情,比较熟悉什么。1) 我主要的工作是系统测试和自动化测试,也曾少量涉及性能测试。在系统测试中,主要是对 BOSS 系统的业务逻辑功能,以及软交换系统的 Class 5 特性进行测试。性能测试中,主要是进行的压力测试,在各个不同数量请求的情况下,获取系统响应时间以及系统资源消耗情况。自动化测试主要是通过自己写脚本以及一些第三方工具的结合来测试软交换的特性测试。3. 你所了解的的软件测试类型都有哪些,简单介绍一下。1) 基本功能验证:主要是对发布的版本进行一些最主

7、要功能的测试。英文常见叫法是Smoking Test, Basic Verification Test 或者 Sanity Check。2) 功能测试:主要是依据需求或者需求分析文档,对所发布的版本进行测试,看看是否满足需求,是否出现了不必要的功能。3) 单元测试:是开发人员进行的测试之一,一般是开发人员对很小的模块,比如函数进行测试,一般来说,开发人员还需要开发相应的测试桩来进行此类测试。4) 集成测试:在大型的开发过程中,软件是模块化进行开发的,将不同的模块揉合在一起的话,需要进行的测试就是集成测试。5) 系统测试:当软件提交给测试组后,是对整个系统的所有功能进行测试,一般来说,功能测试是

8、系统测试的一个部分。6) 压力测试:主要是在很大性能的情况下,这个性能已经接近了系统的极限,看看系统运转的情况。7) 负载测试:主要是用各种不同的性能去检测系统,采集各个数据在这些性能情况下的数据。8) 黑盒测试:指系统对你来说是完全不透明的,只给你留下了输入和最终输出,这个是功能测试的方法之一。9) 灰盒测试:指在了解部分系统内部工作机制的情况下,对于系统进行的覆盖性测试。10) 白盒测试:主要是在单元测试和集成测试的情况下,开发人员已知代码,对这一段的代码进行全路径的覆盖测试。11) 界面测试:主要是看用户界面的友好性和易用性,是否有文字或者排版错误,是否有输入限制等等。12) 回归测试:

9、一般是系统发现 BUG,开发人员修改后,和 BUG 直接相关以及可能相关的功能进行的测试。13) 安装和卸载的测试。14) 恢复测试:主要是一个系统在发生了灾难的情况下,从错误中是否容易恢复。15) 兼容性测试:一个系统在不同的语言,操作系统下的系统测试。16) 安全测试:系统在遇到攻击或者类似情况下的表现。17) Alpha 测试:系统在给最终用户前,测试人员在实验室中模拟最终用户的测试。18) Beta 测试:由部分最终用户通过使用来进行的测试。19) 比较测试:和其他具有相同或者类似功能的系统进行对比的测试。20) 验收测试:一般是最终用户在接受产品前,依据自己所提出的要求进行的测试,很

10、多情况下,验收测试可能委托第三方机构完成。4. 测试计划工作的目的是什么?测试计划文档的内容应该包括什么?其中哪些是最重要的?1) 软件测试计划是指导测试过程的纲领性文件。2) 包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。3) 测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具

11、体战术。所以其中最重要的是测试测试策略和测试方法(最好是能先评审) 。5. 你认为做好测试计划工作的关键是什么?1) 明确测试的目标,增强测试计划的实用性。2) 编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确。3) 坚持“5W”规则,明确内容与过程。4) “5W”规则指的是“What(做什么) ”、 “Why(为什么做) ”、 “When(何时做) ”、“Where(

12、在哪里) ”、 “How(如何做) ”。利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why) ,明确测试的范围和内容(What) ,确定测试的开始和结束日期(When) ,指出测试的方法和工具(How) ,给出测试文档和软件的存放位置(Where) 。 5) 采用评审和更新机制,保证测试计划满足实际需求。6) 测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。7) 分别创建测试计划与测试详细规格、测试用例。8) 应把详细的测试技术指标包含到独

13、立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。6. 常见的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。1) 等价类划分:划分等价类: 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据合理划分为若干等价

14、类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。2) 边界值分析法:边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。3) 错误推测法:基于经验

15、和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。例如,在单元测试时曾列出的许多在模块中常见的错误。以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据和输出数据为 0 的情况。输入表格为空格或输入表格只有一行。 这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。4) 因果图方法:前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输

16、入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型) 。因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。5) 正交表分析法:有时候,可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。6) 场景分析方法:指根据用户场景来模拟用户的操作步骤,这个比较

17、类似因果图,但是可能执行的深度和可行性更好。7. 您认为做好测试用例设计工作的关键是什么?1) 白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。2) 黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题。8. 详细的描述一个测试活动完整的过程。1) 项目经理通过和客户的交流,完成需求文档,由开发人员和测试人员共同完成需求文档的评审,评审的内容包括:需求描述不清楚的地方和可能有明显冲突或者无法实现的功能的地方。项目经理通过综合开发人员,测试人员以及客户的意见,完成项目计划。然后 SQA 进入项目,开始进行

18、统计和跟踪。2) 开发人员根据需求文档完成需求分析文档,测试人员进行评审,评审的主要内容包括是否有遗漏或者双方理解不同的地方。测试人员完成测试计划文档,测试计划包括的内容上面有描述。3) 测试人员根据修改好的需求分析文档开始写测试用例,同时开发人员完成概要设计文档,详细设计文档。此两份文档成为测试人员撰写测试用例的补充材料。4) 测试用例完成后,测试和开发需要进行评审。5) 测试人员搭建环境。6) 开发人员提交第一个版本,可能存在未完成功能,需要说明。测试人员进行测试,发现 BUG 后提交给 BugZilla。7) 开发提交第二个版本,包括 Bug Fix 以及增加了部分功能,测试人员进行测试

19、。8) 重复上面的工作,一般是 3-4 个版本后 BUG 数量减少,达到出货的要求。9) 如果有客户反馈的问题,需要测试人员协助重现以及回归测试。9. 以往是否曾经从事过性能测试工作?请尽可能的详细描述您以往的性能测试工作的完整过程。1) 曾经做过一套网管系统的性能测试,主要测试该软件在同时管理大量终端的情况下,在响应时间,CPU/磁盘/内存等参数是否满足要求。2) 也曾经做过软交换系统的呼叫性能测试,主要是测试软交换系统在有大量呼叫的情况下,响应时间,呼叫成功率,CPU/磁盘/内存等参数是否满足设计要求。 10. 您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理

20、,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。1) 测试网管系统中,使用的 Mimic 来模拟终端,能够大量的节省成本。2) 测试软交换系统的时候,使用的 Prolab 来模拟终端并发送呼叫软交换,他完成了同时数百人才能完成的摘机拨号工作,主要工作原理是产生一些符合要求的 IP 包并发送给软交换系统,同时对软交换系统的回应进行处理,决定下一步动作。11. 您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?主要是保障在大量用户的情况下,服务能正常使用。12. 在您以往的工作中,一条软件缺陷(或者叫 Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录

21、?1) 在传统的 BugZilla 中,BUG 描述应该包括以下的信息。2) 和 BUG 产生对应的软件版本。3) 开发的接口人员。4) BUG 的优先级。5) BUG 的严重程度。6) BUG 可能属于的模块,如果不能确认,可以用开发人员来判断。7) BUG 标题,需要清晰的描述现象。8) BUG 描述,需要尽量给出重新 Bug 的步骤。9) BUG 附件中能给出相关的日志和截图。10) 高质量的 BUG 记录就是指很容易理解的 BUG 记录,所以,对于描述的要求高,能提供的信息多且准确,很好的帮助开发人员定位。13. BUG 管理工具的跟踪过程用 BugZilla 为例子:测试人员发现了

22、BUG,提交到 Bugzilla 中,状态为 new,BUG 的接受者为开发接口人员开发接口将 BUG 分配给相关的模块的开发人员,状态修改为已分配。开发人员和测试确认 BUG,如果是本人的 BUG,则设置为接收;如果是别的开发人员的问题,则转发出去,由下一个开发人员来进行此行为;如果认为不是问题,则需要大家讨论并确认后,拒绝这个 BUG,然后测试人员关闭此问题。如果开发人员接受了 BUG,并修改好以后,将 BUG 状态修改为已修复,并告知测试在哪个版本中可以测试。测试人员在新版本中测试,如果发现问题依然存在,则拒绝修改;如果已经修复,则关闭 BUG。14. 您认为在测试人员同开发人员的沟通过

23、程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么?1) 尽量能有面对面的沟通,如果做不到,那么尽量能直接通过电话沟通,如果只能通过Email 等非及时沟通工具的话,强调必须对特性的理解深刻以及能表达清楚。 2) 一是真诚,二是团队精神,三是在专业上有共同语言,当然也可以通过直接指出一些小问题,而不是进入 BUG Tracking System 来增加对方的好感。15. 在您以往的测试工作中,最让您感到不满意或者不堪回首的事情是什么?您是如何来对待这些事情的?某次性能测试覆盖不足,造成系统崩溃。16. 你自认为测试的优势在哪里?1) 有韧性。2

24、) 有能力面对挑战。3) 有信心做好每一件事情。4) 有比较好的教育背景。5) 从以前的经理处都得到了很好的评价表明我做的很好。17. 当开发人员说不是 BUG 时,你如何应付?1) 如果确实是自己理解错误,则承认错误,没什么大不了。2) 如果是需求不明,请项目经理补充清楚。3) 如果双方理解不一致,且都不能互相说服,则请项目经理判断。18. 集成测试通常都有那些策略?自上而下,自下而上,平面集成19. 测试结束的标准是什么?1) 从微观上来说,在测试计划中定义,比如系统在一定性能下平稳运行 72 小时,目前Bug Tracking System 中,本版本中没有一般严重的 BUG,普通 BUG 的数量在 3 以下,BUG 修复率 90%以上等等参数,然后由开发经理,测试经理,项目经理共同签字认同版本 Release。2) 如果说宏观的,则是当这个软件彻底的消失以后,测试就结束了。20. 软件验收测试除了 alpha,beta 测试以外,还有哪一种?第三方验收测试。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报