【软件测试 Python自动化】全网最全大厂面试题,看完之后你就是面试官!

前言

为了让你们更好的理解和学习投入到Python自动化来
找到一份好的资料也是学习过程当中,很是重要的一个点。你的检索能力越强,你就会越容易找到最合适你的资料。python

有须要的小伙伴能够复制群号 313782132 这里可免费领取!
程序员

暗号:博客。web

1、什么是兼容性测试?兼容性测试侧重哪些方面?

参考答案:面试

    • 兼容测试主要是检查软件在不一样的硬件平台、软件平台上是否能够正常的运行,便是一般说的软件的可移植性。数据库

    • 兼容的类型,若是细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。
      兼容测试的重点是,对兼容环境的分析。一般,是在运行软件的环境不是很肯定的状况下,才须要作兼容。根据软件运行的须要,或者根据需求文档,通常都可以得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出作兼容测试的兼容环境了。浏览器

    • 兼容和配置测试的区别在于,作配置测试一般不是Clean OS 下作测试,而兼容测试可能是在Clean OS 的环境下作的。服务器

2、我如今有个程序,发如今Windows 上运行得很慢,怎么判别是程序存在问题仍是软硬件系统存在问题?

参考答案:微信

一、检查系统是否有中毒的特征;网络

二、检查软件/硬件的配置是否符合软件的推荐标准;数据结构

三、确认当前的系统是不是独立,即没有对外提供什么消耗CPU 资源的服务;

四、若是是C/S 或者B/S 结构的软件,须要检查是否是由于与服务器的链接有问题,或者访问有问题形成的;

五、在系统没有任何负载的状况下,查看性能监视器,确认应用程序对CPU/内存的访问状况。

 

3、测试的策略有哪些?

参考答案:

黑盒/白盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta 测试的策略)

 

4、正交表测试用例设计方法的特色是什么?

参考答案:

  • 用最少的实验覆盖最多的操做,测试用例设计不多,效率高,可是很复杂;

  • 对于基本的验证功能,以及二次集成引发的缺陷,通常都能找出来;可是更深的缺陷,更复杂的缺陷,仍是无能为力的;

  • 具体的环境下,正交表通常都很难作的。大多数,只在系统测试的时候使用此方法。

5、描述使用bugzilla 缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?

参考答案:
就是Bugzilla 的状态转换图。

6、描述测试用例设计的完整过程?

参考答案:

需求分析+ 需求变动的维护工做;

根据需求得出测试需求;

设计测试方案,评审测试方案;

方案评审经过后,设计测试用例,再对测试用例进行评审

7、单元测试的策略有哪些?

参考答案:

逻辑覆盖、循环覆盖、同行评审、桌前检查、代码走查、代码评审、景泰数据流分析
什么是并发?在lordrunner 中,如何进行并发的测试?集合点失败了会怎么样?

参考答案:
在同一时间点,支持多个不一样的操做。
LoadRunner 中提供IP 假装,集合点,配合虚拟用户的设计,以及在多台电脑上设置,能够比较好的模拟
真实的并发。

集合点,便是多个用户在某个时刻,某个特定的环境下同时进行虚拟用户的操做的。集合点失败,则集合
点的才操做就会取消,测试就不能进

8、QTP 中的Action 有什么做用?有几种?

参考答案:

Action 的做用:

 用Action 能够对步骤集进行分组
 步骤重组,而后被总体调用
 拥有本身的sheet
 组合有相同需求的步骤,总体操做
 具备独立的对象仓库

Action 的种类:
 可复用Action
 不可复用Action
 外部Action

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

参考答案:

Compatibility Testing(兼容性测试),也称“Configuration testing(配置测试)”,兼容性测试是
将验证软件与其所依赖的环境的依赖程度,包括对硬件的依赖程度,对平台软件,其它软件的依赖程度,来检
查程序能正常的运行的测试

Functional testing (功能测试),也称为behavioral testing(行为测试)或黑盒测试,根据产品特征、操做描述和用
户方案,测试一个产品的特性和可操做行为以肯定它们知足设计需求。本地化软件的功能测试,用于验证应用
程序或网站对目标用户能正确工做。使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,
就像应用程序是专门为该市场开发的同样。

