qa应掌握的技能

DevOps & 敏捷方法

随着对于在交付期限内完成项目的迫切需求,测试人员需要学习敏捷方法和DevOps,因为它们可以帮助促进团队之间的协作和改进迭代间工作模式。敏捷方法为测试项目提供了项目开发所需要速度与效率,而DevOps可以从开发,分析和质量保证流程中协助跨职能的团队合作,从而在更短的时间内产生出高质量的产品。此外,学习这些方法最终消除了角色间僵化和孤岛,让团队密切关注开发流程和持续发布。
devops
向上面devops工作流一样,devops 打通项目流程每一个环节,从代码的管理,到build、test 到最好部署到prod环境,对于qa来说,了解其中的流程,对于qa工作有非常的好处,通过devops一些监控工具例如airbrake我们可以实施查看系统发生的问题,与dev一起分析问题发生的原因,通过GA newrelic这些工具,我们可以分析系统用户行为,给系统性能测试与分析提供数据上的支持。通过对于了解devops工作流,我们可以分析项目中存在风险,及时改进流程,通过docker等容器化的工具,我们可以将测试放到容器中执行,降低测试对于环境的依赖,进一步改进自动化测试,所以说了解devops知识对于qa来说百利无一害,何乐而不为呢。

自动化
面对应用程序日益增加复杂性和系统集成,依靠手动测试已经无法完成全部测试工作。为了测试浏览器兼容性,性能,无头以及数据库和集成层面,测试人员应该学习自动化相关的技能,因为它可以提供业务逻辑和技术层面更高更准确更可靠支持。此外,还有几种自动化测试工具专门支持特定领域的测试类型,并具有快速高效地完成任务的功能。
selenium
如上图,很多QA或者tester有一个误区,提到自动化张嘴闭嘴都是selenium,甚至有的人连webdriver与selenium区别都不知道,所以这里我要澄清,ui自动化测试只是自动化测试中的一小部分,还包括api,接口,单元测试,集成测试,甚至性能测试我们都应该称为自动化测试。

网络与移动技术
webandmobile

每个测试人员还必须熟悉web和mobile相关技术,以便他们能够更好了解应用程序的类型与架构,如何构建,以及相应的可扩展性,并为以后测试提供相应背景知识。这对于测试人员非常重要,因为它能够指导QA理解项目架构与所面临技术挑战,提供更有效的QA解决方案。
这里学问更多,完全是两大方向,知识领域都非常的广大,例如web端我们可能要测试不同浏览器兼容性,对于mobile来说,尤其是android这种版本碎片化以及各种自定义系统以及ui改更能会造成各种个样的问题,对于mobile我们甚至要考虑更多场景,例如app是否具有内存泄露,电量消耗的快慢,横竖屏的影响等等。不同构建工具,开发环境的区别等对于qa来说又要面对一堆未知领域,没事,继续加油。

SDLC 软件开发生命周期(Systems Development Life Cycle)
sdlc

测试人员也被建议学习软件生命周期管理技能,这将有助于QA更轻松了解应用程序开发任务和测试计划周期。对SDLC周期的深入了解还有助于预测应用程序的复杂性,从而提前采取正确的措施。因此,测试人员还必须学习适用于项目开发生命周期流程的几种开发方法,如瀑布,看板,Scrum,精益等。
作为一个qa,我们应关注软件开发生命周期中的每一步,了解敏捷开发迭代中的各个环节及时作出反馈,所以有时qa也需要承担scrum master的责任,例如某个story进度超过预定期限未完成,我们就应当了解原因,及时与团队成员以及客户沟通。

理性分析与逻辑思维
sdlc
为了保持竞争力,QA还应该学使用理性,分析性和逻辑性思维来思考问题,因为这些技能在测试应用时可以帮助QA识别错误,了解问题的复杂性,评估应用程序的不熟悉的功能并相应地进行测试。具有良好的分析和推理能力有助于根据在不同场景下验证应用程序,并根据预先定义的标准来评估应用程序。这进一步有助于评估相关信息,提出明确的问题,确定优势和弱点,而不会持有偏见,这有助于实施正确的行动方案和解决方案。

社交网络
contact
任何行业的任何专业人士都需要社交网络技能。由于社交网络可以即时访问讨论,资源和内容,因此在这方面的技巧有助于与其它QA进行互动,学习新事物并更新自己的知识体系的广度与深度。拥有社交网络技能还可让您与各种专家进行交流,交流疑问,当然也可以建立长期的合作关系,帮助您的专业技能和企业达到所需目标。

