聊点不一样的,初级软件测试岗需要做些什么?

本文作者作为后端研发,分享了对初级软件测试人员的工作技能要求,强调测试不仅包括需求分析、测试计划和用例编写,还包括业务理解、数据模拟、环境部署和bug管理等方面。测试人员需要有活跃思维,深入理解业务,积极参与需求评审,制定全面的测试计划,并能独立模拟测试数据。同时,具备一定的服务部署能力和测试报告输出能力。测试岗位虽门槛低但上限高,要求广泛的知识涵盖如HTTP、加密算法、数据库等。
摘要由CSDN通过智能技术生成

前言

目前本人在一家 ‘发展中’公司,研发团队的成员也是在不断的健壮着,近期在测试团队,一下子人员变动比较大。 今天一大早,领导找我简单问了一下看法。可能也是想从开发组的角度了解一下日常协助上的感受。

ps: 本人重心还是在后端研发上, 不过也曾主导过公司的移动办公产品的整个测试、实施,也许这也是为什么领导想找我聊聊的点(当初闲聊的时候扯远?走漏了风声? 我郑重地声明,我是一个正统的研发!)

 

正文

测试岗门槛低,说实话确实是的,但是上限高,这一点是必须承认的。

测试左移右移的进阶投入,能否上升一个层次,也是需要不断学习前进的。

本人现在也是后端研发岗,也无法说出一些高阶的测试开发的发展路线。 但是,对于带队或者说是要求初级的软件测试人员能做到什么,需要做到什么,我还是可以说一说的。

ps:看官们有想法的,也欢迎评论留言探讨

先看一副简图,下面的基本也是我个人对初级软件测试人员的一个工作技能要求看法:

 

需求评审、需求分析

需求评审阶段,大多数都会有产品、研发相关人员一块参与,那么评审需求是否合理,怎么样才能确定下来一个合理的需求,对其业务的分析是必不可少的。

这一Part,我想表达的一点是, 需求的分析,其实并不是仅仅是产品、研发的的活,作为测试人员的我们,我们也是可以根据自己的项目经验、测试经验,对需求展开分析, 不求能完全剖析,但是我们要有这种活跃的思维、想法,去关注我们关注的一些点。 

测试计划、测试排期

计划、排期,很多测试人员只针对当前评审过的单一模块做一个简单的估量,做一些排期计划。

这一Part,我想表达的一点是,其实作为测试人员的我们,在做自己的排期计划时,是有必要了解到其他功能模块的测试排期,因为大多数的研发项目,功能需求之间都是有联系、甚至有先后、有前提的。 如果对需求业务了解不够,不考虑完全,出现乱套,重测的场景就会较为频繁,这样的排期计划,无疑多多少少也是失败的。

测试用例编写、评审

测试用例的编写、评审, 这环节对于研发、甚至是产品,都算是一个 自检环节。 通过用例条的评审,再次审视自己的需求,这里的需求包括 产品的功能需求 以及 研发人员的开发需求。

用例的细致、严谨、逆向角度、覆盖场景等,能够促使大家 ‘ 多虑 ’。

这一Part,我想表达的一点是,很多测试人员不看重这个用例的编写,都是想从简,认为研发这边已经考虑够足了,不需要插手。 其实这种想法是很不对的, 我们测试人员要有一种 ‘认为研发的业务逻辑并不比我们强’ 的思维,就这些研发,能考虑周全么?  (PS:我是研发)

测试数据模拟、构建

什么叫模拟构建? 很多测试人员都是基于研发功能接口完毕了,才去使用接口做一些数据的增删改查。没错,这也是属于构建的环节。

但是这一Part,我想表达的一点是, 我们要对业务足够了解,对研发的设计足够了解 (通过HLD设计评审、通过接口API、数据库表等),我们最好能要求自己能够在设计稳固下来后,自己能够针对业务场景,自己模拟出相关的测试数据(包括第三方数据、自己系统数据,可能还会涉及到各种组件、中间件的使用)。

如果我们有条件,我们需要能够做到自己把自己的业务关联数据都能模拟出来,换角度去审视、检测相关业务接口。

测试环境服务部署

这一Part,实话说,不一定能够下放到给我们测试去实现。虽说是测试环境,但是不同公司对于测试环境的权限掌控分配也不同。 

但是对于公司项目的服务部署,我们作为测试人员,其实也是需要具备这种能力的。 我们可以看情况做版本(数据库数据)的归档,阶段性地分离测试等。 
这一Part,我个人了解不够,不多言。

执行测试

执行测试,这一Part,也是要看个人测试能力的掌握程度去执行。因为测试门槛低,可能大多数刚入门的也能够做到基本的点点点,但是怎么去点点点这一部分是最能直接去提升能力的。

因为我了解到身边很多测试,还处于一旦离开了功能页面,就无法对功能执行测试的情况,说实话这是非常不应该的。 光是对接后端的接口,已经可以展开一系列的操作了,业务逻辑、稳定、性能、安全等等,这些都是能够前后端分离测再结合测的。

bug记录、提交、跟踪

