前言

1、自动化测试-实施方案

1)项目讨论

项目中符合自动化测试的部分有哪些?(目标和范围 scope, 准入准出标准)
稳定的需求点、变动较少的页面
每日构建后的测试验证 daily build
比较频繁的回归测试
需要在多平台上运行的相同测试案例、组合遍历型的测试、大量的重复任务

自动化用例在整个项目的测试用例的覆盖率
一般的要求 50% +
重点的要求 80% +
根据项目的具体要求,变动特别大的项目需要额外单独考虑覆盖率

2)团队建设

建立自动化测试的组,理想状态下有4个人员,测试开发、中高级自动化测试工程师、2个初级自动化工程师;非理想的情况下,可能只有一个人。

理想状态下的动化测试团队建设

①测试开发:
基础搭建:自动化框架的建设,确定自动化框架的设计模式、第三方代码工具的封装、中间公共模块的设计和调用、测试用例、测试套件的管理和执行、测试报告和测试结果的输出(文件输出和邮件通知)
可选高级:如果可能的话,需要搭建持续集成服务器(CI,Continuous Integration Server)的环境,进行持续交付和自动化的冒烟测试等。
培训的任务,需要将设计的框架以及封装的驱动,对其他成员进行培训。
有自动化方案的实施经验、有开发背景、以及持续集成的背景等。

②中高级自动化测试工程师:
配合测试开发人员,实施测试框架的建设。主要负责中间公共模块的实现和实例化等,以及部分高难度和流程复杂的自动化用例脚本编写和调试等工作。
有参与过自动化方案的建设、脚本编写经验丰富、会代码调试、懂Web测试等。

③初级自动化测试工程师:
根据中间公共模块的设计,进行实例化公共模块、方法组合,实现自动化用例脚本的编写。
有计算机编程思维、有代码经验、可以读懂脚本和HTML等。

非理想状态下的动化测试团队建设
若只有我一个人:
首先实现自动化测试框架的设计,一般先用通用的框架,然后再结合项目的特点进行改造
其次是自动化用例的编写、维护和执行。在这个基础上不断的抽取实现公共模块的设计以及测试报告的生成等工作。
通过经验的积累,以及后续人员的补充,做好自动化框架的建设工作。

2、自动化测试面试题

1)你有没有做过自动化测试?

我在xx项目中实施了web自动化测试,我们项目中搭建自动化测试框架技术:python+selenium+pytest/unittest+ddt+jenkins,然后用的POM分层的模式(面向对象思想),数据驱动使用的是excel+ddt的驱动模式,我在这个自动化测试实施的项目里所负责的那些模块那些测试用例的自动化代码编写

我在xx项目中实施了接口自动测试平台搭建,技术栈:python+django+pytest/unittest+ddt+jenkins

2)你们公司是如何在公司里面实施自动化测试的?

公司目前展开自动化,希望你能够承担自动化的实施过程
公司已经在开展自动化了,想借鉴一下

项目组做自动化的可行性分析自动化率到i什么程度
项目周期比较长 一年以上,需求不会频繁变更,自动化脚本能够持续反复的使用
自动化工具selenium robotframework调研以及demo演示
由leader搭建自动化测试框架,并且在项目中逐步的实施,发现框架的问题并改善
把自动化流程化,框架出使用文档以及规范文档
生成定制的报告 并继续完善框架

3)接口自动化如何设计测试用例?一个接口你会设计多少个测试用例?(20-30)

考虑:业务逻辑,入参,通过等价类边界值场景法来设计

设计:正例 (两个)请求方式 get/post
反例
鉴权反例:token,key:为空,错误,过期
参数反例:必须项检查,长度规则,类型规则,日期
错误码覆盖
其他的关注点:分页,图片格式,大小

4)接口自动化测试框架中接口关联你们是怎么处理的?

postman和jmeter如何处理接口关联?
json提取器 正则表达式 cookie提取器

通过一个单独的extract.yaml文件来保存所有的关联字段,中间提取的变量这个变量在所有的测试用例之前清空

清空通过
unittest:setup_class
pytest:conftest+fixtrue

在测试用例的yaml里面通过一级关键字extract提取 提取支持json提取的正则表达式提取

在其他的接口的yaml文件里面通过{{}}提取或者${}的提取

5)你有从零开始独立搭建过自动化接口自动化测试框架?

我在xx项目搭建的接口自动化测试框架所使用的核心技术:
request+pytest+allure+parametrize+jenkins 包装:basepage基础封装,testcase封装

requests二次封装,日志收集模块 yaml配置文件封装

封装的这个项目规则:

YAML格式用例的约定

必须包含一级关键字:name request validate
在request关键字下必须包括:method,url,data,如data没有的话那么输入默认值{}

提取变量使用一级关键字extract。支持json提取和正则提取(.+?)和(.*?)取值使用{}
可以使用热加载的方式调用debug_talk.py中debugTalk类里面的方法 通过${}调用方法

支持equals、contains两种断言
使用parameters做csv文件的数据驱动,通过$csv(appid)这种格式取值

更细:
web:frame怎么处理,下拉框怎么处理,多个页面 ,弹窗操作,鼠标操作(悬停),滚动条,键盘 你怎么处理
接口:接口加密 接口签名

6)自动化测试框架如何运行?

选择项目试点
提取自动化
基于内容实现测试Demo:

定义框架
结构设计
编码落地
开会 自动化测试Demo进行演示与讲解
整理资料,安排使用人员培训
维护和升级测试框架

7)自动化测试怎么做的

什么是自动化的po模式:

po模式主要分为对象层操作层业务层 对象主要封装某些元素定位的方法 操作层封装元素的一些特定的操作 业务层把一个或多个操作组合成具体业务

具体实现 以登录页为例
第一步先实现BasePage基类这个基类主要实现driver的获取
第二步根据BasePage基类实现对象层封装登录页面的元素定位封装定位用的用户名密码确认按钮等定位方法

第三步根据封装的定位方法封装他们的操作 比如输入用户名和密码点击确认按钮
第四步根据封装LoginPage页面的操作类实现登录的测试

最新最全花1W买的Python+Selenium全栈Web自动化测试

下面是我整理的2025年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

人生最精彩的不是实现梦想的瞬间,而是追梦路上那个永不言弃的自己。那些看似遥不可及的目标,终会在你日复一日的坚持中触手可及。别怕慢,怕的是停下;别怕难,怕的是放弃!

你比自己想象的更强大!每个挫折都是成长的契机,每次坚持都在改写命运的轨迹。当别人选择放弃时,你的执着就是胜利的开始。向前奔跑吧,整个世界都会为追光者让路!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