IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 测试类笔试和面试训练题,40道软件测试工程师面试秘籍 -> 正文阅读

[开发测试]测试类笔试和面试训练题,40道软件测试工程师面试秘籍

试题1.在一个项目中,测试工作如何介入?

  答案:测试工作从以下方面介入。

  (1)项目前期,跟进需求,充分理解功能需求。

  (2)项目开发阶段,测试人员收集测试准备素材,包括测试用例准备、测试数据准备、自动化准备。

  (3)项目测试阶段,测试执行。

  (4)验收阶段,准备环境供产品负责人验收。

  (5)上线后,进行线上验证。

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

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

试题3.软件测试类型有哪些?具体说说它们之间的区别。

  答案:软件测试类型有功能测试、性能测试和界面测试。

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

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

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

  它们的区别如下。

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

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

  答案:白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。黑盒测试用例设计的关键同样是以较少的用例覆盖尽可能多的模块输出和输入接口。不可能做到完全测试,应以最少的用例在合理的时间内发现最多的问题。

试题5.试着说明黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别和联系。

  答案:(1)黑盒测试是指已知产品的功能设计规格,通过测试证明每个实现的功能是否符合要求。软件的黑盒测试意味着测试要在软件的接口处进行。这种方法把测试对象看作一个黑盒,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此,黑盒测试又称功能测试或数据驱动测试。黑盒测试主要用于验证以下问题的答案。

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

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

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

  ④ 性能上是否能够满足要求?

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

  (2)白盒测试是指已知产品的内部工作过程,通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。软件的白盒测试是指对软件的过程性细节做细致的检查。这种方法是把测试对象看作一个“打开的盒子”,它允许测试人员利用程序内部的逻辑结构及有关信息设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此,白盒测试又称结构测试或逻辑驱动测试。白盒测试主要用于对程序模块验证以下问题的答案。

  ① 对程序模块中所有独立的执行路径是否至少测试一遍?

  ② 对所有的逻辑判定取“真”与取“假”的两种情况都能至少测试一遍?

  ③ 在循环的边界和执行的界限内是否可以执行循环体?

  ④ 测试内部的数据结构是否有效?

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

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

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

  (5)系统测试是指将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法(常见的有联调测试)。系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。

  (6)验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,最终用户可以用软件执行既定功能和任务。验收测试用于向未来的用户表明系统能够像预定要求那样工作。集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除,接下来就应该进一步验证软件的有效性,这就是验收测试的任务,即测试软件的功能和性能是否如同用户所期待的那样。

试题6.测试计划的作用是什么?测试计划工作的内容包括什么?其中哪些是最重要的?

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

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

试题7.你认为做好测试计划的关键是什么?

  答案:做好测试计划的关键如下。

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

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

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

  (4)创建测试计划,确定测试详细规格,创建测试用例。

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

  答案:测试用例设计方法有以下几种。

  (1)等价类划分法。等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,合理地假定测试某等价类的典型值就等价于测试该等价类的其他值。因此,把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量有代表性的测试数据取得较好的测试结果。等价类划分法可基于有效等价类和无效等价类。

  (2)边界值分析法。边界值分析法是对等价类划分法的补充。根据测试工作经验,大量的错误会发生在输入/输出范围的边界上,而不是发生在输入/输出范围的内部。因此,针对各种边界情况设计测试用例,可以查出更多的错误。要使用边界值分析法设计测试用例,首先应确定边界情况,应当选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

  (3)错误推测法。错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例的方法。错误推测法的基本思想是列举出程序中所有可能的错误和容易发生错误的特殊情况,根据它们选择测试用例。例如,在单元测试中曾列出的许多在模块中常见的错误、以前产品测试中曾经发现的错误等,这些就是经验的总结。另外,输入数据和输出数据为0的情况,输入表格的内容为空格或输入表格的内容只有一行的情况,这些都是容易发生错误的情况,可选择这些情况下的例子作为测试用例。

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

