面试题三期-中高级测试工程师必备,月薪15K+必备

想涨薪的同鞋,都想搞钱,你做好搞钱的准备了吗?直接进入正题吧

小黄鸡欢迎同学前来面试自动化篇


引言:自动化永远是避不开的,反正你入职的岗位要不要用自动化,你必须得会一点,加分项。这一块包括,自动化一些理念和自动化的工具使用。

理念和概念

1.如何看待自动化和手动测试?怎样的一个比例才是健康的?

曾经有项目已经实现了80%+的自动化,但是考虑到项目迭代周期短(还有个别业务场景),自动化还是成了辅助和回归(实际回归还是手工为主的)。而且个别新功能一添加,导致测试代码逻辑需要大调整,在测试人员不足的情况下(比如PM每日安排量化手工测试任务的时候,就需要你自己挤时间改代码),真的很无奈。不过做自动化还是能学到不少东西的,只是PM和QA Manager都要考虑投入产出比,所以测试人员少的小项目不少还是会回到手工为主,学自动化反而成了激励组员的手段。 

2.自动化测试用例的覆盖率多少?

1.不是覆盖所有手工测试用例

2.从手工用例中选取核心用例进行优化改写,形成自动化测试用例

3.覆盖率是绩效考核范围,建议争取领导支持适当降低期望

3.完整运行一次自动化用例需要多久时间?

这个要根据自动化的所测试到的模块以及用力条数去进行分析,可以简单的列下你们公司每次运行自动化一个具体的时间进行回答

4.什么是分层自动化?

分层的自动化测试倡导产品的不同层次都需要自动化测试,这个金字塔也正表示不同层次需要投入的精力和工作量。

其中Unit代表单元测试,Service代表服务集成测试,UI代表页面级的系统测试

5.你的测试数据是怎么准备的?

首先看数据的来源,数据的来源一般来讲有三个个,一个是根据被测系统需求的分析,针对正常业务,异常情况,边界情况等来构建完整的数据,又称为“造”数据。这不仅仅包括最基本的基础数据,比如:用户、权限、配置、基础编码、原数据等,还包括上面提到的业务数据。这对于比较小型的系统来说还是可行的,对于大型的系统来说可能就是一个巨大的工程了。 第二种方式就是利用现有系统,这适合已有类似系统,测试是针对升级或者增加功能的产品化的系统。这种情况把已经在生产环境中运行的数据导出。在此基础上再进行数据的整理、加工为测试数据。 还有一种方式就是将现有非电子化的业务数据录入到系统中,在验证业务的同时也完成了测试数据的积累。即边测试边积累数据。但是这种情况积累的数据往往有一定局限性,因为已经发生的业务数据基本是正确的、一致的,而且可能缺少某些特定业务的数据(不常发生的业务)。这样就需要根据对测试需求的分析,追加新的测试数据,以便能完整覆盖业务类型。 确定好数据来源后,还需要对已有数据进行分析、验证、检查,保证数据的质量,数据的质量一般要满足测试需求、覆盖被测业务、覆盖测试边界,以及要满足完整性、一致性等要求。检查完后要整理和完善数据,清除无用和冗余的数据、补录不完整的数据,修改一些错误的数据。 经过整理好的数据要纳入配置管理,以后根据需求和变更要进行数据的维护和更新,以保证满足系统测试的要求

6.测试脚本的维护成本是怎么样的?

自动化测试的必要性就不再多做阐述,使用QTP毋庸置疑是为,降低测试成本,提高测试效率。或许刚刚入门的朋友都会觉得QTP使用很简单,基本上不用培训就能直接上手操作。但是其实不然,长期做自动化的朋友们或许就能明白QTP有一难点,那就是脚本维护。

一个庞大的测试项目必然包含了大量复杂的测试脚本,如果说对于脚本的管理没有一个好的制度,那么随着程序的频繁更新,脚本的反复执行,这些脚本必将步履维艰!

比如说兼容问题,如果项目组提出新需求,要求我们的产品支持最新版本的IE。而我们当初录制的IE是旧版的,那么在新版的IE上执行这些脚本时可能就困难重重,甚至是寸步难行。

再比如,按照业务的操作流程,我们在测试时都会遵循添加再删除的方式去执行系统交易,但是由于更新上来的程序在处理删除时出错,于是,出现了添加成功,删除失败的尴尬局面。我们都知道,在每次回归测试时,都要执行自动化脚本,所以在这种删除失败的情况下,再次运行脚本就出现了同样的数据添加两次的情况。因此,毫无疑问,这种操作必将以失败而告终,此时,只有一种方法去解决这个问题了,那就是我们手动去删除已经添加成功的数据。大家可以想象,在成百上千的测试案例中,如果出项大量这样的脚本我们要怎么去维护呢。不要说去发现问题,我们的主要任务估计就会被迫转向调试脚本了。

7.自动化测试工具有哪些

QTP全名HP QuickTest Professional software ,最新的版本为HP QuickTest 

Professional 11.0QTP是quicktest 

Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等QuickTest针对的是GUI应用程序,包括传统的Windows应用程序,以及现在越来越流行的Web应用。它可以覆盖绝大多数的软件开发技术,简单高效,并具备测试用例可重用的特点。其中包括:创建测试、插入检查点、检验数据、增强测试、运行测试、分析结果和维护测试等方面。

WinRunnerMercury 

Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。企业级应用可能包括Web应用系统,ERP系统,CRM系统等等。这些系统在发布之前,升级之后都要经过测试,确保所有功能都能正常运行,没有任何错误。如何有效地测试不断升级更新且不同环境的应用系统,是每个公司都会面临的问题。

Rational 

Robot是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。它集成在测试人员的桌面IBM 

Rational Test 

Manager上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。这种测试和管理的双重功能是自动化测试的理想开始。

QA 

RunQARun的测试实现方式是通过鼠标移动、键盘点击操作被测应用,即而得到相应的测试脚本,对该脚本可以进行编辑和调试。在记录的过程中可针对被测应用中所包含的功能点进行基线值的建立,换句话说就是在插入检查点的同时建立期望值。在这里检查点是目标系统的一个特殊方面在一特定点的期望状态。通常,检查点在QARun提示目标系统执行一系列事件之后被执行。检查点用于确定实际结果与期望结果是否相同。

Test 

Partner是一个自动化的功能测试工具,它专为测试基于微软、Java和Web技术的复杂应用而设计。它使测试人员和开发人员都可以使用可视的脚本编制和自动向导来生成可重复的测试,用户可以调用VBA的所有功能,并进行任何水平层次和细节的测试。TestPartner的脚本开发采用通用的、分层的方式来进行。没有编程知识的测试人员也可以通过TestPartner的可视化导航器来快速创建测试并执行。通过可视的导航器录制并回放测试,每一个测试都将被展示为树状结构,以清楚地显现测试通过应用的路径。


更多文章请关注作者微信公众号:城事十则

猜你喜欢

转载自blog.csdn.net/tester_sc/article/details/83501909