自动化-常识

自动化尝常识

1.如何把自动化测试在公司中实施并推广起来?

  1. 项目组调研选择自动化工具并演示demo案例,我们主要演示selenium和robot framework两种
  2. 搭建自动化测试框架,在项目中逐步开展自动化
  3. 把该项目的自动化流程、框架固化成文档
  4. 推广到公司的其他项目组应用

2. 自动化测试用例如何编写?

不管是手工还是自动化,测试用例就是一组按部就班的指令,以验证某些功能是否符合需求。我梦可以从这几个角度来思考:

  • 测试环境
  • 测试数据
  • 测试业务
  • 检查的/测试手段
  • 测试环境的清理

其中,测试业务是我们最关心的一点,可以采取转化手动case和跟进需求的方式进行编写,一般在初级阶段以基本业务为主(登录-完成业务-退出),之后再逐渐增加case场景

3. 自动化测试发现的bug多吗?
不多
那么自动化测试的价值是什么?怎么证明它不是伪需求?

  • 比起发现bug,自动化测试更擅长保持旧有的功能没有bug出现
  • 引用自动化之后,能代替大量繁琐的回归测试工作,把业务测试人员解放出来,既而让业务测试人员把精力集中在复杂的业务功能模块上来
  • 一般来说相对稳定的功能更适合自动化
  • 功能自动化尽可能用接口\验收自动化则使用端到端
  • 自动化技术是测试人员深化技能的必经之路

4.在上一家公司做自动化测试用的什么框架?

  • pytest+request+allure
  • python+selenium+pytest+allure
  • robotframework+Selenium2Library
  • robotframework+requestLibrary

5.什么是持续集成?它有什么用?

  • CI持续集成主要是开发范围,包括:构建>单元测试;主要针对在集成新代码是所引发的问题(亦称:“集成地狱”)。
    主要关联git技术\代码管理
    现代应用开发的目标是让多位开发人员同时处理同一应用的不同功能。但是,如果企业安排在一天内将所有分支源代码合并在一起(称为‘合并日’),最终可能造成工作繁琐、耗时,而且需要手动完成。这是因为当一位独立工作的开发人员对应进行更改时,有可能会与去他开发人员同时更改发生冲突。如果每个开发人员都自定义自己的本地集成开发环境(IDE),而不是让团队就一个基于元的IDE达成一致,那么问题就更加雪上加霜了。
    持续集成(CI)可以帮助开发人员更加频繁地(又是甚至每天)将代码更改合并到共享分支或主干中。一旦开发人员对应所做的更改被合并,系统就会通过自动构建应用并运行不同级别的自动化测试(通常是单元测试和集成测试)来验证这些更改,确保这些更改没有对应用造成破坏。这意味着测试内容涵盖了从类和函数到后成整个应用的不同模块。如果自动化测试发现新代码和现有代码之间存在冲突,CI可以更加轻松的快速修复这些错误。
  • CD持续交付涉及开发、测试、运维合作,包括:构建>测试环境部署>测试(不涉及生产环境的自动化部署)
    完成CI中构建单元测试和集成测试的自动化流程后,持续交付可自动化将以验证的代码发布到存储库。为了实现高效的持续交付流程,务必要确保CI一内置于开发管道。持续交付的目标食用油一个可以随时部署到生产环境的代码库。
    在持续交付中,每个阶段(从代码更改的合并,到生产就绪型构建版本的交付)都涉及测试自动化和代码发布自动化。在流程结束时,运维团队可以快速、轻松的将应用部署到生产环境中。
    这个阶段应该关联接口\UI的自动化测试

6.简单介绍一下自动化项目整体框架的结构

  • 自动化测试框架涵盖基础方法封装、自定义一场封装、工具类封装、元素管理封装、Page Object模式封装、日志封装、数据管理封装、失败重试封装、浏览器适配封装、数据库操作封装、测试用例管理封装、测试报告等等

7.你们公司业务中,自动化和手工分别占多少?分别用来做什么业务?

  • 首先各公司自动化和手工的占比取决于对自动化测试的投入,这个问题的回答建议先做好数据,比如我们的功能测试用例总计1000,从中分析出要实现的自动化用例300条,那么自动化的占比就出来了。那么哪些测试用例会被用来做自动化,稳定模块的用例、更能优先级高的用例。手工测试一般用来做新功能测试业务,自动化一般用来做旧的功能用来回归业务。

8.如何保证自动化测试的稳定性

  • 自动化测试稳定性主要表现在两个方面:一个是元素定位的问题,一个是用力之间的依赖问题、元素定位问题可以采用只能等待的方式尽可能地避免;用例以来可以解藕用力之间的关系,让每条用例都从一个共同的页面开始执行,比如首页,这就需要在测试框架中采用后置处理的方式是没调用例执行完成后都回到首页。

9.自动化测试中用例以来的数据如何构造?

  • 不管是接口自动化还是ui自动化都会存在自动化case依赖数据如何构造的问题,可以从三个方面去考虑,第一个是在测试前采用解口去构造需要的数据;第二个是使用初始化sql去初始化数据,但是如果说表结构复杂的话,sql编写也是比较大的工作量;第三个方式是提前准备好一套数据,并且将数据对应的数据库进行备份,在之后每次执行测试前先备份当前数据库数据,再代入之前的测试数据,在执行测试,测试执行完后在恢复原有的数据。

10.什么是数据驱动?

  • 在实际测试过程中,考录到流程中所有数据变动,依据不同的数据对流程业务进行测试的过程。
  • 自动化测试都是基于代码来实现的,为了考虑到测试用例的复用性,所以会将测试数据域代码进行完全分离,然后基于数据变动来实现各个流程的各个条件覆盖。这就是数据驱动的概念

主流数据驱动实现形式:
1.Excel数据驱动
2.Yaml,json,Py数据驱动
3.text、csv、xmind 不常用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值