这一Part,大家应该都非常熟悉,一提到测试或者研发,大家最喜欢说的就是bug 这个词。

那么我想强调的一点是, 跟踪 。  跟踪,我想表达的是分为两部分,一部分,主动无配合跟踪,我们根据我们的测试用例、业务梳理,能够自己跟踪定位到问题,并且能够对该现象做进一步合理的分析。另一部分,是配合跟踪,配合相关研发人员做问题复现、定位。 还补充一点,就是进度的跟踪,这个不多说。

测试报告、文档输出

这一Part是很多初级测试人员的懊恼点,不想、不会写文档。其实对于刚入门的测试不会写,很正常,没有人天生啥都会, 我们是可以基于前辈的指导去输出文档。 但是在输出文档的时候,往往需要很多测试项的数据说明,这时候,就是很直接地告诉你,你需要学些什么,掌握些什么。

最后,再啰唆一下,也是个人的看法,不要小看测试岗了,不要认为测试岗轻松、压力小。

想要提升上限,测试岗人员需要了解到的知识范围是非常非常广的,

包括不限于 https、加密算法、socket、Nginx、DNS、缓存、抓包、json解析、数据结构、resultful、分布式、内存、mock、安卓/ios、手机机型/系统、mysql、linux、线程、注入攻击、语言框架、中间件 等等 很多很多,一下子想不完。

那么今天这个瞎聊就到这,大家有什么想法,欢迎评论交流。

 

