软件测试工程师会涉及哪些工作?
软件测试工程师目前正在成为IT行业中一个新亮点,不仅其从业人员薪水高、人员需求增加快而广受关注,而该行业未来良好的发展前景也受到肯定。
因此想要成为软件工程师,你就必须先清楚它的职责内容。
软件测试就是使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。开发工作的根本是尽量实现软件用户的需求,测试工作的根本是检验软件系统是否满足软件用户的需求。
软件测试工程师简单的说是软件开发过程中的质量检测者和保障者,负责软件质量的把关工作。
软件测试工程师具体工作
1. 测试和发现软件中存在的软件缺陷
使用各种测试技术和方法来测试和发现软件中存在的软件缺陷。测试技术主要分为黑盒测试和白盒测试两大类。其中黑盒测试技术主要有等价类划分法、边界值法、因果图法、状态图法、测试大纲法以及各类典型的软件故障模型等;白盒测试的主要技术有语句覆盖、分支覆盖、判定覆盖、基本路径覆盖等;
2. 测试工作需要贯穿整个软件开发生命周期
完整的软件测试工作包括单元测试、集成测试、确认测试和系统测试工作。单元测试工作主要在编码阶段完成,由开发人员和软件测试工程师共同完成,其主要依据是详细测试。集成测试的主要工作测试软件模块之间的接口是否正确实现,基本依据是软件体系结构设计。确认测试和系统测试是在软件开发完成后,验证软件的功能与需求的一致性、验证软件在相应的硬件条件下的系统功能是否满足用户需求,其主要依据是用户需求。
3. 缺陷报告编写及提交
测试人员将发现的缺陷编写成正式的缺陷报告,提交给开发人员进行缺陷的确认和修复。缺陷报告编写最主要的要求是保证缺陷的重现。要求测试人员具有很好的文字表达能力和语言组织能力。
4. 软件质量分析
测试人员需要分析软件质量。在测试完成后,测试人员需要根据测试结果来分析软件质量,包括缺陷率、缺陷分布、缺陷修复趋势等。给出软件各种质量特性包括有功能性、可靠性、易用性、安全性、时间与资源特性等的具体度量。最后给出一个软件是否可以发布或提交用户使用的结论。
5. 测试计划制定
测试过程中,为了更好地组织与实施测试工作,测试负责人需要制定测试计划,包括有测试资源、测试进度、测试策略、测试方法、测试工具、测试风险等。
6. 测试用例报告形成
测试人员为了更好更有效地进行测试,保证测试工作质量,需要在执行测试工作之前首先需要设计测试用例,形成测试用例报告。设计测试用例是保证测试质量的核心工作,很多测试技术都可以用来指导设计用例。为了提高测试用例的设计效率,达内培训课程专门开设了高效设计测试用例一门课来讲授各种设计用例的技术与方法。
7. 自动化测试工具引进
为了提高工作效率或提高测试水平,测试工作需要引进自动化测试工具,测试人员需要学会使用自动化测试工具,编写测试脚本,进行性能测试等。
8. 测试水平提高
测试负责人在测试工作中,还需要根据实际情况不断改进测试过程,提高测试水平,进行测试队伍的建设等。
软件测试现已成为高薪新行业,行业前景发展迅猛,很多人只是听说过这个行业,但是对于具体的行业内容和行业发展方向还是很模糊。
软件人员需要具备的技能
1. 触类旁通。你不是产品,但你知道产品是怎么工作的;你不是运营,但你知道用户关心什么;你不是开发,但你知道开发同事怎么工作;你不是设计,但你有你对交互逻辑的理解;你不是销售和编辑,但你熟悉产品业务。
2. 常识知识。常识好的人产品逻辑好(概述)。能够有基本计算机知识(操作系统,数据库,通讯协议原理,熟悉至少一门编程语言);基本软件测试知识(各种测试理论,测试方法论,测试用例编写,缺陷界定标准,软件质量评估);简单项目管理知识
3. 沟通能力。基本地,把一个问题表述清楚。能说服开发把bug改掉,不改掉的得要求明确回复原因。维护测试工作的尊严,坚决抵制欺负测试人员的行为。
4. 熟悉产品功能。熟悉所测产品功能,能够将产品文档内描述的UC转化成TC,熟悉所测产品的一些隐藏需求或者功能(业务上的进阶能力)
5. 心态好。测试有时候比较枯燥,重复性强。遇上一茬新来的开发同学,你会感到测试工作回到很久以前了。综和各种情况,说明测试需要好心态。