测试老鸟的职业生涯,从初识到功能再到自动化测试,他都经历了啥...

news2024/11/14 10:52:58

目录:导读

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


前言

张工:

软件测试的初识

这是一个杯子,主要用来喝水的,它的质量应该如何考量?

这是在进入上家公司面试时,测试主管问我的题目,相关的回答已经有点模糊,但从这个问题可以大概了解到,测试主管在考察我的测试思维。

首先,这个杯子的质量包含哪些方面?即通常所说的需求是什么?如显性需求,首先应该是杯子,不是瓶子、罐子等,用途是喝水的;隐性需求呢?那就比较笼统了,如大小、高度、容积、制作材料、温度承受范围,还有一些其他细节如颜色、边角圆滑等。

其次,如何去准确获取、表现这些需求,即相关指标数据是多少。如要知道大小、高度、容积,得用到相关测量工具,如尺子、圆规。要知道温度承受范围,可能要用到温度计等。

在完成测试工作期间,测试设计、执行之前必须清晰了解原始需求(包括隐性需求),再之后需要有对应的测试方案,需要执行哪些类型测试,要用到什么测试工具等。

很感谢当初测试主管对我测试工作的指导,不仅仅是在具体的技能培训上,还在其他的工作当中对我测试思维的引导。

项目功能测试实践

面试过后进入公司,最开始接触的项目是国税门户网站,所进行的测试工作是主要是功能测试,如测试用例编写、执行,测试报告反馈。当时对所谓的软件生命周期都很模糊,感觉我只要做好自己的测试任务就好了,其他的东西由上级安排就好。现在想想真的好白,白痴的白。

在接下来的一年时间,让我真正接触到了项目开发、交付的实际生产过程,简而言之就是,工作任务是无止境的,永远有数不尽的需求要开发、测试,有茫茫多的Bug要跟踪。

如何在这中间保持自己清晰的定位显得至关重要。由于在项目组中只有我一个测试人员,那么结果就是,“测试的事情就都是我的”,好像很厉害的样子。但我还只是小白啊。

某某某,过来一下,这是这个版本修改的内容,大概是要在某月某日完成,你过(看)一下。
哦。
到了测试执行,发现问题后提交给开发同事,开发回复:“设计如此。”
哦。
快要上线了,项目经理问:某某某,现在系统的测试情况怎么样,能不能上线?
应该差不多吧…

紧接着项目实践后续

测试主管了解之后,跟我强调了几点:
1、测试的依据,需求基线要清楚,要尽早参与;
2、测试要有计划方案,要有用例设计,不能随意的开展;
3、Bug的跟踪,要有自己的主见、原则;
4、测试结果的把握,要有结果分析。

项目的上线,要综合你的以上测试过程,结合目前的情况总结报告,甚至是项目经理也要听取你的意见。你的角色不仅是测试,也是质量保证。

当然,以上的情况只是测试中遇到问题的一点点,如沙漠中的一粒沙(这孩子究竟怎么过来的),但也让我认识到测试是独立的、重要的。

在后来的项目测试工作中,践行测试主管传递的思想原则的同时,我并行了解相关测试书籍、工具、技能,结合工作进行相关实践,逐渐地我的测试能力越来越强。

在省国税外派了一年,之后测试过程中更加有条理、原则、规范。但也仅是个人自觉的约束,很多过程并没有按照软件开发周期的标准来执行,如测试用例、测试报告有时候会在发布版本后才编写(虽然公司也通过了CMMI3),即测试的质量保证更多的依赖个人的素质。

并且,当时个人认为测试的业务熟练更多决定于对系统功能本身的熟悉和测试设计执行的熟悉,认识到错误并且有意识改变是在地税的定点联系企业管理系统和电子办税服务厅的测试过程。

之后,进入到地税的定点联系企业管理系统项目组进行测试。当时项目已快要进入验收阶段,甲方要求的功能基本都有实现,但在交付时甲方却不满意,在一些功能的易用性和系统界面展示上提了很多要求,导致整个系统最后框架、原型都换了一遍,而且限定修改的时间很短(又是一个加班加点的开始),最后甚至项目负责人都换了。

工作中的问题

1、既定清晰的需求都有按要求实现,只不过实现方式不合甲方胃口,如图表不够丰富,只有概要,没有详细。
2、系统界面没有统一的样式,甲方不客气的说像草稿。
3、流程没有体现甲方日常工作内容、步骤。
4、风控系统很肤浅,指标不实用。

第一份工作经历形成了我对测试的基本认识及工作方式,接到测试任务之后就会条件反射的设想需要开展的测试类型,相关方案。但对于这些工作是否可以更标准化、工程化的开展还只是一个朦胧的概念。