Performance testing(性能测试),性能测试是指经过自动化的测试工具模拟多种正常、峰值以
及异常负载条件来对系统的各项性能指标进行测试

主要包括如下三个方面:

  • 应用在客户端性能的测试

  • 应用在网络上性能的测试和应用在服务器端

  • 性能的测试

10、测试活动中,若是发现需求文档不完善或者不许确,怎么处理?

参考答案:

应该当即和相关人员进行协调交流。

 

11、你认为作好测试计划工做的关键是什么?

参考答案:

软件测试计划就是在软件测试工做正式实施以前明确测试的对象,而且经过对资源、时间、风险、测试范
围和预算等方面的综合分析和规划,保证有效的实施软件测试;

作好测试计划工做的关键:目的,管理,规范

12、一套完整的测试应该由哪些阶段组成?

参考答案:测试计划、测试设计与开发、测试实施、测试评审与测试结论

十3、单元测试的主要内容?

模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试

十4、简述集成测试与系统测试关系?

(1)集成测试的主要依据概要设计说明书,系统测试的主要依据是需求设计说明书;
(2)集成测试是系统模块的测试,系统测试是对整个系统的测试,包括相关的软硬件平台、网络以及相关外
设的测试。

十5、软件系统中除用户文档以外,文档测试还应该关注哪些文档?

参考答案:

开发文档
软件需求说明书
数据库设计说明书
概要设计说明书
详细设计说明书
可行性研究报告
管理文档
项目开发计划
测试计划
测试报告
开发进度月报
开发总结报告

十6、如何理解压力、负载、性能测试测试?

参考答案:
性能测试是一个较大的范围,实际上性能测试自己包含了性能、强度、压力、负载等多方面的测试内
容。
压力测试是对服务器的稳定性以及负载能力等方面的测试,是一种很日常的测试。

增大访问系统的用户数量、或者几个用户进行大数据量操做都是压力测试。而负载测试是压力相对较大的测试,主要是测试
系统在一种或者集中极限条件下的相应能力,是性能测试的重要部分。

100 个用户对系统进行连续半个小时的访问能够看做压力测试,那么连续访问8 个小时就能够认为负载测试,1000 个用户连续访问系统

1 个小时也能够看做是负载测试。

实际上压力测试和负载测试没有明显的区分。测试人员应该站在关注总体性能的高度上来对系统进行
测试。

十7、什么是系统瓶颈?

参考答案:

瓶颈主要是指整个软硬件构成的软件系统某一方面或者几个方面能力不能知足用户的特定业务要求,
“特定”是指瓶颈会在某些条件下会出现,由于毕竟大多数系统在投入前。

严格的从技术角度讲,全部的系统都会有瓶颈,由于大多数系统的资源配置不是协调的,例如CPU 使
用率恰好达到100%时,内存也正好耗尽的系统不是不少见。

所以咱们讨论系统瓶颈要从应用的角度讨论:关键是看系统可否知足用户需求。在用户极限使用系统的状况下,系统的响应仍然正常,咱们能够认为改系统没有瓶颈或者瓶颈不会影响用户工做。

所以咱们测试系统瓶颈主要是实现下面两个目的:

-发现“表面”的瓶颈。主要是模拟用户的操做,找出用户极限使用系统时的瓶颈,而后解决瓶颈,这是性
能测试的基本目标。
-发现潜在的瓶颈并解决,保证系统的长期稳定性。主要是考虑用户在未来扩展系统或者业务发生变化时,
系统可以适应变化。知足用户目前需求的系统不是最好的,咱们设计系统的目标是在保证系统整个软件
生命周期可以不断适应用户的变化,或者经过简单扩展系统就能够适应新的变化。

十8、文档测试主要包含什么内容?

参考答案:

在国内软件开发管理中,文档管理几乎是最弱的一项,于是在测试工做中特别容易忽略文档测试也就
不足为奇了。要想给用户提供完整的产品,文档测试是必不可少的。文档测试通常注重下面几个方面:
文档的完整性:主要是测试文档内容的全面性与完整性,从整体上把握文档的质量。例如用户手册应
该包括软件的全部功能模块。

