惊呆,原来QA需要具备这么多能力

馥钰18885226·2021年05月08日 13:47
出品|51Testing软件测试网如何成为一名能够应对项目质量工作的方方面面的优秀QA,通过专业的技术能力、
q
未融资福建省2022-11
111
我要联系

编者按:本文来自微信公众号“51Testing软件测试网”(ID:testing51testing),作者:郭朝兴,36氪经授权发布。

出品|51Testing软件测试网

如何成为一名能够应对项目质量工作的方方面面的优秀QA,通过专业的技术能力、质量思维来保证项目的高质量实施,保证项目实施过程规范、结果正确、流程高效、生产问题及时反馈。

本文从测试基本能力、质量保证能力、CI/CD能力、测试工具使用能力、应用系统监控能力、监本开发能力、新技术学习能力等方面阐述IT项目对QA的要求,这些能力构成了一个网络体系,各方面能力之间又可以相互影响、相互渗透、相互促进,体现在QA思维、行动的方方面面。

测试基本能力

作为一名QA最重要也是最基本的能力是能够完成各种类型的测试工作,本文从测试阶段、测试方法、是否熟悉代码逻辑、其他类型测试对需要项目过程中可能需要实施的测试进行了分类。

根据项目生命周期测试流程可以分为单元测试、集成测试、系统测试、验收测试;

根据测试方法划分为功能测试、性能测试、安全测试、渗透测试;

根据是否需要熟悉代码逻辑划分为黑盒测试、白盒测试、灰盒测试;

根据是否需要执行测试划分为动态测试、静态测试;

其他类型测试:衰竭测试、强迫测试、可用性测试、恢复测试、兼容测试、比较测试、健全测试。

不同的测试方法存在互相交织的关系,在项目工作中测试人员需要根据项目的实际情况和需要,采用适合于项目的测试方法对项目进行全面、完整的测试,以提升项目干系人对项目质量的信心。

质量保证能力

作为组织中一名质量人员,一名优秀的QA只掌握测试基本方法是不够的,需要具备完整的质量知识体系,才能在项目的质量工作方面做到运筹帷幄、决胜千里。

这个知识体系包括2个方面:一方面是QA自身的知识体系,提升自身对项目质量保证能力,这些能力可以通过ISTQB、软件测评师等方式建立,证明自身已经具备完整的质量知识体系;另一方面是个人具有的组织级质量保证能力,使得组织级质量管理能力能够不断提升,这些能力通过ISO9001、CMMI、TMMI等方面来提升组织质量水平。

QA这些能力的提升有助于保证项目流程正确、高效实施。

CI/CD保证能力

随着开发测试理念的不断进化,产品的迭代速度不断加快,产品功能点指数增长,质量要求越来越高,测试人员仅仅依靠测试来保证产品的高质量越来越难,持续集成对于提升产品的质量和效率越来重要。

越来越多的公司依赖Jenkins或者公司定制的持续集成工具来提升CI/CD的能力,而CI/CD 流程不仅仅是开发人员的工作,测试人员、质量保证人员在CI/CD流程中同样扮演着非常重要的角色。

在开发人员专注于研发工作的团队中,QA需要熟悉CI/CD 的整个流程,具备容器环境的搭建能力,配置漏洞扫描策略,具体良好的shell脚本能力,通过持续集成将单元测试、源代码安全扫描、安全漏洞扫描、代码覆盖率生成、接口自动化测试等流程通过流水线执行。

将CI/CD 与各个工具有效整合,通过CI/CD流程来提升整个研发的效率和质量,是QA的重要使命。

测试工具使用能力

作为一名优秀的QA,必须熟悉相应的测试工具,测试工具是个人测试实施、CI/CD能力、组织质量提升的基础,因此QA必须掌握有效的质量工具,才能辅助测试工作开展、测试过程改进,从而保证质量工作的有效实施。

测试工具包括单元测试、集成测试、功能测试、安全测试、性能测试等不同类型的工具,不同的工作阶段、不同的测试内容需要使用不同的测试工具,QA应该选择合适的测试工具来满足不同阶段的测试工作需求。

新的技术学习能力

