1、自动化怎么测试?

本题结合自己公司实际情况说,下面的内容可参考:

1)开展自动化测试之前,最好先做个测试计划,明确测试对象、测试目的、测试的项目内容、测试方法、测试的进度要求,确保测试所需人力硬件数据等资源准备充分,制定好测试计划后,下发给用例设计人员

2)分析测试需求

用例设计者根据测试计划和需求说明书,分析测试需求,设计测试需求树,以便用例设计时能够覆盖所有的需求点。一般来讲,基于Web功能测试需要覆盖一下几个方面:

①页面链接测试,确保各个链接正常;

②页面控件测试,确保各个控件可靠;

③页面功能测试,确保各项操作正常;

④数据处理测试,确保数据显示准确、处理精确可靠;

⑤模块业务逻辑测试,确保各个业务流程畅通。

3)设计测试用例

通过分析测试需求,设计出能够覆盖所有需求点的测试用例,形成专门的测试用例文档。由于不是所有的测试用例都能用自动化来执行,所以需要将能够执行自动化测试的用例汇总成自动化测试用例。必要时,要将登陆系统的用户、密码、产品、客户等参数信息独立出来形成测试数据,便于脚本开发。

4)搭建测试环境

自动化测试人员在用例设计工作开展的同时即可着手搭建测试环境。因为自动化测试的脚本编写需要录制页面控件,添加对象。测试环境的搭建,包括被测系统的部署、测试硬件的调用、测试工具的安装盒设置、网络环境的布置等。

5)编写测试脚本

根据自动化测试用例和问题的难易程度,采取适当的脚本开发方法编写测试较薄。一般先通过录制的方式获取测试所需要的页面控件,然后再用结构化语句控制脚本的执行,插入检查点和异常判定反馈语句,将公共普遍的功能独立成共享脚本,必要时对数据惊醒参数化。当然还可以用其他高级功能编辑脚本。脚本编写好了之后,需要反复执行,不断调试,知道运行正常为止。脚本的编写和命名要符合管理规范,以便统一管理和维护。

6)分析测试结果、记录测试问题

应该及时分析自动化测试结果,建议测试人员每天抽出一定时间,对自动化测试结果进行分析,以便尽早地发现缺陷。如果采用开源自动化测试工具,建议对其进行二次开发,以便与测试部门选定的缺陷管理工具紧密结合。理想情况下,自动化测试案例运行失败后,自动化测试平台就会自动上报一个缺陷。测试人员只需每天抽出一地你该时间,确认这些自动上报的缺陷,是否是真实的系统缺陷。如果是系统缺陷就提交开发人员修复,如果不是系统缺陷,就检查自动化测试脚本或者测试环境。

7)跟踪测试BUG

测试记录的BUG要记录到缺陷管理工具中去,以便定期跟踪处理。开发人员修复后,需要对此问题执行回归测试,就是重复执行一次该问题对应的较薄,执行通过则关闭,否则继续修改。如果问题的修改方案与客户达成一致,但与原来的需求有所偏离,那么在回归测试前,还需要对脚本进行必要的修改和调试。

8)自动化脚本的维护

如果系统发生变更时,对自动化测试脚本和相关文档包括《自动化测试用例》、《自动化脚本设计说明书》进行维护,以适应变更后的系统。

2、接口怎么测试?

1)接口的入参,先考虑正常的入参,以及异常的入参,异常情况包括:参数异常和数据异常

正常的入参:根据接口设计文档的入参标准,输入正常的参数,响应按接口设计文档的约 定条件正常返回

参数异常包括:参数为空,多参或少参,错误的参数

数据异常包括:数据类型错误、非空参数为空,长度不符合设计,不在范围内的数据,特殊字符或敏感字符,存在关联关系的参数数据异常等

2)分析业务处理逻辑

根据限制条件分析:金额限制、订单状态的限制、数据操作权限的限制(管理员、普通用户)

