signed

QiShunwang

“诚信为本、客户至上”

软件测试工程师除了找BUG,还能干啥?

2021/4/26 14:22:05   来源:

大部分的人都认为,软件测试工程师的工作就只是找BUG。其实不然,找BUG只是软件测试工程师众多工作中的一部分。今天,编就来给大家说一说,软件测试工程师的主要工作内容。
在这里插入图片描述

测试、自动化、性能,这三个不管项目大与小,项目的难易程度,软件测试工程师都会做到,尤其是第一个,不管你是医疗还是电商的或者是app的,功能肯定是都要保证的,至于自动化和性能,这两个是可选的。但是现在的话自动化和性能也已经成为了占据了很大的比例。

软件测试工程师

软件测试工程师(Software Testing Engineer)指理解产品的功能要求,并对其进行测试,检查软件有没有缺陷(Bug),测试软件是否具有稳定性(Robustness)、安全性、易操作性等性能,写出相应的测试规范和测试用例的专门工作人员。
简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时发现软件问题并及时督促更正,确保产品的
正常运作。

按其级别和职位的不同,可分为三类:
高级软件测试工程师,熟练掌握软件测试与开发技术,且对所测试软件对口行业非常了解,能够对可能出现的问题进行分析评估;
中级软件测试工程师,编写软件测试方案、测试文档,与项目组一起制定软件测试阶段的工作计划,能够在项目运行中合理利用测试工具完成测试任务;
初级软件测试工程师,其工作通常都是按照软件测试方案和流程对产品进行功能测验,检察产品是否有缺陷。

工作职责

软件测试就是使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。开发工作的根本是尽量实现软件用户的需求,测试工作的根本是检验软件系统是否满足软件用户的需求。
软件测试工程师简单的说是软件开发过程中的质量检测者和保障者,负责软件质量的把关工作。

软件测试工程师具体工作有:

1 、使用各种测试技术和方法来测试和发现软件中存在的软件缺陷。测试技术主要分为黑盒测试和白盒测试两大类。其中黑盒测试技术主要有等价类划分法、边界值法、因果图法、状态图法、测试大纲法以及各类典型的软件故障模型等;白盒测试的主要技术有语句覆盖、分支覆盖、判定覆盖、基本路径覆盖等;

2 、测试工作需要贯穿整个软件开发生命周期。完整的软件测试工作包括单元测试、集成测试、确认测试和系统测试工作。单元测试工作主要在编码阶段完成,由开发人员和软件测试工程师共同完成,其主要依据是详细测试。集成测试的主要工作测试软件模块之间的接口是否正确实现,基本依据是软件体系结构设计。确认测试和系统测试是在软件开发完成后,验证软件的功能与需求的一致性、验证软件在相应的硬件条件下的系统功能是否满足用户需求,其主要依据是用户需求。

3 、测试人员将发现的缺陷编写成正式的缺陷报告,提交给开发人员进行缺陷的确认和修复。缺陷报告编写最主要的要求是保证缺陷的重现。要求测试人员具有很好的文字表达能力和语言组织能力。

4 、测试人员需要分析软件质量。在测试完成后,测试人员需要根据测试结果来分析软件质量,包括缺陷率、缺陷分布、缺陷修复趋势等。给出软件各种质量特性包括有功能性、可靠性、易用性、安全性、时间与资源特性等的具体度量。最后给出一个软件是否可以发布或提交用户使用的结论。

5 、测试过程中,为了更好地组织与实施测试工作,测试负责人需要制定测试计划,包括有测试资源、测试进度、测试策略、测试方法、测试工具、测试风险等。

6 、测试人员为了更好更有效地进行测试,保证测试工作质量,需要在执行测试工作之前首先需要设计测试用例,形成测试用例报告。设计测试用例是保证测试质量的核心工作,很多测试技术都可以用来指导设计用例。

7 、为了提高工作效率或提高测试水平,测试工作需要引进自动化测试工具,测试人员需要学会使用自动化测试工具,编写测试脚本,进行性能测试等。

8 、测试负责人在测试工作中,还需要根据实际情况不断改进测试过程,提高测试水平,进行测试队伍的建设等。

软件测试工程师测什么?

根据需求来测,常规需求就是产品经理提供的产品需求,软件测试工程师就把它叫常规需求,来进行软件测试工程师的UI测试、接口测试、以及产品的迭代、新增功能测试。

第二个,优化需求,这个的话其实就是对于软件测试工程师的这一些优化的功能问题的修复,去进行UI、接口这些方面的测试。

自动化它主要用在什么样的场景或者用在什么的阶段?

冒烟测试、回归测试、正式版本测试都可以用到自动化。但是实际在工作中间,用得最多的主要在回归测试软件测试工程师用自动化来进行回归。

至于性能的话,软件工程师也分两种,第一种是日常的压测,保证测试系统的整体性能,第二种在节日或者重要发版日情况下去进行一个全链路的压测。(全链路压测,通俗易懂就是用户使用环境下的压力测试)

像软件测试工程师日常压测,是在版本软件上线前来进行的测试活动,是在测试环境进行,测试这个系统的性能是否满足软件工程师的要求。(响应时间,资源的消耗情况,Tps等)

在真正用户使用的情况下,服务器的压力情况是什么样子的,这种情况就叫全链路压测。(软件已经上线,用户在使用的过程中间)那么对于这一种,把它叫做真实环境的压测,得出的数据更为真实(响应时间、服务资源、tps)

就拿滴滴打车来举例子,这个软件要进去全链路压测,但是又不能去影响真实用户(司机、乘客)的使用,在进行测试的时候软件工测试程师就避开高峰期,模拟真实情况。

以上就是软件测培训的小编为大家总结的软件测试工程师的主要工作内容。软件测试工程师的内容不不仅仅是找BUG,也有很多比较有挑战性的工作。

资源分享

下面这些是我的收集和整理的资料,对于学习【软件测试】的朋友来说应该是最全的教程仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你
在这里插入图片描述

关注【程序媛木子】微信公众号里海量资源免费获取,技术交流群(644956177)