测试工具和技术
tools
每个QA都必须了解不同的测试技术和使用工具。无论你的项目属于那个领域和应用程序类型,都应具有黑盒测试,渗透测试,安全测试,系统测试,单元测试等,测试人员具有多功能性,可以帮助他们在任何类型的项目上工作。此外,随着商业化的专业测试工具数量的增加,例如bug跟踪工具,测试管理工具,GUI测试工具,自动化工具等,测试人员可以了解这些工具的特点,选择适用于所在项目需求工具,以满足不同的需求和复杂性。

编程
tools

当我们谈论编程时,QA当然不会像开发人员一样工作,但是QA需要理解应用程序的实现原理与项目架构,这样我们可以更容易的创建所需的测试。编程知识有助于识别应用程序代码中的可能发生的错误,这就进一步降低了应用程序发生错误的概率。所以建议学习至少两种编程语言,这样的话测试人员就能够更好的了解应用程序的解决方案,以确保的应用程序生命周期的质量。

沟通 - 书面和口头
communicate

每个QA还应具备良好的沟通能力。通过良好的沟通,对于项目的所有角色来说,QA应该是一个好的作家,演讲者,听众和读者,例如将项目的状态更新给客户,向团队通知story的需求变更,与开发人员交流bug的细节,将需求文档转化为测试用例,准备测试报告等。除此之外,良好的沟通有助于表现出个人高度的理解能力,进一步帮助QA在逻辑思维和理性分析基础上向技术人员和非技术人员提供反馈意见。

智力与创意
软件测试并不是一个程序化或平凡的任务,而是一个需要创造力和逻辑分析的过程。智力和创造力无法改变,但是,可以通过质疑应用程序行为并分析应用程序的不同方面来了解其工作原理。另外,通过设计一些应用场景,测试人员可以尝试探索性测试,来识别更多缺陷,并寻求提供有效产品质量的可能解决方案。

测试计划和文档

测试计划和文档对于每个QA至关重要,因为它有助于确定正确的需求以及采取合理的步骤。此外还可以帮助跟踪需求变化,检查测试过程和跟踪偏差,并有助于报告和记录工作。一个记录良好的测试过程也可以帮助个别测试者和企业将正确的预算和资源分配给一个项目,这就是为什么测试计划和文档技能是每个测试人员必须学习的重要技能之一。

项目管理
学习项目管理的技能,帮助QA提高对于处理问题的能力。例如项目中某个环节发生问题,通过项目管理技能,能够及时的分析问题影响广度,及时寻找相关人员协作处理问题,项目管理技能有助于QA了解项目流程中所存在的问题,来帮助更好改进整个测试过程。

客户支持
customers

与过去项目有所不同,现代测试项目要求QA提供客户支持并从他们的角度思考。作为QA并不意味着我只是关心功能是否正确,因为测试项目的成功或失败因素很多,而不仅仅只是局限于功能层面,因此QA应及时应对和支持客户提出的需求,并所他们角度思考哪些方面仍然需要改善。

报告
report
优秀的QA必须拥有良好报告技能,才能向项目的成员与客户提供测试项目和被测试应用的确切状态。这种报告实践可以更好地协调整个测试项目,同时也为高层管理人员提供执行详细的数据,例如测试用例覆盖率,bug的数量,发布时间表等,最终有助于其做出正确的决策。

独立工作
最后,QA应该学习如何独立工作的技能。这将提高他们从需求理解(技术和业务需求)到产出的最终交付工作的能力,采取正确的步骤,在没有他人的帮助或经理的监督。学习独立工作将会增加对他们的信心。

无论经验多少,QA都应努力不断学习和提高软件测试技能和知识。无论是自学习还是参与培训计划,测试人员应不断学习新的方法,以提高测试工作中的效率,并继续应用新技能和学习,使自己处于领先地位。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-30 17:06:06

qa应掌握的技能的相关文章

现代网络性能监控工具应具备何种技能?

以前,企业网络工程师不得不为各种连接的服务器.应用程序和终端设备提供网络接入和足够的带宽.从OSI模型角度看,这些工具主要关注于1-4层网络.由于通过一个网络的所有流量和数据流都共享全部的带宽和队列资源,更高的OSI层次多少被忽略了. 慢慢地,网络设备变得越来越复杂,现在网络中不同的数据流都可以被识别出来并区别对待.各种服务质量(QoS)和应用层流程成型技术也可用于实现这个目 标.此外,随着对于关键业务应用程序依赖程度越来越高,网络工程师也迫切需要了解OSI模型的更高层次,这样他们才能发现网络.

QA请勿忘初心

首先让我们回顾一下QA与QC的区别: Quality Assurance :The planned and systematic activities implemented in a quality system so that quality requirements for a product or service will be fulfilled.Quality Control :The observation techniques and activities used to ful