随着对于在交付期限内完成项目的迫切需求,项目对测试人员的要求越来越高,QA不懂技术、只会测试成为开发测试角色之间的隔阂和围墙。

QA需要学习DevOps、docker、k8s等新技术,DevOps可以从开发、质量保证流程中协助跨职能的团队合作,从而在更短的时间内产生出高质量的产品。

通过使用docker、k8s等容器化的技术,我们可以将测试放到容器中执行,降低测试对于环境的依赖,进一步改进自动化测试,我们可以将应用部署在PaaS云上,大幅度提升应用构建的速度和效率。

学习这些方法最终消除了角色间僵化和孤岛,让团队密切关注开发流程和持续发布,从全流程提升产品的质量和应用交付能力。

应用系统监控能力

应用监控是发现生产问题的有效手段,通过监控告警能够及时发现系统问题、数据问题、应用功能问题等各种问题,将监控告警及时反馈开发人员、运维人员处理,能够有效提升问题应对效率。

QA对系统的业务是最熟悉的,需要具备应用系统监控配置能力,理解常见监控方法原理,根据业务实际情况,对重要的功能配置日志、http状态,页面元素、http报文、脚本类型监控,及时发现生产问题、记录生产问题、反馈生产问题、生产问题解决后验证问题已经得到解决。

脚本开发能力

QA需要具体一定的脚本开发能力,包括测试工具开发能力、数据质量评价能力、竞品分析能力等,以辅助项目测试过程及产品质量评估,提升项目执行效率及产品决策。

测试工具开发:根据项目、系统的特点和实际情况,开发适合的测试工具以辅助测试,提升测试效率。例如对大数据不同来源数据的ETL进行测试,验证规则、ETL过程和结果的正确性,可以开发合适的工作代替手工验证过程,提升测试效率。

数据质量评价:数据是产品的重要的财富,数据可以辅助业务分析,对于关系型数据库mysql、oracle,非关系型数据库mongoDB、hbase等数据库数据存储的数据,利用python、spark等工具进行数量、质量、关系、类型分析判断用户类型、层次、状态等信息,辅助产品决策。

竞品分析:在激烈的市场环境中,竞争对手居多,竞品分析也是一项重要的工作。通过体验测试、功能对比分析等方式从功能完备性、体验是否友好、用户粘性等方面分析自我产品与竞品的优劣,扬长避短。

总结

本文从测试基础能力、质量保证体系、测试工具使用、脚本开发能力、应用监控能力、新技术学习及运用能力等方面对QA人员需要具备的能力进行了全面的分析,从不同的维度和层面分析了QA需要掌握的技能。

七种能力并不是孤立存在,各种能力是相互融合和交织的,某种能力的提升也会让你在其他能力方面有更深入的理解,通过不断地思考和总结学习,作为QA才能产生更大的价值,成为开发人员质量工作的引路人,成为产品质量的守护神。

......

本文为51Testing软件测试网

第六十一期电子杂志内容

剩余精彩内容请点击下方 阅读原文查看

推荐阅读

点击阅读☞测试人,面试逃不过的灵魂三问

点击阅读☞测试中这些奇怪的问题你见过吗?

点击阅读☞新人如何做好功能测试,看这几点就够了

点击阅读☞211本科大佬的真实面试经历:测试人要不要去外包公司?

点击阅读☞2020年应聘华为测试岗三轮面试经历分享

戳 “阅读原文”一起来充电吧! 

+1
0

好文章,需要你的鼓励

参与评论
评论千万条,友善第一条
后参与讨论
提交评论0/1000

36氪AI测评

选靠谱AI,看真实评测
查看
36氪AI测评官方交流社区
加入

36氪寻求报道

咨询报道审核和入驻
联系
36氪寻求报道订阅号
关注

报道的项目

q
我要联系
111

下一篇

昔孟母,择邻处。子不学,断机杼。

2021-05-08

36氪APP让一部分人先看到未来
36氪
鲸准
氪空间

推送和解读前沿、有料的科技创投资讯

一级市场金融信息和系统服务提供商

聚焦全球优秀创业者,项目融资率接近97%,领跑行业