广州番禺网站公司哪家好,网站建设前期需要准备什么资料,陕西西安有什么好玩的,wordpress the7 模板前言 测试工作6年#xff0c;经历过不同产品、共事过不同专业背景、能力的同事#xff0c;踩过测试各种坑、遇到过各种bug。测试职场生涯积极努力上进业务和技术能力快速进步过、也有努力付出却一无所得过、有对测试生涯前景充满希望认为一片朝气蓬勃过、也有对中年危机思考不…前言 测试工作6年经历过不同产品、共事过不同专业背景、能力的同事踩过测试各种坑、遇到过各种bug。测试职场生涯积极努力上进业务和技术能力快速进步过、也有努力付出却一无所得过、有对测试生涯前景充满希望认为一片朝气蓬勃过、也有对中年危机思考不知何去何从迷茫过。一直在努力一直在思考一直在探索。 6年测试生涯不同的产品、不同的人、不同的事经历着不一样的经历带给我不一样的思考。思考着如何不断提升自己、思考着是否一直走测试这条路、思考着如何转型、思考着如何做好现在以应对未来、思考如何可以赚更多的钱。问题一直都在我也一直在努力寻找答案的路上。 趁着国庆有空闲时间写写我的软件测试故事希望对未来想要进入要进入这一行业、即将进入以及正在测试领域努力奋斗的你有一点点启发和思考。我的软件测试生涯开始于2013年的那个夏天。。一看就是老同志。。
初入职场 那年毕业的夏天和舍友W踏上火车南下一路偶有闲扯大多是在睡觉。对即将开始的工作有点期待、憧憬对未来可以开始独立生活感到向往。入职体检、手续办理完成后正式开始上班的第一天了。依然清晰记得那一天一同和F、C两个同事同时来到领导面前的场景。leader下面同时分管三个产品我被分配到一个成熟产品P其他两个同事分配到了产品C另外一个产品是E这个后话暂且不提。因为产品P只有一个同事在负责很自然他成为了我的新员工导师我很荣幸。直到现在虽然我几经辗转周折但我们依然保持很好的联系。 工作就在我的导师指导下开始了。。各种业务知识、技能、测试工具、环境使用等等知识在自学和实践、犯错总结中不断学习成长。新员工实践都是在导师和leader规划的范围内有条不紊的开展着很庆幸他们大多都是包容、忍耐和鼓励、信任对待我的成长和不足我们相处、沟通的很融洽。大概在第4个月的时候因为另外一个产品I因为测试经理精力有限需要放手。由于这个产品i业务知识与我当前产品P有相通之处leader想到了我。。对一个菜鸟。leader与我师傅沟通评估我的能力决定让我去接手产品I的测试组长职位我也答应了。当时也不太懂也没有太大的压力就这样跑步开始上岗了。。后来的经历才知道跑步上岗的事情太多了。就跟打战一样没有那么多的事情给你去准备。就是给你这个岗位给你这一份压力和责任剩下的你自己去学习、去能力遇到问题自己想办法克服通过自己、通过团队、上升等等都可以。。 很庆幸产品I在新员工负责期间也没有出啥问题现在想想我又没有多大功劳因为当时主要还是学习的心态去负责这个产品、去与这个团队的测试、开发成员、PM配合。去学习业务、去了解人、去提升自己。这时候谈不上管理。现在想想领导放心将产品放到我手里负责。我想主要有几个原因。第一、产品I团队开发、测试人员、PM人员稳定技能成熟合作的测试leader整体能力不错。团队阵型没有变化不会有什么风险。第二、产品成熟。每次版本交付需求量不大。第三、有我导师保障我我有问题随时可以沟通。leader自己随时关注。 新员工学习为主和相对压力较小的工作任务下有条不紊的进行着因为在产品I中承担中与其他新员工不一样的职责、也承担了相对负责的性能测试等任务。很荣幸新员工结束考核时得到了一个不错的考评这是有点出乎意料的。 仔细回想整个新员工期间有几个事情印象比较深刻。反思了一下以下几点如果做得更好也许结果会更好。 1、主动沟通。导师和leader都很忙可以主动找他们沟通可以发消息沟通、导师空闲时间工位沟通、发消息预约时间、吃饭时间闲聊都可以。吃饭时是一个很好时间段尽量跟导师、老员工、新员工等一块吃饭。有更多的沟通时间也可以让你更快的融入这个团队。 2、重复问题尽量不问第二遍。我的导师挺烦这个的。所以问问题得到的信息量大时我就会打断他找个本子记录回去慢慢整理。 3、跑步上岗。有好的机会该抓住就该抓住。不要害怕自己这不会那不会。不会不是什么大问题怕的是不敢承担。多问多学多沟通注意处理问题的方法能解决很多问题。 4、在有能力做好本职工作前提下可以多关注一下其他角色有关的是事情。其实本来也是测试就是一个端到端的任务很多信息都会影响到你对测试任务的评估。包括测试计划、测试风险。 5、学习、动手、总结、分享。新员工就是一张白纸什么都要学。业务、技术、流程、沟通的技巧等等。努力提升自己。记得印象很深的一句话当时去管理产品I的时候与合作测试leader定位一个工具报错的问题。shell写的。看不懂。。合作测试leader说了一句原来管理我们的人都懂啊。。其实当时是有点尴尬的。。当然现在这个已经是so esay了。。 转岗 这里指的是公司内部的转岗转岗这种事情好坏也说不准。这里说一件事。主要是供读者一些思考。其实在我工作第二个年头的时候是有机会转岗到安全测试部门的。当时同事就在那个部门要招人问了我的意向。以我当时自己考核结果和能力要去应该也能去成。当时我的思考点主要是部门和leader都挺好的觉得就呆着未来应该也还可以。当时转岗也不像现在这么容易。也没有思考太多当前部门的测试和安全测试有多大的区别我就没有选择走。现在想想其实有些小后悔。因为现在绝大多数部门的测试还是偏重于功能测试安全测试属于专项测试技能模型也不一样前景也不不一样。其实有些小后悔当时如果选择走短期可能会有一些影响但是长远来看应该是更符合当前的期望。毕竟就业前景要好很多。所以大家在做选择的时候尽量慎重多思考多跟好朋友多交流。考虑的维度尽量广一些。
业务和技术 业务和技术对于测试来说其实是存在一个木桶效应的问题。业务不熟或者技术有短板你可能都搞不好测试。业务和技术都很牛逼你的精力和时间投入肯定要都满足。所以要尽量做好知识体系构建、职业规划确保平衡这二者之间的经历投入。相对来说技术更通用技术越强你就越牛逼。业务产品相对有局限比如你是搞通信领域的、比如你是搞支付产品的、你是测试app的、测试嵌入式产品的等等。业务能力很强也可以成为一个很厉害的人比如你对支付产品的汇款、转账、支付非常熟悉支付产品的行业理解也很深入你去求职银行业务相关的企业、阿里支付、腾讯财付通的部门应该会比其他产品转岗过去的测试人员要更有优势以前不少同事都去了这些部门。另外如果你一直在一个产品精通业务的各种知识这种人也非常厉害可以搞TSE可以支撑开发、产品、测试内部所有人关于业务的答疑。这种业务强的人在部门待遇和职级也会很高。 但是从个人角度来说我会倾向于多花一点时间在技术能力提升上面。以我为例我主要经历过几个不同产品有传统通信领域的产品、有充值转账产品、有支付的产品、其他当前的不写了。。业务并没有太强的连续性。但是我的技术一直是通用的。不管是编码、网络、数据库还是测试基础理论、工程能力等等。重申一下业务和技术都很重要根据自己岗位的职责要求和自己的职业规划做好这二者之间精力的分配。如果不知道咋规划。就做好现在。比如功能测试你一定要精通业务。如果你是性能测试你可能只需要关注核心流程然后是各种性能工具使用、性能调优方法。 到这里说一点其实个人一直还算是有点上进心的从事工作到现在也一直努力。技能自认为还算过的去。编码也不怂Python/Shell/Java/Autoit/DOS也都能写、数据库基础、oracle数据库管理、计算机网络、测试基础理论、测试管理、linux系统基本问题解决也还算可以。组内大部分相关的问题到我这也能闭环但是总是感觉还是不够。说这个意思就是希望读者可以多考虑一下让自己在某一方面特别精通比如搞工具开发你可以不仅能编码编码效率写的规范、效率高你还能自己做规格设计。开发出的工具可扩展性、可维护性都很好等等。总之一定要有某一方面的特长、深度有广度加分。全才对普通人不太可能人的精力都是有限。
有价值的2件事 这里说2个我认为对自己能力提升或者经验积累有很大帮助的2件事。 第1个就是案例学习。学习你的产品第一个版本到目前的所有的问题、现网问题、现网案例等等快速积累经验提高对问题的敏感性。会对你以后的测试设计有很大的帮助。通过分析这些问题你会发现各种问题有非常简单显而易见的、比如冒泡提示有非常难以复现需要特殊构造场景才能发现的、有用户体验方面、性能、可靠性等等全部分析下来你会发现自己对产品的理解、对测试的理解、对站在用户角度做测试的理解会有很大的帮助。 第2个就是针对环境搭建或者常用工具测试源码的学习。这里的源码不是指的版本源码主要指工具类源码因为像环境搭建或者升级操作之类对测试来说是非常常规的操作但是又经常会遇到问题。工具源码通常来说体量都不会太大你可以用个思维导图梳理一下工具的源码、一步一步拆解出关键步骤每一步骤都是做什么的、输入输出是什么。到最后你再遇到环境搭建的问题你会发现你很轻松的就可以解决。因为你对他们的报错日志、为什么会报错、定位方法了若指掌。你能解决的问题多了之后你会发现你可能在你们部门就会有影响力你就有可能快速脱颖而出。另外带来的附加价值你可能对该门语言能力会提高很多。。 以上就是我说的挺有价值的两件事。因为我这么干过也确实从中获得不少收益。
测试职业发展 软件测试人员职业发展大概有2条途径。一种是走技术路线初级、高级、资深测试工程师一种是管理路线。初级、高级工程师、测试组长、测试经理、测试部长等。还有一种是非正常的路线。有业务能力强的测试转岗去搞产品经理的、搞需求调研的。有编码能力强的测试转开发的、也有转资料的、也有转岗与测试有相关性的比如QA。还有风马牛不相及的转岗去搞HR的、搞财经的、搞采购的、搞销售的、服务的都有。正常的发展通道居多的还是前面两条的。 总的来说要想有个好的职业生涯、有份好的收入首先要做的是不断提高自己的业务和技能水平提升自己的软、硬技能。对于测试分析问题能力、沟通表达能力一定要好对于沟通起码的要求就是你能简单明了的把一件事情或者一个问题说清楚因为测试经常要和各个角色配合工作。关于测试职业发展我也没想好自己未来要从事什么现在也就是按部就班的做好当下。自己都没想好做好的事情就不再这多说了。如果你也没想好那就做好现在。起码收获当下你把当下事情做好了领导认可了。你有好的绩效好的绩效就有好的回报。继而你可能会有好的岗位任命。做好了当下可能领导就帮你规划好了。。见过是有这样的。。
中年危机 危机十足啊。对这个问题对自己的未来也有过思考但是始终也没有得到自己想要的答案也就是现在我也没定好自己的目标。尤其在二线城市你可以上各招聘APP看看能力要求都挺高但是薪资待遇还是有限。这是客观环境无法改变。所以更需要提前考虑这个问题提前做好准备不打无准备之战。对自己大概有个初步计划就是把这些年的经验再梳理总结一下、把英语口语练练、测试管理中遇到的问题总结总结踩过的坑再反省反省。。
我是如何软件测试的呢
有些小伙伴问了零基础怎么开始学习软件测试呢有没有路线图。我用了五天的时候整理了今年我认为软件测试就业的主流技术栈大纲由于内容实在太多我就能弄成了一张长图如果你需要的话可以加我下面的卡片直接管我要。 学习建议 1、一般来说测试新人的话首先需要把基础打好测试理论基础可以通过看一些经典书籍或网上也有很多免费的资源选择前两本基础的看你会受益匪浅。
2、刚开始不太建议加入过多技术群或其他论坛提问初期遇到问题可以自己搜索自己尝试解决当然需要控制一个止损点不要为一个问题耗费太长时间
3、自学基础的同时一定要做好笔记且一定是通过自己的理解后做的。可以使用思维导图把前后学到的东西给关联起来
4、读完一本书或一个阶段结束后可以自测一下通过找一些经典的笔试题或一些istqb中的题目来巩固或查漏补缺有针对性的再次巩固学过的东西
5、接下来可以找一些项目来做或去众测平台看一些基本的项目测试流程包括基本测试文档的书写规范等等testin众测平台是一个锻炼的不错平台至少测试用例设计、执行及bug探索提交缺陷都是挺好的。
6、目前有好多平台会开设一些免费的公开课通过技术讨论组可以接收消息推送设定好时间听一些专业领域的测试方法可以快速了解到大体的流程。一定要经过严格筛选选择质量高的否则会浪费一大部分时间 第一阶段 测试基础
测试基础是软件测试最最最重要的部分只要你是做测试不管是什么测试测试的基础、理论知识都是必须学会的。 最好学到什么程度呢最好是能够理解并能够用自己的话给复述出来。 毕竟面试初级测试的时候问的问题都是从基础理论上进行考核的。 那测试基础有哪些内容呢 测试的定义、测试的分类、测试的方法、测试的生命周期。 测试计划、测试方案、测试策略、测试用例的编写。 BUG的定义、BUG的分类、BUG的六要素、BUG的生命周期。 测试和开发流程的关系、瀑布流、V字形、W字型双V、螺旋型、敏捷等等。 PDCA、5W2H等分析管理的方法 质量管理体系CMMI了解 嗯大概就是以上的内容吧以上全部都是理论和文档能力、只要你肯背、肯写都是能独立的掌握的。 第二阶段 常见的测试工具
测试工具永远是软件测试人员的得力助手不能完全依赖工具但也不能没有工具在学习软件过程中要著中软件测试工具的使用下图覆盖初、中级软件测试工程师所需具备的测试工具要想学好下手学习吧。
混在软件测试职业圈工具千千万不可能每个都会用至少要知道有哪些工具可用什么时候该用什么工具每个工具能解决什么问题然后再深入应用几款工具即可下面就带大家总结一下。
测试管理工具
禅道简单好用市场主流互联网行业居多 Jira简单好用 QC/ALM复杂收费电信/金融行业使用较多 bugzilla功能简单 svn代码和文档管理工具 git但是多分支管理比svn好 接口测试工具
Jmeter(开源) postman SoapUI 推荐使用 jmeter 和 postman。 性能测试工具
loadrunner大而全要学精通还是有点难度重量级工具过去和现在都是行业老大 jmeter基于java平台的性能开源测试工具其实也很强大而且比较好用 Locust基于python的一个性能测试工具 白盒测试工具
junit/testngjava下的单元测试框架 unittest/pytestpython下的单元测试框架 cppunit跨平台的c单元测试框架 PhpUnitPhp语言下的单元测试框架 TestBed一个重量级的白盒测试软件可以进行单元测试、集成测试、静态测试军工行业常用 Klockword静态测试工具军工行业常用 持续集成工具
Jenkins比较常见的一种CI工具 Hudson 网络测试工具
以HTTP/HTTPs协议为主网络测试工具有 wireshark fiddler charles
app自动化工具
appium这个应该算是目前最流行的基于app的自动化测试框架了 uiautomator安卓自动化测试框架基本上支持安卓的所有事件操作 Monkey安卓自带的测试工具 Monkey RunnerMonkey改进版支持自己编写脚本测试用Python语言 Robotium一款国外的Android自动化测试框架用法比较 web安全测试工具
appscan算是用的非常多的一款工具了扫描后能够将绝大部分的漏洞找出来 fiddler网络抓包工具 burpsuite暴力破解、抓包工具 skipfish这是一个轻量级的安全测试工具处理速度很快每秒可处理2000个请求。 第三阶段 代码学习
好了学完了以上两个部分恭喜你你已经是一个出色的初级测试工程师了。 接下来你要考虑你的发展方向了 是成为一个自动化测试工程师呢 还是性能测试工程师呢 还是安全测试工程师呢 啊这个问题好难我也不知道该怎么选。 反正我啥都会一点哪个岗位都能去面一面。 关于方向的选择看我的这篇文章
嗯相信你心中已经有了答案了那我们继续往下面说。 这个阶段我们应该学习代码了关于编程语言的选择我推荐Java或者python。 还有数据库也是必须掌握的在工具篇的学习里我认为你已经可以掌握数据库的相关的应用了 所以现在各位可以去学习编程语言了 不过不用像开发那样学的那么深入。 比如Java只需要学完JavaSE的部分就够你用了。 python的话也是一样的把基础的部分学完就行了。 总之前期你两者二选一的学习就OK了。 啥你问我学的啥。 我当然是两种都会啊 哈哈哈哈哈哈哈惊不惊喜意不意外
自动化方向 等你代码已经基本掌握了嗯很好接下来就要学习各种自动化测试了。
各种单端测试框架unittest(python)、pytest(python)、JUnitjava WEB自动化测试框架selenium适用于java\python\javascript APP自动化测试框架appium适用于java\python\javascript 以上的内容根据你学的语言进行选择。 appiunm和selenium根据你参与的项目进行选择。 不过无所谓了反正迟早都要学会的。 这部分的教程太多了你学会了编程的基础后随便百度好多博客论坛都有教程。 而且凭你那时候的水平你都能轻松的看懂。
性能方向 对loadrunner和jmeter的掌握更加的深入。 可以手写脚本、脱离录制。 学会了多线程编程、能够手写java或者python、不用工具直接实现压测。 学习linux,毕竟性能总是和服务器打交道的。 学习系统架构的相关知识、方便你更容易的分析系统瓶颈。 说实话、性能方向的提示更难、因为需要掌握的东西太多了。 性能测试做深入了基本上就是架构师的水平了。 可能你现在看着这个性能方向的学习一脸懵逼。 没关系、等你把上面的编程语言学会了你就不懵逼了。 安全方向 渗透测试 SQL注入 暴力破解 脱库 等等 其实安全测试基本上偏向于网络攻防了也就是传说中的黑客了不过我们都是好人这个的发展方向就是白帽子。 推荐知道创宇的学习体系。 我估计你看到这里就更懵逼了。 没关系、等你把基础的东西学会就知道我在说啥了。 毕竟你现在还是一个小白嘛。 不要去纠结这种小事。
各位在这个阶段正常情况都应该是中级测试工程师的水平了。 第四阶段 架构学习 前三个阶段学习完成后各位就应该考虑怎么写代码更合理了。 怎么去测试更全面。 怎么才能更好的保障项目的质量。 我认为在这个阶段应该回头重新学习一遍测试基础。 因为这个阶段的提高是思想、方法的提高了。 上面讲的都是教你应该怎么做。 在这个阶段你要自己去发现、为什么要那样做。 跨过了这个阶段就基本上可以成为专家了。 学习都是水到渠成的在这个时候你应该已经掌握了不少框架了甚至自己也能开发合适的框架了。 自动化测试框架、性能测试框架等等。 已经有了属于自己的一套东西了。 在群里或者论坛上去装逼、别人都会尊称你一声大佬了。 可能你也学会了一些其他的技术了甚至在往全栈等方向跨进了。 总之到了这个阶段就没什么学习路线了。
小结 上述都是一些个人体会文笔有限写的有点零碎但是内容都是真实感受的如果能对一部分人有所启发那就再好不过。目前自己还是一直在思考未来自己可以做什么还是期望未来可以多赚钱^_^过更好的生活。。
2023最新Jmeter接口测试和接口自动化测试从入门到精通全套项目实战