试题9.针对百度首页的搜索框编写3个以上的测试用例。

  答案:针对正常值,测试套件包括输入英文“abc”、汉字“搜索内容”、符号877@#、字符“abc汉字空格”。

  针对边界值,测试套件包括输入空字符串、字符长度为最大值。

  针对异常,测试套件包括实施XSS攻击。

试题10.接口测试用例如何设计?

  答案:根据研发工程师的开发文档,采用黑盒测试设计测试用例。

  查看研发工程师的代码,按照路径覆盖方法采用白盒测试设计测试用例。

试题11.黑盒测试中是怎么来设计测试用例的?

  答案:先熟悉系统需求,把握测试要点。设计用例的原则首先是要覆盖每个需求点,这可以通过填写需求跟踪矩阵来保证。

  黑盒测试的测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法。

试题12.平时测试时怎样保证页面间传值正确?

  答案:查看页面显示结果、获取参数值及数据库里的值。

试题13.在项目哪个阶段测试人员开始介入?

  答案:在项目需求阶段测试人员开始介入,尽早介入有助于更好地理解需求。

  试题14.静态测试和动态测试的概念是什么?

  答案:静态测试是指不执行代码,通过语法检查发现代码的问题;动态测试是指代码编译后执行时发现代码逻辑与设计、需求是否相符的测试。

试题15.等价类有几种?含义分别是什么?

  答案:两种,有效等价类和无效等价类。有效等价类就是对程序的规格说明有意义的、合理的输入数据所构成的集合,利用有效等价类可验证程序是否实现了规格说明中的功能和性能;无效等价类是那些对程序的规格说明不合理或者无意义的数据所构成的集合,用于验证程序是否执行了不正确的操作。

试题16.等价类划分法的原则及优缺点是什么?

  答案:在输入条件规定的取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。

  在规定输入数据的一组值(假定有n个值)并且程序要对每个输入值分别处理的情况下,可以确定n个有效等价类和1个无效等价类。

  在规定输入数据必须遵守的规则的情况下,可以确定1个有效等价类和若干个无效等价类。

  在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定1个有效等价类和1个无效等价类。

  在确定已划分的等价类中,若各元素在程序中的处理方式不同,应将该等价类进一步划分为更小的等价类。

试题17.若用户连续输入错误密码的次数最多是3,用等价类划分法设计测试用例。

  答案:对于有效等价类,连续输入错误密码的次数小于或等于3。

  对于无效等价类,连续输入错误密码的次数大于3。

试题18.成年人每分钟心跳60~100次为正常,设计等价类测试用例。

  答案:对于有效等价类,成年人每分钟心跳60~100次。

  对于无效等价类,成年人每分钟心跳低于60次或超过100次。

试题19.对招干系统中的“输入学生成绩”子模块设计测试用例。

  招干考试涉及3个专业,准考证号中第一位为专业代号,如1代表行政专业,2代表法律专业,3代表财经专业。

  行政专业准考证号码为110001~111215。

  法律专业准考证号码为210001~212006。

  财经专业准考证号码为310001~314015。

  答案:针对正常类,设计的测试用例包括110002、210002、310001。

  针对边界值,设计的测试用例包括110000、110001、111215、111216、210000、210001、212006、2120007、310000、310001、314015、314016。

  针对异常类,设计的测试用例包括Abc、空格、?1、0。

试题20.你最熟悉的一个项目是怎么做的?你具体用了什么方法和测试工具?

  答案:仅做参考。我最熟悉的项目是我最近在做的××管理系统。项目初期,质量保障人员和研发工程师一起与产品设计人员沟通,了解需求,初步实现方案。随后,开发人员设计文档,质量保障人员根据需求文档和方案设计文档编写测试用例,开发完之后执行测试。我使用了黑盒测试方法,使用了TestLink测试工具等。

试题21.bug有哪些状态?

  答案:新建未修复、已修复未验证、关闭、重启等。

试题22.bug描述包括哪些内容?

  答案:简述、bug操作、结果、原因分析、状态、所属项目等。

