想要成为一个性能测试工程师需要掌握哪些知识
发布网友
发布时间:2022-03-18 03:21
我来回答
共3个回答
热心网友
时间:2022-03-18 04:50
一、熟悉公司的软硬件环境和明确性能测试知识体系
初入职场,我们首先必须了解公司的软硬件环境,比如:搞清楚项目组内的测试工作分哪几块,每一块大概需要做什么,工作饱和度怎么样。测试的产品是什么,基于什么平台的、服务器是Linux还是Windows、数据库用的是什么、用的是什么语言编写等等。搞清楚软硬件环境我们就清楚了自己要准备什么知识,这样就有了努力的方向,有不足的地方可以趁早去学习和巩固。
二 、性能测试技术的提升,性能测试工程师大致分为以下几个阶段:
性能初级
能独立完成性能测试,包括:性能测试环境的搭建、性能测试用例的设计、性能测试场景的设置、监控服务器资源、执行性能测试并记录结果反馈给开发人员。目前,大部分的性能测试工程师都是初级性能测试工程师。对于初级性能测试工程师主要掌握的是工具的使用和脚本的录制和强化。
性能中级
初级性能测试工程师主要掌握的知识点是性能测试工具的使用,要想在性能测试领域进一步的发展,我们积累一些性能监控工具,比如数据库的监控、JVM的监控、中间件的监控等。
性能高级
当我们开始掌握一些性能监控工具的使用后,恭喜你,你经成为了一名中级性能测试工程师了,此时的你已经比大多数的性能测试工程师优秀。如果我们还想在性能测试领域继续成长,我们必须慢慢积累性能问题的定位和调优,通过我们监控到的性能指标数据,定位性能问题并进行调优改善,比如:应用服务器调优、数据库调优、应用程序调优、操作系统调优和系统架构调优等。因此,作为一个优秀的高级性能测试工程师,你必须拥有很丰富的知识面,需要掌握系统架构、中间件、数据库、操作系统、网络协议等综合知识。
以上就是如何成为一个性能测试工程师需要掌握的知识,希望对各位有所帮助。
热心网友
时间:2022-03-18 06:08
根据我的观察,优秀的测试人员可以做的事情可以包括如下3点:
由单纯的测试变成项目质量保证工作
持续集成探索和推动和自动化测试技术研究
测试相关工具的开发
1、我们先来讲第一点,由单纯的测试变成项目质量保证工作。
测试,从狭义的角度来讲,包括如下这些环节:
测试计划和测试用例编写-测试执行-质量报告书写
测试人员一般会在开发阶段就进行测试计划和测试用例的编写和准备工作;在测试阶段,我们一般先会做功能测试,等项目功能基本稳定,bug较少了,就开始做兼容性测试、性能测试、安全性测试。兼容性测试保证了产品在多浏览器、APP在产品在不同机型下的兼容性;性能测试保证了产品在海量用户大流量下的服务能力;安全测试能发现产品可能会被攻击的各个隐患。做完了这些测试以后,人员发布质量报告,产品上线。
不过,优秀的测试人员需要向上游和下游拓展测试的领域,把自己放在“质量保障”的角色上,推动整个项目组一起保证质量,上游的工作包括:
在产品刚立项、进行需求确认的时候,测试人员就会参与进去,仔细地Review需求,看需求是不是完整、有没有漏洞,这个时候还没有进入正式开发,修改需求对于项目组来说代价是最少的。在这个环节,测试人员凭借缜密的推演、发散性的思维,往往能发现很多需求的漏洞,提高了项目的整体效率。
另外,测试人员在完成测试计划、测试用例以后,会邀请开发、策划一起来评审测试用例,在这个环节,由于测试人员把每个需求如何细化测试都体现在了用例里面,就相当于再次把需求分析了个透,往往还能发现很多需求的漏洞。这也是提早发现需求漏洞的有效环节。
我们知道,代码的质量归根结底是由开发保证的,测试做的工作,只是发现Bug让开发修复。如果一个花瓶,一开始就是很完美的;另一花瓶经过了各种修补,看起来比较完美,大家觉得哪个花瓶比较好?当然是第一个花瓶。所以,测试人员应该站在质量保障的立场,想办法跟项目组沟通、给开发提供工具,让开发自己把质量保障工作做好。比较可行的一些方式是:提供一些手工用例让开发自测;给一些自动化的接口和UI测试代码让开发自测;部署静态代码检查工具,并推动开发分析和修改发现的问题;有一些做得好的项目已经实现了持续集成,也可以尝试。
下游的工作包括:
在产品完成了测试以后,就是发布的环节了,测试人员在发布的环节也能发挥作用,首先,测试人员为了部署测试环境,研究自动化部署的技术,可以把上线部署的环节也自动化,以前需要2个小时的部署环节压缩到半个小时甚至更少,而且更加准确可靠。
如果有些版本修改比较多,上线的质量风险大,测试人员会跟产品一起制定灰度发布的方案并在技术上进行实现,让版本先面向一小部分用户开放,如果发现Bug了,影响的用户也比较小,Bug改掉以后,再逐渐扩大用户范围。
另外,优秀的测试人员还会发动项目组的其他人一起来保证项目质量,比如推动开发进行代码Review;引入冒烟自测流程,让开发先自测以后再提交给测试做冒烟测试;通过在项目组分析Bug,让开发提高自测,降低Bug数量等;引入策划、交互、视觉在测试阶段进行走查,等等各种措施。
2、持续集成探索和自动化测试技术研究
业界都在说持续集成,那持续集成究竟是个什么鬼呢?
持续集成原本的意思是让开发每提交一次代码就自动化测试一次,如果自动化测试发现问题了,测试用例就会失败,开发就会马上发现这个失败,并修改代码。
要做到持续集成可有很多工作要做。
首先就是编译环节,要把所有编译的环节都自动化起来,开发每次提交代码都能进行自动编译;
编译完成后,就是静态代码检查的环节,通过静态代码检查的工具检查代码的问题,比如,数据库连接池没有释放,参数不匹配等。
静态代码检查完成后,就是单元测试了,单元测试用例一般是开发人员或者测试人员编写,或者开发和测试合作编写,保证的是开发内部函数的正确性。一个健康的自动化测试方案中,单元测试用例的占比是最高的。
然后就是接口测试,一般保证的是后端开发提供给前端开发的HTTP接口,接口一般也比较稳定,用例比较容易维护,所以,接口测试的自动化占比也可以做到很高。
在接口测试的上层就是针对用户界面的UI测试了,就像测试人员手工执行一样,UI自动化测试能操作页面的元素,完成自动化。不过,由于用户界面常常要重构,所以我们常常会控制UI自动化测试的规模,只覆盖主干的用例。
优秀的测试人员可以把自己的工作尽量自动化,并用持续集成框架串起来,提高工作效率和质量。
3、测试相关工具的开发
优秀的测试人员会开发其他好用、趁手的工具来提高工作效率,比如数据自动生成、报表自动生成、报bug工具等。
其实归根结底就是一句话:测试人员最核心的工作就是保障项目的质量,各类测试流程、技术、工具和平台的发展让我们可以更好地保证项目的质量。
热心网友
时间:2022-03-18 07:43
这个问题的切入点好大,要知道每一个性能测试计划中第一步都会制定目标和分析系统构成。只有明确目标和了解系统构成才会澄清测试范围,知道在测试中要掌握什么样的技术以及确定哪些性能指标需要度量。所以明确你要做什么方面的性能测试工程师。
基本步骤如下:
1. 确定性能测试需求
2. 学习的相关技术和工具
3. 设计测试用例
4. 运行测试用例
5. 分析测试结果