根据操作对象分析:主要是对合法和不合法的对象进行操作,比如银行卡用户对卡进行充值,则可能存在:用户A使用非用户A的卡充值;用户A使用自己的卡进行充值,卡已过有效期;用户A使用自己的卡进行充值, 卡为黑名单或挂失等。

根据状态转换的分析:比如支付类业务,先支付成功,撤单后会退款,再次支付如果支付未成功,则是支付失败,状态之间的 切换是否正常,未按正常业务顺利进行操作时,状态怎么显示,是否可控,是否出现异常状态,空状态 业务怎么处理等

根据业务操作顺序分析:按照某个顺序来执行,才能等到预期的结果,那么在执行过程中发生的其他分支动作程序会作何处理

3)输出

在考虑异常时,通常我们都会想到正常情况,无效的情况,但是不一定能覆盖所有错误码,而接口定义返回的错误码可以帮助我们补充这一部分的用例,比如网络异常,无效的规则,无效的参数,无效的业务ID,无效的任务,服务器异常等,把errorcode的值都补充上去可以设计更多的用例

这种根据输出进行设计用例,可以发现前后端是否正常输出结果,提示是否友好,提示是否出现敏感信息等

4)数据库操作

业务数据入库是否正常,是否有重复数据入库,是否出现乱码

数据更新是否正常,尤其是时间类字段,时间是否为24小时制的格式

表中各个字段是否符合预期

5)安全性

敏感信息是否加密(如用户名、银行账号,密码,转账金额)

6)性能

接口最大支持多少并发数

接口每秒能处理多少次业务(TPS)

接口的平均响应时间(RT)

接口对服务器资源的消耗(CPU、内存、网络、磁盘)

7)兼容性

接口测试不需要考虑客户端的兼容性,主要是数据的兼容性。比如对于老接口的历史数据是否兼容,用 新接口去处理老的数据,是否能正常处理。

8)幂等性:就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。

测试点如下:

①前端重复提交选中的数据或重复点击支付按钮,应该后台只产生对应这个数据的一个反应结果。

②发起一笔支付请求,当遇到网络重发或系统其他问题重发,可以先断网扫码一次再重连扫码,应该也只有一笔订单。

③创建业务订单(提现等),一次业务请求只能创建一个,创建多个就会出大问题;

④对于扫码交易(例如:主被扫)对同一笔订单,不同商户同时扫码,是否会出现重复支付;

⑤使用工具做接口自动化测试,制造相同的订单号,看是否会出现重复支付;

3、你们公司自动化框架是什么?

常用的框架有Robot Framework、Pytest、UnitTest。

Pytest、Robot Framework和UnitTest主要用于功能与单元测试。

4、为什么用jmeter接口测试,不用java直接接口测试呢

jmeter学习成本低,且能实现很多较为复杂的场景,提供了较为直观的UI界面,上手更容易一些,便于测试人员理解接口测试。

但是写代码实现接口测试的各种状态判断等操作,对于测试人员来说就相对难度高一点,需要一定的技术积累。

由于我司测试组人员。。。所以采用jmeter做的接口测试,这里回答时可以灵活一些。

5、接口实现自动化大概有多少?

梳理自己公司的业务即可。

接口自动化的case根据接口的数量而定,比如100个接口,接口自动化case大概在2000-3000之间,接口自动化的覆盖率可以达到100%,WEB自动化测试的case根据业务用例而定,10000个功能测试的用例,WEB自动化的用例在2000-3000左右,覆盖率一般在30%,所有的用例全部执行完大概在半个小时到一个小时左右。

6、接口测试怎么评估你的测试案例

1)业务功能覆盖是否完整

2)业务规则覆盖是否完整

3)参数验证是否达到要求(边界、业务规则)

4)接口异常场景覆盖是否完整

5)接口覆盖率是否达到要求

6) 代码覆盖率是否达到要求

7)性能指标是否满足要求

8)安全指标是否满足要求

7、交易接口是怎么样的?测试点有哪些?

1、补单功能:

自动补单功能通过系统自动查询接口重复查询直到获取订单终态

手动补单单条和批量做

2、风控限额功能:单笔、产品限额、单日限额、渠道限额(此时要进行边界值测试)