之后重新更换测试工作,工作开始并没有什么不同,只是测试执行之前要求必须编写测试用例。但随着时间的推移,让我体验到了不一样的氛围。

测试要尽早开始,并且排除随意性,有计划的进行,这是软件测试基础理论的原则之一。在公司,软件开发过程有比较完善的流程,期间测试人员要经过需求评审、测试用例评审、预测试评审(提交测试前的评审,由开发演示实现的功能)、测试报告评审等。

在需求评审之后,要有详细的测试分析、用例,并且列入任务计划进行监控,用例的执行结果也可随时查看,了解测试进度。

落地手工功能测试的同时,我们在持续进行自动化功能测试和性能测试工作。

测试观点经验

1、尽量把测试往前推,尽早发现,降低修复成本;
2、测试的目的不是发现Bug,而是预防Bug的发生;
3、通过各种技术手段和流程改进,逐步的解放公司内部测试人员,让他们把精力放在对产品的把握上。

当然,不管有多好的工作起点平台,测试人员的素质才是决定最终测试质量的保证。在从原有重复的工作方式中解放后,测试人员的综合素质如所处行业知识、测试思维、测试设计方案都影响到具体的测试结果,这些都是工具、平台无法取代的。

对于现在的测试人员来说,不是自动化或者代码有多重要,而是懂自动化,懂代码,能够理解系统的实现,已经变成了必备技能。

下面列举现常用的自动化测试框架

接口自动化测试方向:Python+requests+pytest+yaml+alluer+Jenkins;
web自动化测试方向:Python+selenium4+pytest+POM+allure+Jenkins;
app自动化测试方向:Python+appium+POM+pytest+allure+Jenkins;

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有坚持不懈地奋斗,才能追逐到自己想要的人生。无论前路多么崎岖,只需心怀信念,锲而不舍,终究会走向成功之路。把目标放在心中,让梦想驱动自己,一步一个脚印,为自己创造更加美好的明天!

不要因一时的挫败而放弃奋斗,每个人都有属于自己的时间和空间。努力拼搏,才能走向成功的彼岸。每一步都有可能离目标更近一步,只要坚持不懈,就可以实现自己的梦想。

每个人都有无限的潜力,只要你努力奋斗,坚持不懈,就一定能够达到自己的目标。别忘了,成功是需要时间和耐心的,所以不要放弃,相信自己,继续前进!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/684382.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt/C++编写onvif工具(搜索/云台/预置位/OSD/录像存储)

一、前言 从最初编写这个工具开始的时间算起来,至少5年多,一直持续完善到今天,这个工具看起来小也不小大也不大,但是也是经历过无数个现场的洗礼,毫不夸张的说,市面上能够遇到的主流的厂商的设备&#xff…

深入探究 ReentrantLock 的应用和原理

博主介绍: ✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌ Java知识图谱点击链接:体系化学习Java(Java面试专题) 💕💕 感兴趣的同学可以收…

微信开发者工具-导入小程序项目会自动切换到小游戏打开出错的解决方案

微信开发者工具导入小程序项目会自动切换到小游戏打开出错, 提示Error 提示appid错误,如下图 错误 Error: INVALID_TOKEN...表示网络已断开, 检查开发工具是否连接到网络, 或注销重新登录开发工具试试 提示缺少文件 如果提示缺…

智能安全用电技术电气火灾监控的应用介绍 安科瑞 许敏

摘要:智能安全用电技术在智慧监狱的应用,可以提升监狱智能化管控水平和降低能耗。文章以智能安全用电技术为入手点,简要分析了监狱用电现状,论述了智能安全用电技术在智慧监狱中的具体应用,对智能安全用电技术在智慧监…

【面试题12】HTTP协议三次握手和四次挥手分别是什么

文章目录 一、概览二、三次握手2.1 第一步:客户端向服务端发送 SYN(同步)包2.2 第二步:服务端返回 ACK(确认)包和 SYN 包2.3 第三步:客户端返回 ACK(确认)包 三、四次挥手…

今日分享:音频格式转换软件

小林最近特别喜欢唱歌,不过总是遇到一些麻烦,例如自己录制的音频格式无法在其他设备上播放,或者想把某个歌曲转成适合自己播放的格式。这时候就需要一个好用的音频格式转换器啦!小林找了一圈,终于找到了几款可爱又好用…

大数据应用——工程实践III

任务一:完成Hadoop集群部署前环境的准备工作 1.1 虚拟机环境准备 1. 安装虚拟机 2. 克隆虚拟机 3. 修改网络配置 4. 修改主机名和映射 5. 关闭防火墙 1.2 安装JDK 1.3 安装Hadoop 1.4 集群配置 1. 编写集群分发脚本xsync 2. 集群部署规划 表 1.1 hadoop101 …

一份老网工珍藏多年的网络配置笔记