目录 一 软件测试 从零开始 5 1.1 引言 5 1.2 测试准备工作 5 1.2.1 向有经验的测试人员学习 5 1.2.2 阅读软件测试的相关书籍 6 1.2.3 走读缺陷跟踪库中的问题报告单 6 1.2.4 走读相关产品的历史测试用例 6 1.2.5 学习产品相关的业务知识 6 1.3 识别测试需求 7 1.3.1 主动获取需求 7 1.3.2 确认需求的优先级 8 1.3.3 加入开发小组的邮件群组 8 1.3.4 与开发人员为邻 8 1.4 测试用例设计 8 1.4.1 测试用例的基本格式 8 1.4.2 重用同类型项目的测试用例 9 1.4.3 利用已有的软件 Checklist 9 1.4.4 加强测试用例的评审 10 1.4.5 定义测试用例的执行顺序 10 1.5 测试用例执行 10 1.5.1 搭建软件测试环境,执行测试用例 10 1.5.2 测试执行过程应注意的问题 11 1.5.3 及时更新测试用例 11 1.5.4 提交一份优秀的问题报告单 12 1.6 测试结果分析 12 1.7 总结 13 二 软件测试的常识 13 2.1 引言 13 2.2 软件测试常识 13 2.2.1 测试是不完全的(测试不完全) 13 2.2.2 测试具有免疫性(软件缺陷免疫性) 14 2.2.3 测试是 “ 泛型概念 ” (全程测试) 14 2.2.4 80-20 原则 14 2.2.5 为效益而测试 15 2.2.6 缺陷的必然性 15 2.2.7 软件测试必须有预期结果 15 2.2.8 软件测试的意义 - 事后分析 15 2.2.9 结论: 15 三 浅谈软件开发中的注意事项 16 3.1 项目设计 16 3.2 设计变化和需求变化 16 3.3 代码编写 17 3.3.1 源程序文件结构 17 3.3.2 界面设计风格的一致性 17 3.3.3 编辑风格 17 3.3.4 命名规范 18 3.4 BUG修补 18 3.5 开发人员的测试 18 四 软件测试的若干问题 19 4.1 前言 19 4.2 博弈的各方 19 4.3 测试的过程 20 4.4 测试所具备的素质 20 4.5 自动化测试 20 4.6 测试的误区 21 五 浅谈功能测试用例模板设计 21 5.1 Excel 模版 21 5.2 测试用例状态转换分析 23 六 如何提高软件质量 23 6.1 什么是质量 24 6.2 流程对质量的贡献 25 6.3 流程与技术 27 6.4 全面质量管理 28 6.5 关注测试 29 6.6 成功的铁三角 30 6.7 国际上流行的质量标准 30 6.8 如何起步 32 七 ISO和CMM,我们该选择谁 32 7.1 管理水平的适用性 33 7.2 复杂度的适用性 33 7.2.1何谓研发过程复杂度 34 7.2.2 何谓组织机构复杂度 34 7.3 量化管理的适用性上 35 7.4 结论 36 八 如何做好单元测试 36 8.1 前言 36 8.2 组织结构应该保证测试组参与单元测试 36 8.3 加强单元测试流程规范性 37 8.3.1 制订单元测试的过程定义 37 8.3.2 单元测试工作产品必须纳入配置管理 38 8.3.3 必须制订覆盖率指标和质量目标来指导和验收单元测试 38 8.3.4 加强详细设计文档评审 39 8.4 单元测试者技能的提高 39 8.4.1 加强对单元测试人员的技能培训 39 8.4.2 必须引入工具进行辅助 40 8.4.3 单元测试者加强对被测软件的全面了解 40 8.5 结尾 40 九 漫谈人机界面测试 41 9.1 一致性测试 41 9.2 信息反馈测试 42 9.3 界面简洁性测试 42 9.4 界面美观度测试 42 9.5 用户动作性测试 43 9.6 行业标准测试 43 9.7 小结 44 十 基于Web的系统测试方法 44 10.1 功能测试 45 10.1.1 链接测试 45 10.1.2 表单测试 45 10.1.3 Cookies测试 45 10.1.4 设计语言测试 45 10.1.5 数据库测试 46 10.2 性能测试 46 10.2.1 连接速度测试 46 10.2.2 负载测试 46 10.2.3 压力测试 46 10.3 可用性测试 47 10.3.1 导航测试 47 10.3.2 图形测试 47 10.3.3 内容测试 47 10.3.4 整体界面测试 47 10.4 客户端兼容性测试 48 10.4.1 平台测试 48 10.4.2 浏览器测试 48 10.5 安全性测试 48 10.6 总结 49 十一 为盈利而测试 49 11.1 引言 49 11.2 什么是软件测试 50 11.3 六个误区 50 11.3.1 误区一:忽视对正常输入的测试 50 11.3.2 误区二:忽视设计阶段的参与与评估 50 11.3.3 误区三:忽视测试计划与测试文档的建立及维护 51 11.3.4 误区四:忽视缺陷的分析,报告及跟踪 51 11.3.5 误区五:错误的测试目标及测试终止条件 51 11.3.6 误区六:不懂得合理调配使用测试人员的知识技能结构 51 11.4 软件质量与软件测试 52 11.5 软件测试的经济目的 54 11.5.1 满足用户需求,提高产品的竞争力,最终提高产品的销售量 54 11.5.2 尽早发现缺陷,降低后继质量成本 54 11.6 何时应当停止测试 56 十二 整体性能测试剖析 57 十三 性能测试工具之研究 62 13.1 性能测试的意义 62 13.2 性能测试工具综述 63 13.3 性能测试工具的体系架构 64 13.4 虚拟用户产生器 Vugen 65 13.5 Proxy 二次捕获的问题 67 13.6 关联的问题 68 13.7 脚本的问题 70 13.8 Conductor 和 Player 部分 71 13.9 Conductor 和 Player 的技术要点 72 13.10 数据分析工具 Analysis 72 13.11 结束语 72 十四 性能测试原理及性能测试实例分析 73 14.1 软件测试中的性能测试 73 14.1.1 性能测试的含义 73 14.1.2 性能测试的分解 73 14.2 一个性能测试实例 74 14.2.1 被测系统 74 14.2.2 对被测系统进行性能测试 75 14.5 总结 80 十五 软件GUI测试中的关注点 80 15.1 不能不说的二个问题 81 15.1.1 软件测试中的“二八”原则 81 15.1.2 软件黑盒测试解决的问题 81 15.2 软件黑盒测试常见错误类型及说明 81 15.2.1 用户界面错误 81 15.2.2 功能性 81 15.2.3 人机交互 82 15.3 命令结构和录入 87 15.3.1 不一致性 87 15.3.2 “最优化” 87 15.3.3 菜单 89 15.4 遗漏的命令 90 15.4.1 状态转换 90 15.4.2 危机预防 90 15.4.3 由用户进行的错误处理 91 15.4.4 其他问题 91 15.5 程序僵化 92 15.5.1 用户可调整性 92 15.5.2 控制方式 93 15.6 性能 94 15.6.1 降低程序速度 94 15.6.2 缓慢回应 94 15.6.3 如何减少用户吞吐量 94 15.6.4 反应拙劣 94 15.6.5 没有提前输入 95 15.6.6 没有给出某个操作会花很长时间的警告 95 15.6.7 程序太多提示和询问 95 15.6.8 尽量使用简单命令和提示 95 15.7 输出 95 15.7.1 不能输出某种数据 95 15.7.2 不能重定向输出 95 15.7.3 与一个后续过程不兼容的格式 96 15.7.4 必须输出的很少或很多 96 15.7.5 不能控制输出布局 96 15.7.6 荒谬的精度输出级别 96 15.7.7 不能控制表或图的标记 96 15.7.8 不能控制图形的缩放比例 96 15.8 错误处理 96 15.8.1 错误预防 96 15.8.2 错误检测 97 15.8.3 错误恢复 98 15.8.4 边界相关的错误 99 15.8.5 计算错误 100 15.9 小结 100 十六 软件测试技术 100 16.1 软件测试基础 101 16.1.1 测试目标 101 16.1.2 测试原则 101 16.1.3 可测试性 102 16.2 测试用例设计 104 16.3 白盒测试 104 16.4 基本路径测试 105 16.4.1 流图符号 105 16.4.2 环形复杂性 106 16.4.3 导出测试用例 106 16.4.4 图矩阵 108 16.5 控制结构测试 108 16.5.1 条件测试 108 16.5.2 数据流测试 110 16.5.3 循环测试 111 16.6 黑盒测试 112
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小目标青年

对你有帮助的话,谢谢你的打赏。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值