3、异步通知功能:支付成功或者分账成功通知,不同的异步通知需要验证订单成功、失败、处理中三种状态的通知内容及格式是否正确;

4、支付产品解约功能:解约后还能否做交易

5、基本状态校验如:支付订单状态、终端显示状态、商户后台等平台状态

6、异常状态订单是否会触发报警系统

7、并发测试,幂等校验

8、非功能指标:看接口并发及响应时间是否在合理范围内

8、后台架构是什么逻辑架构(后台包含拿一些模块?)

按照自己公司业务架构说即可

9、测试开发各占多少?

按照自己公司实际情况说即可

10、如果现在让写加解密会写吗?

刷题解决,这里先不做赘述。

11、跟开发怎么高效沟通的?有没有开发异地的经历

1、要耐心和细心,懂得尊重开发

2、测试工程师需要对产品质量负责,在这一点需要有原则

3、在有能力的情况下可以承担更多一些工作,如:定位bug至代码层级,前提要在自己确有余力情况去承担
4、建立进度定期跟踪机制

12、自动化和功能占比

按照自己公司实际情况说即可,例如:3比7

13、使用 Java 编写测试用例用到哪些库?

平常使用过的注意积累

requests:HTTP 请求库

mysql-connector-python: mysql官方python API

Selenium: Web自动化测试中使用最广泛的库

Mock:一个用于伪造测试的库

responses:伪造 Python 中的 requests 库的一个通用库

faker:生成虚假数据的python库

radar:生成随机的日期/时间

unittest:(Python 标准库) 单元测试框架

14、自动化测试检查点

接口响应码

交易状态

交易金额

请求结果

数据库断言

是否包含某些关键字

15、如何保障测试质量?

1)不同测试类型相结合,功能非功能

2)熟悉所测试系统业务逻辑,理解深挖需求

3)对于复杂模块的功能,做下用例评审

4)执行测试时,别放过任何bug,记得提缺陷系统中,及时跟进bug。注意各模块之间的交叉测试,进一步发现潜在问题

5)最终测试需要评估,对测试结果分析,探讨上线的风险,以及制定发生问题时的应急方案

等等

16、公司有没有高并发高可用?

即:怎么避免两笔重复订单的发生,按照实际情况说即可

回答: 一般都是用数据库唯一索引约束 , 一个appid和商户单号只能有一笔 ,如果 同时来交易的话数据库唯一索引直接就报错了 , 数据库控制 , 因为一笔入库 另一笔就入不了库了

高并发涉及一些词解释:

高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。

响应时间:系统对请求做出响应的时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间。

吞吐量:单位时间内处理的请求数量。

QPS:每秒响应请求数。在互联网领域,这个指标和吞吐量区分的没有这么明显。

并发用户数:同时承载正常使用系统功能的用户数量。例如一个即时通讯系统,同时在线量一定程度上代表了系统的并发用户数。

高可用:

公司引入Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性