我的网工朋友大家好 俗话说得好,好记性不如烂笔头。 学生时代,我们考试前最喜欢看的就是学霸笔记,但工作之后,却没有人会愿意借给你他们的珍藏笔记了。 今天,想给你分享一个老网工分享在网上的精选笔记,…

java 8 新特性讲解Optional类--Fork/Join 框架--新时间日期API--以及接口的新特性和注解

Optional类 到目前为止,臭名昭著的空指针异常是导致Java应用程序失败的最常见原因。以前,为了解决空指针异常,Google公司著名的Guava项目引入了Optional类,Guava通过使用检查空值的方式来防止代码污染,它鼓励程序员写…

六、Docker容器数据卷

学习参考:尚硅谷Docker实战教程、Docker官网、其他优秀博客(参考过的在文章最后列出) 目录 前言一、容器数据卷1.1 容器数据卷1.2 怎么用1.3 能干什么 二、实践案例2.1 启动ubuntu容器实例,挂载目录:2.2 在ubuntu容器实例的/tmp/docker_data中…

Android 组件化架构思路

作者:往事一块六毛八 为什么要模块化/组件化 随着APP版本不断的迭代,新功能的不断增加,业务也会变的越来越复杂,APP业务模块的数量有可能还会继续增加,而且每个模块的代码也变的越来越多,这样发展下去单一…

GNS3报错“unable to open TAP device tap0 (No such file or directory)”解决

系统:MacOS 13.4 GNS3版本:2.2.35.1 Tunnelblick:3.8.8b 起因 在gns3中使用cloud节点创建 tap 接口连接路由器报错: 解决办法 借助 Tunnelblick工具创建 Tap 虚拟网卡。Tunnelblick下载地址: https://tunnelblic…

Kubernetes入门实战课-初始容器

Kubernetes入门实战课-初始容器 文章目录 Kubernetes入门实战课-初始容器课前准备初始容器Docker 的形态Docker 的安装Docker 的架构 容器的本质隔离原因与虚拟机区别隔离是怎么实现的 镜像创建容器镜像:如何编写正确、高效的Dockerfile镜像的内部机制是什么Dockerf…

MySQL数据库连接查询和存储过程

MySQL数据库连接查询和存储过程 一、连接查询1、内连查询2、左连接3、右链接 二、存储过程1、存储过程简介2、存储过程的优点3、语法3.1 参数分类3.2 不加参数的存储过程3.3 带参数的存储过程3.4删除存储过程3.5 事务和存储过程有什么区别? 三、总结1、连接查询2、存…

【Java项目中 利用Redis实现数据缓存】

文章目录 Java SpringBoot项目中 用Redis实现数据缓存1 环境搭建1.1 maven坐标1.2 配置文件1.3 配置类 2 实现缓存短信验证码3 缓存菜品数据4 Spring Cache 缓存框架4.1 Spring Cache介绍4.2 Spring Cache常用注解4.3 Spring Cache使用方式 Java SpringBoot项目中 用Redis实现数…

一文了解Moonbeam互连合约

什么是互连合约Connected Contracts 简单来说,互连合约是通过Moonbeam连接其他区块链上的一个或多个智能合约,其允许目标链上的用户通过跨链消息传递协议在一个应用中操作不同链上的资产或是服务。 通过互连合约方案,不同迥异的公链技术架构…

计算机内部总线详解

文章目录 总线概述地址总线位宽 数据总线位宽CPU性能指标 例题 总线概述 众所周知,总线就是用来帮助连接两个或多个计算机组件,用于数据传输,计算机内部存在三种类型的总线: 地址总线:用于传输指示计算机中的内存或外…

【uboot1】常用指令

文章目录 1.U-Boot命令之常用命令:7.U-Boot命令之EMMC和SD卡操作命令:一般EMMC和SD卡是同一个东西,没特殊说明,统一MMC来代指EMMC和SD卡8.U-Boot命令之内存操作命令:直接对DRAM进行读写操作,uboot命令中的数…

MySQL数据库高级查询语句

MySQL数据库高级查询语句 一、语句SELECT ----显示表格中一个或数个字段的所有数据记录DISTINCT ----不显示重复的数据记录WHERE ----有条件查询AND OR ----且 或IN ----显示已知的值的数据记录BETWEEN ----显示两个值范围内的数据记录通配符 ----通常通配符都是跟 LIKE 一起使…

强化学习从基础到进阶-案例与实践[5]:梯度策略、添加基线(baseline)、优势函数、动作分配合适的分数(credit)

【强化学习原理项目专栏】必看系列:单智能体、多智能体算法原理项目实战、相关技巧(调参、画图等、趣味项目实现、学术应用项目实现 专栏详细介绍:【强化学习原理项目专栏】必看系列:单智能体、多智能体算法原理项目实战、相关技巧…