试题23.LoadRunner可以发现哪些系统问题?

  答案:可以发现以下问题。

  (1)判断应用程序的问题:如果系统由于应用程序效率低下或者系统结构设计有缺陷而导致大量的上下文切换,就会占用大量的系统资源。如果系统的吞吐量降低,CPU的利用率很高,并且此现象发生时上下文切换水平在15?000以上,那么意味着上下文切换次数过高。

  (2)判断CPU瓶颈:如果Processor Queue Length显示的队列长度保持不变(≥2),并且CPU的利用率超过90%,那么很可能存在CPU瓶颈。如果发现Processor Queue Length显示的队列长度超过2,CPU的利用率却一直很低,或许更应该解决CPU阻塞问题,这里CPU一般不是瓶颈。

  (3)判断内存泄漏问题:主要检查应用程序是否存在内存泄漏。如果发生了内存泄漏,Process/Private Bytes计数器和Process/Working Set计数器的值往往会升高,同时Available Bytes的值会降低。内存泄漏应该通过一个长时间的、用于分析所有内存都耗尽时应用程序反应情况的测试来检验。

试题24.谈一下项目整体架构

  答案:根据自身情况作答。

试题25.如何保证测试的整体覆盖率。

  答案:通过黑盒测试与白盒测试。另外,可以使用覆盖率工具进行监控。

试题26.回归测试要考虑哪些因素?

  答案:回归范围、剩下的时间和人力、回归方法等。

试题27.客户端软件性能测试的关注点有哪些?

  答案:资源(CPU、内存、GDI、I/O)占用和响应时间。

试题28.如果对QQ和MSN的性能做对比测试,要对比哪些方面?

  答案:相同操作的时间长度对比、系统资源占用量等。

试题29.针对网页搜索进行功能测试。

  答案:从输入和输出两个方面考虑。

  输入能够考虑到字符长度(0、超长、空格),字符编码、特殊字符处理,用空格分隔检索词,检索语法,检索词词性,以及与安全性相关的测试输入等。

  输出能够考虑到结果个数(无结果、一页内、多页、超过最大页限制),结果排序(是否符合算法要求),结果展示(是否有特殊字符展示问题、摘要长度等),结果中的链接(结果链接、快照链接等被单击后的展示),得到的结果个数是否符合常理(如常见词检索结果过少),结果的时效性(最近收录的结果是否被检索到),以及用户体验等。

试题30.一幢楼有3层,有两部联动电梯。该电梯系统交付使用前需进行测试,请设计测试用例。

  答案:功能测试要测试基本功能和辅助功能。

  (1)基本功能有单部电梯响应用户呼叫(考虑电梯不同的状态和用户呼叫的楼层),单部电梯响应用户请求(考虑用户呼叫的楼层和用户的目的楼层),两部电梯的调度算法测试(考虑电梯不同的状态和用户呼叫的楼层)。

  (2)辅助功能有照明功能、报警功能、监控功能、防夹功能、开门功能、关门功能。

  性能测试中,要测试电梯行进速度,开门、关门速度。

  压力测试中,要测试电梯长时间高负载工作的情况。

  异常测试中,要测试断电、超重、关门超时、钢缆断裂、自然灾害下的电梯工作情况。

试题31.白盒测试和黑盒测试中设计测试用例的主要方法是什么?

  答案:白盒测试中,设计测试用例的主要方法是:逻辑覆盖法,逻辑覆盖法主要包括语句覆盖法、判断覆盖法、条件覆盖法、判断条件覆盖法、条件组合覆盖法、路径覆盖法等。

  黑盒测试中,设计测试用例的主要方法是等价划分类、边界值分析法、错误推测法等。

试题32.根据不同的依据,软件测试可划分成不同的种类。例如,根据软件的生命周期,可以将测试划分为单元测试、集成测试、确认测试、系统测试和验收测试。根据两种不同的依据,请说出2~3种软件测试方式(不包含题目中的方式)。

  答案:按照测试关注点,软件测试可划分为功能测试、性能测试、稳定性测试、易用性测试。

  按照测试实施者,软件测试可划分为开发方测试(α测试)、用户测试(β测试)、第三方测试。

  按照测试技术/测试用例设计,软件测试可划分为白盒测试、黑盒测试、灰盒测试。

  按照分析方法,软件测试可划分为静态测试、动态测试。

  按照测试执行方式,软件测试可划分为手动测试、自动化测试

  按照测试的对象,软件测试可划分为程序测试、文档测试。

