金九银十招聘季, 自动化测试面试题分享
Posted test_二黑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了金九银十招聘季, 自动化测试面试题分享相关的知识,希望对你有一定的参考价值。
马上进入金九银十,很多小伙伴有被动跳槽的打算,所以更新一些相关的自动化面试题,希望能帮到大家。
一、 怎么设计接口测试用例?
通常,设计接口测试用例需要考虑以下几个方面:
① 是否满足前提条件
有些接口需要满足前提,才可成功获取数据。常见的,需要登录Token
逆向用例:针对是否满足前置条件(假设为n个条件),设计0~n条用例
② 是否携带默认值参数
正向用例:带默认值的参数都不填写、不传参,必填参数都填写正确且存在的“常规”值,其他不填写,设计1条用例
③ 业务规则、功能需求
这里根据时间情况,结合接口参数说明,可能需要设计N条正向用例和逆向用例
④ 参数是否必填
逆向用例:针对每个必填参数,都设计1条参数值为空的逆向用例
⑤ 参数之间是否存在关联
有些参数彼此之间存在相互制约的关系
⑥ 参数数据类型限制
逆向用例:针对每个参数都设计1条参数值类型不符的逆向用例
⑦参数数据类型自身的数据范围值限制
正向用例:针对所有参数,设计1条每个参数的参数值在数据范围内为最大值的正向用例。
二、 你平常做接口测试的过程中发现过哪些bug?
常规错误,接口没实现,没按约定返回结果,边界值处理出错等。
输入异常值(空值、特殊字符、超过约定长度等),接口抛错,没做封装处理;
输入错误的参数、多输入、少输入参数,接口可能出现的错误;
安全性问题,如明文传输、返回结果含有敏感信息,没对用户身份信息做校验,没做恶意请求拦截等;
性能问题,如接口并发插入多条相同操作,响应时间过长,接口压测出现瓶颈等;
三 、如果一个元素无法定位,你一般会考虑哪些方面的原因?
页面加载元素过慢,加等待时间;
页面有frame框架页,需要先跳转入frame框架再定位;
可能该元素是动态元素,定位方式要优化,可以使用部分元素定位或通过父节点或兄弟节点定位;
可能识别了元素,但是不能操作,比如元素不可用,不可写等。需要使用js先把前置的操作完成。
四 、在Selenium中如何实现截图,如何实现用例执行失败才截图?
在Selenium中提供了一个get_screenshot_as_file()的方法来截图的,一般结合try/except捕获异常时使用,进行错误截图。
五 、怎么对含有验证码的功能进行自动化测试?
图像识别,难度大,效果不好不推荐
屏蔽验证码,在测试环境邀请开发处理,预发和正式环境恢复
万能验证码,使用复杂的其他人无法猜到的验证码
六、 测试自动化中有哪些最佳实践?
以下是软件开发和测试团队应使用的一些最佳实践,以确保软件质量。
1
决定自动化什么
自动化某些测试是不可能或不切实际的,例如可用性、可访问性、探索性测试或经常更改的非重复测试用例。
2
根据技能和经验分配测试用例
在划分测试用例时,要考虑测试人员的技能和经验以及被测功能的复杂性和严重性。
3
消除不确定性
测试自动化的整个目标是进行可靠、准确、一致的测试,为测试人员提供有用的反馈。如果测试由于测试本身的错误而失败,或者它给出了误报,那么测试自动化的投资回报率就会开始下降。
4
选择正确的框架和工具
有很多工具可以执行自动化测试。为手头的测试选择错误的工具会浪费时间,并为发布可能在生产中失败的软件提供错误的信心。
5
将测试记录保存在错误数据库中
无论团队是否使用测试自动化,使用错误数据库都是最佳实践。
每当自动化工具或测试人员发现新错误时,都应将其记录在错误跟踪工具中,并包含重现错误的确切步骤和其他详细信息。
七、 你觉得自动化测试能完全替代手工测试么?
不。自动化测试不会使手动测试过时。尽管自动化测试有助于避免回归问题或发现你已经意识到的问题,但手动探索性测试对于发现你不知道的错误(例如不正确的需求或实现)至关重要。
某些类型的测试,例如探索性测试、可用性和可访问性测试,需要由人工测试人员执行。如果测试本身存在错误或问题,它们将提供错误的结果,给利益相关者提供错误的保证。
好的自动化测试测试可重复的测试用例,你可以确定性地复制这些用例。它当然减少了人工测试人员将执行的手动测试量,但并没有消除它。一旦人类测试人员发现了一个错误,他们就可以添加自动化测试以确保它在未来被自动捕获。
八、 如何提升UI自动的稳定性?
在经常检测失败的元素前尽量加上显式等待时间,等要操作的元素出现之后再执行下面的操作;
多线程的时候,减少测试用例耦合度,因为多线程的执行顺序是不受控制的
多用 try 捕捉,处理异常;
尽量使用测试专用环境,避免其他类型的测试同时进行,对数据造成干扰。
九、 其他接口要先获取接口信息,如何让登录的接口只在其他接口调用一次?
解决方法如下:
使用单例模式;
使用自定义缓存机制;
使用测试框架中的 setup 机制;
pytest 中 fixture 机制;
以上就是今天的全部内容,希望对大家有所帮助,最后不管你是刚入门的小白、还没入门的群众、已经入门很久的前辈,不满足现在的工作情况,你想升值加薪,想弯道超车,都可以加我的群,咱们会提供一套专门的测试学习路线规划,带领你实现人生逆袭,财富自由。当然,咱们也有免费的资料可以提供给喜欢自学的小伙伴,所以欢迎大家踊跃加群~我会一一为大家通过的。(拒绝三天打鱼两天晒网)
以上是关于金九银十招聘季, 自动化测试面试题分享的主要内容,如果未能解决你的问题,请参考以下文章