当前位置: 首页 > news >正文

最细,Web自动化测试入门到精通整理,一套打通自动化测试...

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

1、浅谈自动化

1)自动化测试的价值

传统的商业模式以业务驱动产品,而现在则以技术驱动产品。特别是在敏捷模式下,产品迭代速度快,市场不断调整,客户需求不断变化。单纯的手工测试越来越无法适应整个变化的过程。

QA人员如何快速响应并保证产品在上线后质量能够满足市场要求(简单说,如何在上线一个新功能的同时快速对老功能进行回归测试,保证老功能不被新功能影响而出现严重的Bug),如何通过技术手段提高测试效率?

显然,对于这些问题,采用自动化测试无疑是一个不错的选择。能够做到在保证产品质量的同时提升测试效率。

2)岗位要求

如今,对于软件测试工程师来说,仅仅会手工测试已经无法满足岗位要求,我们从招聘网上相应的岗位要求中可以看到,很多都需要要求懂自动化测试、有自动化测试的经验,我们在面试的过程中也会经常碰到相关的面试题。

比如:你会自动化测试吗?在以往的工作经历中有自动化测试的经历吗?自动化测试如何落地?你们是怎么做自动化测试的呢?等一系列问题。

2、UI自动化的本质

把手动测试的一系列动作转化成机器自动执行。

打开网站(比如:打开淘宝网站)
定位元素(比如:定位到搜索输入框)
操作元素(比如:在搜索框中输入秋装,点击搜索)
模拟页面动作(比如:下拉、上滑等)
断言结果:预期结果与实际结果比对,判断是否通过测试。
生成报告

场景:打开淘宝网站,在搜索框中输入内容,点击搜索,查看搜索结果和预期要搜索的结果是否一致。

PS:做自动化不能跨步走,要一步一步的执行,手工怎么执行自动化就怎么执行。

3、适合自动化测试场景

需求不会频繁变动:因为需求频繁变动,页面的功能就会频繁变动。(比如敏捷迭代项目,V1.0版本已经上线了,后面只是在V1.0的基础上加一些新的功能,就可以对V1.0版本的老功能进行自动化测试)

UI比较稳定:因为UI自动化就是基于UI。
项目周期较长

大量的回归测试任务:大量的重复的回归的测试任务,不断的迭代,需要回归老功能。

冒烟测试:针对本次迭代的新功能(核心的、主干的功能,大概10%~20%)进行冒烟测试。如果冒烟不通过就不接受这个版本的测试。

冒烟测试知识点补充:
①冒烟测试指软件经过修改后,对其关键功能进行测试。
②为防止出现时间、人力资源的浪费,只有在通过冒烟测试后,系统方可进入全面测试阶段。
③冒烟测试用于确认是否让测试人员进入到对新版本的测试工作中。
④进行冒烟测试时,不需要返测上一版本中所有已知的缺陷。
回归测试:对老功能进行回归测试。

4、不适合自动化测试的场景

交互性太强的
视频播放器(无法判断正在播放的是什么、无法分析是蓝屏还是黑屏)
音频播放器
打电话

5、UI自动化测试设计原则

一个case完成一个功能点测试:一个自动化测试用例对应一条手工测试用例。

一个脚本是一个完整的场景(比如:打开淘宝网站,选择分类,添加某一个商品到购物车,支付,查看订单详情。)

脚本之间独立,不能有依赖(比如:有10个脚本,第1个脚本是登录,后面9个脚本依赖于登录,若第1个脚本失败,后面9个脚本就无法执行。)

设置合适的检查点:断言结果,检查预期结果与实际结果是否一致。
设计良好的框架(比如:pytest/unittest框架)

Java和Python自动化测试技术栈对比:

接口自动化测试:
Python+Requests+Unittest/Pytest+HTMLTestRunner/Allure;Java+HttpClient/OKHttp+TestNG;

Web自动化测试:
Python+Selenium+Unittest/Pytest+HTMLTestRunner/Allure;
Java+Selenium+TestNG;

App自动化测试:
Python+Appium+Unittest/Pytest+HTMLTestRunner/Allure;
Java+Appium+TestNG;

测试平台:
Python+Django/Flask;
Java+SpringBoot+MyBatis;

不管是Java还是Python,都能做自动化测试,如果非要从中选择一种,我更倾向于Python,也推荐初学者从Python入手。

主要有两点原因:
第一,自动化测试的目的是为了提升测试效率,将更多重复繁琐的工作交给程序自动执行,我们就有更多的时间去测试那些新功能。

毕竟手工测试是发现Bug最快和最多的一种途径,自动化的本质还是测试,Python语法相比于Java来说更加简洁,可能Java要写十行,Python只需要两行,如果选择Java可能就需要花更多的时间去编写自动化脚本,而Python所花费的时间会少一些。

第二,自动化测试脚本或测试平台一般是内部使用,使用的人数一般比较少,不会涉及高并发这种场景,即使Python性能较差,也不耽误我们做自动化测试。

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

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

人生最珍贵的不是最终抵达的终点,而是沿途突破自我的每个瞬间。当你觉得撑不住时,请记住:蝴蝶破茧时的挣扎,正是它获得飞翔力量的关键。你的坚持,正在为生命谱写最动人的乐章!

别被暂时的风雨模糊了视线!那些看似坎坷的路途,都在引领你走向更美的风景。当别人选择放弃时,你的坚持就是最有力的宣言。向前奔跑吧,整个世界都在期待你的光芒绽放!

http://www.dtcms.com/a/282783.html

相关文章:

  • ASP .NET Core 8集成Swagger全攻略
  • 从零开发足球比分APP:REST API与WebSocket的完美搭配
  • HAProxy简介及配置文件详解
  • ESP‑IDF 默认的连接流程是
  • 2_概要设计编写提示词_AI编程专用简化版
  • 快速开发汽车充电桩的屏幕驱动与语音提示方案
  • __is_constexpr(x)宏介绍---max()宏扩展
  • Linux 常用指令
  • 信而泰×DeepSeek:AI推理引擎驱动网络智能诊断迈向 “自愈”时代
  • Java基础语法补充v2
  • C# --- 单例类错误初始化 + 没有释放资源导致线程泄漏
  • The 2024 ICPC Asia Shenyang Regional Contest B. Magical Palette
  • Docker容器技术讲解
  • Liunx练习项目6-创建dns服务器
  • 主机安全---开源wazuh安装
  • 深入理解概率图模型:贝叶斯网络因子分解、d-分离与马尔可夫毯
  • 基于用户空间操作IIC接口调试云台电机
  • 7.16 Java基础 | 集合框架(上)
  • 微服务架构中实现跨服务的字段级权限统一控制
  • PyTorch深度学习框架入门案例实战
  • 第一章 【vue】基础(超详细)
  • 【动归解题套路框架】【带备忘录的递归】【最优子结构】【自下而上DP table】
  • Spring核心注解@RequestMapping详解
  • Java 二维数组详解:从基础语法到实战应用,彻底掌握多维数据结构
  • 边缘计算革命:AWS Snowcone在智慧工厂的落地实践(2025工业4.0实战指南)
  • 笔试——Day10
  • 【AI交叉】天文学:人工智能如何赋能星辰大海的探索
  • 如何关闭Elasticsearch的安全认证的解决方法
  • Maven入门指南:生命周期、阶段和执行顺序详解
  • 基于深度学习的情感分析模型:从文本数据到模型部署