来一套自动化测试面试题(答案版)相关推荐

  1. 数据结构题及c语言版答案9.14,十套数据结构试题+答案+难题解析(精校版)

    十套数据结构试题+答案+难题解析(精校版) 更新时间:2017/2/9 10:47:00  浏览量:643  手机版 数据结构试卷(一) 一.单选题(每题 2 分,共20分) 1. 栈和队列的共同特点 ...

  2. 花一周时间整理了3.5W字的全栈自动化测试面试题(答案+学习路线)!为了找到好工作,拼了!

    目录 前言: 一.Web自动化测试面试题 二.APPUI自动化测试面试题 三.接口自动化测试面试题 四.全栈自动化测试学习路线图及全栈资料分享 前言: 这篇文章是为大家在网上收集整理的软件测试面试题目 ...

  3. 面试题:460道Java后端面试高频题答案版「模块九:Spring」

    Spring 写在前面 相信对于 Spring 这个模块,只要是做过 Java 开发的同学都是不陌生的,或多或少都使用过 Spring 体系的框架.对于平时自己做点小项目会写配置文件可能就行了,但是对 ...

  4. “阿里/字节“大厂自动化测试面试题一般会问什么?以及技巧和答案

    前言: 公司要求招一名自动化测试,能力要求不高,1年左右自动化经验+部分性能经验即可,让我出一份题,我就百度+公司项目遇到的问题,出了一份,出题整体思路是:接口自动化问题+性能问题+规划的ui.app ...

  5. 安徽省太和一中2021高考成绩查询分数,2021届安徽省太和一中高三物理高考二模试题 Word版含答案...

    2021届安徽省太和一中高三物理高考二模试题 Word版含答案 | 物理 一.选择题:本题共10小题,每小题5分,共50分.在每小题给出的四个选项中,第1~6题只有一个选项符合题目要求,第7~10题有 ...

  6. 计算机一级考试第一套题电子表格,2013年计算机一级考试试题(精简版):第一套...

    无忧考网为大家收集整理了<2013年计算机一级考试试题(精简版):第一套>供大家参考,希望对大家有所帮助!!! 单选题(每小题1分 共30分) 注意:打开你考试文件夹中的EXCEL工作簿文 ...

  7. c语言50到100套,c语言51-100套试题答案及详解.pdf

    c语言51-100套试题答案及详解 2 double ave=0.0; 第 51 套 试题答案及详解 3 *n=0; 4 for(i=0; i 5 ave /=N; /* 计算平均值 */ 一.程序填 ...

  8. 聊城中考计算机试题及答案,初中微机模拟考试试题(word版).doc

    <初中微机模拟考试试题(word版).doc>由会员分享,可在线阅读,更多相关<初中微机模拟考试试题(word版).doc(5页珍藏版)>请在人人文库网上搜索. 1.1.在Ex ...

  9. PHP基础题带详细答案,PHP基础语法试题(一)答案版.docx

    PHP基础语法试题(一)答案版 关于服务器.浏览器.PHP解释器的说法中,正确的有( ).A. Web浏览器只解析HTML.CSS.JavaScript代码B. PHP文件,只能被Apache服务器解 ...

最新文章

  1. 香奈儿的 AI 实验室里,发生了什么?
  2. 无法安装到这个磁盘 这台计算机,安装Win7提示无法安装到这个磁盘怎么办
  3. 【Java】Calendar获取年、月、日、时间
  4. linux检测病毒工具,Linux下查杀病毒工具
  5. 【Lucene4.8教程之四】分析
  6. mysql在linux下的安装(5.7版本以后)
  7. 编写数据访问代码测试–单元测试是浪费
  8. C/C++开发者必不可少的15款编译器+IDE
  9. Android单元测试研究与实践
  10. for循环语句例子 python_Python for循环语句一般形式例子
  11. 跟着开源项目学因果推断——whynot(十四)
  12. 桌面虚拟化(四):第二阶段,形影不离的贴身秘书
  13. chainmaker-go-sdk get cert hash failed, get cert hash failed, send QUERY_SYSTEM_CONTRACT failed
  14. 12306验证码识别初尝试(1)
  15. Django实现统计网站访问次数、访问 ip 、受访页面
  16. ubantu安装环境
  17. 2022 年牛客多校第四场补题记录
  18. Vim的几个高级玩法
  19. 重构类关系-Replace Inheritance with Delegation以委托取代继承十一
  20. 港科招生 | 香港科大DBA(工商管理博士)项目介绍和科研成果分享

热门文章

  1. office2003弹出安装提示
  2. 耳钉别乱选,学透这4个技巧,才能轻松掌握适合自己的耳钉
  3. iOS(马甲包)开发如何避免安全隐患
  4. 基于Kaldi+GStreamer搭建线上的实时语音识别器
  5. 《DFQ》开发随录——随机地图
  6. java游戏宠物进化,宠物小精灵游戏
  7. Ubuntu 下如何把安装好的软件图标放置在桌面左侧
  8. WPS之excel:对表格进行各种快捷操作
  9. 【C语言玩转圣诞节】100行代码画出圣诞水晶球
  10. 怎样破解邮箱password