Flex 常见问题解答

什么是 Macromedia Flex? Macromedia Flex 是为满足希望开发 Rich Internet 应用程序的企业级程序员的需求而推出的表示服务器和应用程序框架.RIA 将桌面软件的响应速度和丰富功能与 Web 应用程序的广度结合在一起,以提供效果更好的最终用户体验.Flex 表示服务器提供基于标准的.声明性的编程方法和流程,并提供运行时服务,用于开发和部署丰富客户端应用程序的表示层.Flex 开发者使用直观的基于 XML 的语言来定义丰富的用户界面:该语言由 Flex 服务

嘿!架构师,你写不写代码呀?

概要: 1.架构师是神马狮,代码是什么马 2.架构师的成长之路 3.架构师是使用代码作画的大狮 4.本期"小狮子"奖 架构师是什么狮,代码是什么马 记得那天是这样的,总导演(右导)一抛出话题,群内雄狮们可炸开了锅: 狮子郭:架构师应该写代码,架构师需验证自己架构上想法的可行性- 狮子肖:架构师必须得做到了解现状,方案与实际相符,别和猿类离得太远... 狮子P:架构最早是源自建筑,没见过建筑架构师码过砖. 狮子木:仰望星空,脚踏大地. 大伙交流得很high,本狮却觉得心底空闹闹的,我们在

中高级PHP程序员应该掌握哪些技术?_php实例

本文把php程序员划分为中.高级程序员两大类程序员,并针对这两大程序员应具备的技能进行分类探索. 中级PHP程序员  1.Linux  能够流畅的使用Shell脚本来完成很多自动化的工作:awk/sed/perl 也操作的不错,能够完成很多文本处理和数据统计等工作:基本能够安装大 部分非特殊的Linux程序(包括各种库.包.第三方依赖等等,比如MongoDB/Redis/Sphinx/Luncene/SVN之类的):了解基 本的Linux服务,知道如何查看Linux的性能指标数据,知道基本的Li

超四成毕业生选择盲目择业

近日,英才网联与腾讯教育推出"毕业后第一份工作调查",解读职场人第一份工作现状.数据显示,47%的毕业生第一份工作持续时间不到一年, 87%职场人的第一份工作因一时不满冲动离职. 超四成毕业生选择盲目择业 调查数据显示,34%的毕业生是依据自己所学专业选择第一份工作:24%的毕业生随意选择,误打误撞. 英才网联职业指导专家表示,毕业生的第一份工作至关重要,择业应慎重,应综合个人职业发展规划.自身兴趣爱好以及专业技能进行选择,同时也可以参考家长及学校就业中心的建议综合而定,切忌盲目跟风.

如何在关键客户管理上获得成功?

关键客户管理(Key account management)是过去20年间在销售方面最重要的改变之一.企业对企业(B2B)供货商用KAM这个截然不同的组织流程,来管理具有战略重要性的客户关系,而且能产生可衡量的商业好处.毫不意外地,明智的供货商热中于采用KAM,但可惜的是,许多KAM的实施作业失败,并且就此放弃.还有些供货商则发现,KAM计划必须做出重大改变,才能好好运作.好消息是,上述许多案例其实是可以避免失败的.KAM是一项重大改变,但只要遵照以下说明的七个步骤,就可以大幅提高成功率:第一步

《产品设计与开发(原书第5版)》——1.6 练习

1.6 练习 1.估算在一个袖珍计算器的价格中开发成本所占的比例.为了做这个估算,你可能首先需要将袖珍计算器的信息填在图表1-3中.2.利用图表1-3中的数据,以开发成本为横坐标.其他各行的数据为纵坐标绘制一组散点图.对于每一个散点图,解释为什么存在或不存在相关性.(例如,你首先绘制"年产量"对"开发成本"的散点图,并解释为什么似乎没有相关性.然后绘制其余各行和开发成本的散点图.)思考题1.图表1-4中列出的每一章都为产品开发流程的一部分提供了方法.对于每一种方法,

系统之家 GhostXP SP2 纪念版_常用工具

写在前面的话:看到今天系统之家的成绩很高兴很骄傲,因为我和系统之家再一起成长,在系统之家有那么一种氛围===互助团结,相互监督,共同进步==== 这也是系统之家管理层的文化底蕴.在论坛不是为了纯粹的灌水,而是为了学知识交朋友.在这里我仅代表系统之家感谢一直支持论坛的会员和朋友.希望系统之家走的更远,飞的更高! ■ 概述:===========================GhostXP是指采用微软封装技术,并利用Ghost软件做成压缩包的WindowsXP,俗称克隆版XP,用克隆版的目的是节省