描述与软件实际状况的一致性:主要测试软件文档与软件实际的一致程度。例如用户手册基本完整
后,咱们还要注意用户手册与实际功能描述是否一致。由于文档每每跟不上软件版本的更新速度。
易理解性:主要是检查文档对关键、重要的操做有无图文说明,文字、图表是否易于理解。对于关
键、重要的操做仅仅只有文字说明确定是不够的,应该附有图表使说明更为直观和明了。

文档中提供操做的实例:这项检查内容主要针对用户手册。对主要功能和关键操做提供的应用实例是
否丰富,提供的实例描述是否详细。只有简单的图文说明,而无实例的用户手册看起来就像是软件界面的
简单拷贝,对于用户来讲,实际上没有什么帮助。

印刷与包装质量:主要是检查软件文档的商品化程度。有些用户手册是简单打印、装订而成,过于粗
糙,不易于用户保存。优秀的文档例如用户手册和技术白皮书,应提供商品化包装,而且印刷精美。

十9、功能测试用例须要详细到什么程度才是合格的?

参考答案:
这个问题也是测试工程师常常问的问题。有人主张测试用例详细到每一个步骤执行什么都要写出来,目
的是即便一个不了解系统的新手均可以按照测试用例来执行工做。

主张这类写法的人还能够举出例子:

欧美、日本等软件外包文档都是这样作的。另一种观点就是主张写的粗些,相似于编写测试大纲。

主张这种观点的人是由于软件开发需求管理不规范,变更十分频繁,于是不能按照欧美的高标准来编写测试用例。这样的测试用例容易维护,可让测试执行人员有更大的发挥空间。

实际上,软件测试用例的详细程度首先要以覆盖到测试点为基本要求。举个例子:“用户登录系统”
的测试用例能够不写出具体的执行数据,可是至少要写出五种以上状况(),若是只用一句话覆盖了这个
功能是不合格的测试用例。覆盖功能点不是指列出功能点,而是要写出功能点的各个方面(若是组合状况
较多时能够采用等价划分)。

另外一个影响测试用例的就是组织的开发能力和测试对象特色。若是开发力量比较落后,编写较详细的
测试用例是不现实的,由于根本没有那么大的资源投入,固然这种状况很随着团队的发展而逐渐有所改
善。测试对象特色重点是指测试对象在进度、成本等方面的要求,若是进度较紧张的状况下,是根本没有
时间写出高质量的测试用例的,甚至有些时候测试工做只是一种辅助工做,于是不编写测试用例。

所以,测试用例的编写要根据测试对象特色、团队的执行能力等各个方面综合起来决定编写策略。最
后要注意的是测试人员必定不能抱怨,力争在不断提升测试用例编写水平的同时,不断地提升自身能力。

# 二10、配置和兼容性测试的区别是什么?

参考答案:
配置测试的目的是保证软件在其相关的硬件上可以正常运行,而兼容性测试主要是测试软件可否与不一样的
软件正确协做。

配置测试的核心内容就是使用各类硬件来测试软件的运行状况,通常包括:
(1)软件在不一样的主机上的运行状况,例如Dell 和Apple;
(2)软件在不一样的组件上的运行状况,例如开发的拨号程序要测试在不一样厂商生产的Modem 上的运行情
况;
(3)不一样的外设;
(4)不一样的接口;
(5)不一样的可选项,例如不一样的内存大小;
兼容性测试的核心内容:
(1)测试软件是否能在不一样的操做系统平台上兼容;
(2)测试软件是否能在同一操做系统平台的不一样版本上兼容;
(3)软件自己可否向前或者向后兼容;
(4)测试软件可否与其它相关的软件兼容;
(5)数据兼容性测试,主要是指数据可否共享;

配置和兼容性测试通称对开发系统类软件比较重要,例如驱动程序、操做系统、数据库管理系统等。具
体进行时仍然按照测试用例来执行。

二11、软件文档测试主要包含什么?

参考答案:

随着软件文档系统日益庞大,文档测试已经成为软件测试的重要内容。文档测试对象主要以下:

-包装文字和图形;
-市场宣传材料、广告以及其它插页;
-受权、注册登记表;
-最终用户许可协议;
-安装和设置向导;
-用户手册;
-联机帮助;
-样例、示范例子和模板;
-……

文档测试的目的是提升易用性和可靠性,下降支持费用,由于用户经过文档就能够本身解决问题。因文
档测试的检查内容主要以下:

-读者对象——主要是文档的内容是否能让该级别的读者理解;
-术语——主要是检查术语是否适合读者;
-内容和主题——检查主题是否合适、是否丢失、格式是否规范等;
-图标和屏幕抓图——检查图表的准确度和精确度;
-样例和示例——是否与软件功能一致;
-拼写和语法;
-文档的关联性——是否与其它相关文档的内容一致,例如与广告信息是否一致;
文档测试是至关重要的一项测试工做,不但要给予充分的重视,更要要认真的完成,象作功能测试同样来对待
文档测试。

二12、没有产品说明书和需求文档地状况下可以进行黑盒测试吗?

参考答案:

这个问题是国内测试工程师常常遇到的问题,根源就是国内软件开发文档管理不规范,对变动的管理
方法就更不合理了。
实际上没有任何文档的时候,测试人员是可以进行黑盒测试的,这种测试方式咱们可
以称之为探索测试,具体作法就是测试工程师根据本身的专业技能、领域知识等不断的深刻了解测试对
象、理解软件功能,进而发现缺陷。

在这种作法基本上把软件当成了产品说明书,测试过程当中要和开发人员不断的进行交流。尤为在做项
目的时候,进度压力比较大,能够做为加急测试方案。最大的风险是不知道有些特性是否被遗漏。

二十3、测试中的“杀虫剂怪事”是指什么?

参考答案:

“杀虫剂怪事”一词由BorisBeizer 在其编著的《软件测试技术》第二版中提出。用于描述测试人员
对同一测试对象进行的测试次数越多,发现的缺陷就会愈来愈少的现象。就像老用一种农药,害虫就会有
免疫力,农药发挥不了效力。

这种现象的根本缘由就是测试人员对测试软件过于熟悉,造成思惟定势。

为了克服这种现象,测试人员须要不断编写新的测试程序或者测试用例,对程序的不一样部分进行测
试,以发现更多的缺陷。也能够引用新人来测试软件,刚刚进来的新手每每能发现一些意想不到的问题。

二十5、在配置测试中,如何判断发现的缺陷是普通问题仍是特定的配置问题?

参考答案:

在进行配置测试时,测试工程师仍然会发现一些普通的缺陷,也就是与配置环境无关的缺陷。所以判
断新发现的问题,须要在不一样的配置中从新执行发现软件缺陷的步骤,若是软件缺陷不出现了,就多是
配置缺陷;若是在全部的配置中都出现,就多是普通缺陷。
须要注意的是,配置问题能够在一大类配置中出现。例如,拨号程序可能在全部的外置Modem 中都存
在问题,而内置的Modem 不会有任何问题。

二十6、为何尽可能不要让时间有富裕的员工去作一些测试?

参考答案:

表面上看这体现了管理的效率和灵活性,但实际上也体现了管理者对测试的轻视。测试和测试的人有
很大关系。测试工做人员应该是勤奋并富有耐心,善于学习、思考和发现问题,细心有条理,总结问题,
若是具有这样的优势,作其它工做一样也会很出色,所以这里还有一个要求,就是要喜欢测试这项工做。

若是他是专职的,那么确定更有经验和信心。国内的小伙子好象都喜欢作程序员,二者工做性质不一样,待
遇不一样,地位不一样,对自我实现的价值的认识也不一样,这是行业的一个须要改善的问题。若是只是为了完
成任务而完成任务,或者发现了几个问题就以为满意了,这在任何其它工做中都是不行的。

二十7、软件测试的风险主要体如今哪里?

参考答案:

咱们没有对软件进行彻底测试,实际就是选择了风险,由于缺陷极有可能存在没有进行测试的部分。