试题33.请给出QQ聊天消息收发的测试思路。

  答案:主要关注几个关键词,如正常测试、异常测试、不同的消息类型、组合测试、长度极值、是否延迟、是否丢失、是否被篡改、安全性。

试题34.测试自动贩卖机。假设贩卖机将用在露天的繁华大街上。

  答案:考虑管理员的功能,如添加货物功能、定价等功能;考虑界面外观、用户说明;考虑比较高的容错率。

试题35.程序从标准输入中读取字符,判断输入字符是固定电话号码还是手机号码(这里假设手机号以“13”开头)。

  (1)手机号码是以13开头并且长度为11的连续数字。

  (2)固定电话号码包括区号和号码两部分,其中号码是长度为7或8并且不以0开头的连续数字;区号可有可无。区号和号码间可以有“-”,也可以没有。

  (3)当用户输入完毕后,系统返回的答案包括手机号码、固定电话号码、无正确号码。

  (4)一次输入中如果有多个正确号码(空格为分隔符),那么以最后一个正确号码的类型为准实现上述功能的程序设计测试用例。

  区号范围(×表示任意数字)如表3.2所示。

表3.2区号范围

  答案:测试用例设计的参考思路如表3.3所示。

表3.3测试用例设计的参考思路

续表

试题36.Android平台自动化测试方案有哪些?它们各自的特点是什么?还有其他的吗?

  答案:Robotium,基于Instrumentation和JUnit,使用Java开发,进行黑盒自动化测试。通过使用Robotium,测试用例开发人员能够跨越多个Activity开发出功能、系统及验收测试用例。

  MonkeyRunner,使用Python编写。MonkeyRunner工具提供了一个API,使用此API写出的程序可以不通过Android代码来控制Android设备和模拟器,如向它发送模拟单击,截取它的用户界面,并将截图存储于工作站上。

  NativeDriver,基于Instrumentation和JUnit,与Robotium原理类似,但只需了解控件ID,无须关心过多细节。它采用C/S模式,向设备发送请求指令,控制程序运行。

试题37.手机客户端App常见的出错点是什么?如何测试?

  答案:资源释放、网络、内存;易发生在启动、关闭App,横竖屏切换,基站切换时。

  可考虑将所有可打开功能均打开,进行横竖屏切换等操作;在各种网络(电信网络、移动网络、联通网络、Wi-Fi)覆盖和场景(地铁、公交、室内)覆盖下测试等。

试题38.编程中,内存泄漏的常见检查项有哪些?

  答案:对于Java来说,由于存在垃圾回收机制,因此内存泄漏不是太明显,但如果使用不当,仍然可能存在内存泄漏的问题。而对于其他的语言(如C++)等,在这方面就要重点关注了。当然,数据库连接等资源不释放的问题也是广大程序员最常见的,相信很多项目经理被这个问题困扰。

  在C++等语言中,关于内存泄漏的常见检查项如下。

  (1)分配的内存是否释放,尤其在错误处理路径上(对于非Java类)。

  (2)错误发生时是否所有对象被释放,如数据库连接、套接字、文件等。

  (3)同一个对象是否被释放多次(对于非Java类)。

  (4)代码是否保存准确的对象引用计数(对于非Java类)。

试题39.测试的分类有哪些?

  答案:从不同角度有不同的分类,有黑盒、白盒、灰盒测试,单元测试、模块测试、集成测试、系统测试,功能测试、性能测试、稳定性测试,新功能测试、回归测试等。

试题40.敏捷开发测试的核心实质是什么?为什么敏捷开发能够对需求的变更应对自如?

  答案:敏捷开发拥有更好的设计架构,重构是敏捷开发中常用的技术手段。同时,足够的沟通,合理的、细致的迭代是敏捷开发的特点。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-01-24 11:12:52  更:2022-01-24 11:13:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 5:49:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码