举个例子,程序员为了方便,在调试程序时会弹出一些提示信息框,而这些提示只在某种条件下会弹出,
碰巧程序发布前这些代码中的一些没有被注释掉。在测试时测试工程师又没有对其进行测试。若是客户碰
到它,这将是代价昂贵的缺陷,由于交付后才被客户发现。

所以,咱们要尽量的选择最合适的测试量,把风险下降到最小。

二十8、发现的缺陷越多,说明软件缺陷越多吗?

参考答案:

这是一个比较常见的现象。测试工程师在没有找到缺陷前会绞尽脑汁的思考,可是找到一个后,会接
二连三的发现不少缺陷,很有我的成就感。其中的缘由主要以下:

-代码复用、拷贝代码致使程序员容易犯相同的错误。类的继承致使全部的子类会包含基类的错误,反复
拷贝同一代码意味可能也复制了缺陷。

-程序员比较劳累是能够致使某些连续编写的功能缺陷较多。程序员加班是一种司空见惯的现象,所以体
力不仅时容易编写一些缺陷较多的程序。而这些连续潜伏缺陷偏偏时测试工程师大显身手的地方。

“缺陷一个连着一个”不是一个客观规律,只是一个常见的现象。若是软件编写的比较好,这种现象
就不常见了。测试人员只要严肃认真的测试程序就能够了。

二十9、发现的缺陷越多,说明软件缺陷越多吗?

参考答案:

这是一个比较常见的现象。测试工程师在没有找到缺陷前会绞尽脑汁的思考,可是找到一个后,会接
二连三的发现不少缺陷,很有我的成就感。其中的缘由主要以下:

-代码复用、拷贝代码致使程序员容易犯相同的错误。类的继承致使全部的子类会包含基类的错误,反复
拷贝同一代码意味可能也复制了缺陷。

-程序员比较劳累是能够致使某些连续编写的功能缺陷较多。程序员加班是一种司空见惯的现象,所以体
力不仅时容易编写一些缺陷较多的程序。而这些连续潜伏缺陷偏偏时测试工程师大显身手的地方。

“缺陷一个连着一个”不是一个客观规律,只是一个常见的现象。若是软件编写的比较好,这种现象
就不常见了。测试人员只要严肃认真的测试程序就能够了。

 

三10、全部的软件缺陷都能修复吗?全部的软件缺陷都要修复吗?

参考答案:

从技术上讲,全部的软件缺陷都是可以修复的,可是没有必要修复全部的软件缺陷。测试人员要作的
是可以正确判断何时不能追求软件的完美。对于整个项目团队,要作的是对每个软件缺陷进行取
舍,根据风险决定那些缺陷要修复。发生这种现象的主要缘由以下:

-没有足够的时间资源。在任何一个项目中,一般状况下开发人员和测试人员都是不够用的,并且在
项目中没有预算足够的回归测试时间,再加上修改缺陷可能引入新的缺陷,所以在交付期限的强大压力
下,必须放弃某些缺陷的修改。

-有些缺陷只是特殊状况下出现,这种缺陷处于商业利益考虑,能够在之后升级中进行修复。

-不是缺陷的缺陷。咱们常常会碰到某些功能方面的问题被当成缺陷来处理,这类问题能够之后有时
间时考虑再处理。

最后要说的是,缺陷是否修改要由软件测试人员、项目经理、程序员共同讨论来决定是否修复,不一样
角色的人员从不一样的角度来思考,以作出正确的决定。

若是你

①从事功能测试,想进阶自动化测试

②在测试界混了一、2年,依然不会敲代码

③面试大厂却屡屡碰壁

我邀你进群吧!来吧~~测试员,313782132(Q群里有技术大牛一块儿交流分享,学习资源的价值取决于你的行动,莫作“收藏家”)获取更多大厂技术、面试资料

若是对python自动化测试、web自动化、接口自动化、移动端自动化、面试经验交流等等感兴趣的测试人,能够关注微信公众号:【伤心的辣条】,获取软件测试工程师大厂面试资料!

最后:

凡事要趁早,特别是技术行业,必定要提高技术功底,丰富自动化项目实战经验,这对于你将来几年职业规划,以及测试技术掌握的深度很是有帮助。

相关文章
相关标签/搜索