文章目录
- 认识软件测试
- 企业为什么需要软件测试?
- 软件测试的定义
- 有关测试的岗位
- 软件测试开发工程师和测试工程师
- 走测试岗为什么还要学开发知识?
- 好的测试人员应该具备哪些素质?
认识软件测试
企业为什么需要软件测试?
其实不只是互联网企业,其它各种企业都需要在给用户交付产品之前测试产品质量是否合格,而是否合格得看产品有没有达到用户的需求。为了能盈利,互联网企业总是想方设法地保障产品质量以提高用户的满意度,而测试就是保证这一目的的重要手段。
软件测试的定义
软件测试就是验证软件产品特性是否满⾜⽤⼾的需求 。
有关测试的岗位
-
软件测试开发工程师(Software Development Engineer in Test, SDET)
- 职责
编写测试代码和自动化测试脚本,设计和开发测试工具和框架
与开发团队紧密合作,理解产品的技术细节和构架,设计有效的测试方案
- 职责
-
测试工程师(Test Engineer)
- 职责
执行手动测试,编写测试计划、测试用例和测试报告。
识别、记录、跟踪和回归测试缺陷。
评估软件质量,确保产品符合要求规范
理解需求和功能,与开发人员沟通
- 职责
测试开发工程师通常需要更强的编程能力和开发背景,侧重于自动化测试工具和框架的开发,而测试工程师更关注手动测试和测试执行,确保产品符合功能和质量要求。两者在团队之中相互补充,共同提升产品质量。
软件测试开发工程师和测试工程师
- 相同点:
- 都称为测试人员,且都对产品质量负责,保障产品的质量
- 不同点:
- 测试开发工程师多了“开发”这两个字,这里的开发指的是需要开发测试效率工具,通过效率工具来提升测试效率和测试质量,比如我们的自动化、性能测试等就属于测试工具。而测试工程师主要是使用测试工具测试。
走测试岗为什么还要学开发知识?
这是面试官常问的问题。每个人都有自己的看法,我这里提供一个样本:
- 阐述开发和测试的区别和共性:开发和测试其实都属于研发领域,两者相辅相成。开发者在编写代码时也需要自己测试代码,确保功能实现的质量,但是开发人员的自测更多的是从自己负责的板块进行测试。相比之下,测试人员涉及测试的范围则更加广,也更全面。而且,测试人员不仅要定位bug,还需要提供合适的解决方案(包括开发效率工具)。这一点就需要测试人员掌握一定的开发知识。
- 阐述测试岗位的挑战:测试工作的挑战不仅仅在于需要深刻了解软件需求以及对异常的精准定位和分析,更在于和开发人员有效的沟通。始终以团队利益为重,提高团队协作的意识。
- 阐述转向测试的原因:并不是因为测试比开发要简单才选择走测试,而是自己对软件质量有着较高的追求和执着,希望自己参与研发的软件能够得到用户的信赖和肯定。
重点:
- 简单聊聊开发人员和测试人员职责的不同,重点阐述测试人员的重要性,说明测试人员需要掌握的知识很多。
- 重点阐述测试岗位会遇到的问题,以及好的测试人员应该具备的素质
- 转向测试并不是测试更简单,而是自己更适合走测试(从个人喜好出发,比如自己喜欢和别人沟通讨论问题)。
好的测试人员应该具备哪些素质?
- 沟通能力:找错误的人一般是不被讨喜的,这也使得如何跟开发人员说明问题也成了一个问题,测试人员不仅仅需要主动的与开发人员沟通分析问题,还需要清楚地将问题表达出来。
- 快速学习能力:计算机行业发展迅速,不仅仅是测试人员,所有的开发人员都需要有快速学习新技术的能力。
- 开发能力:前面提到的,测试⼈员除了保障项⽬质量之外,也需要针对当前业务开发效率⼯具,来提升测试效率和质量。如⾃动化、性能测试等就是效率⼯具。
- 文字能力:测试⼈员需要编写各项⽂档,如测试计划、测试⽤例、测试报告等等。所以写出来的报告能让别人容易看懂,这样能有效地提高效率,同样也是测试人员的一种重要能力。
- 责任感和抗压能力:责任感是任何工作都需要的,对于测试人员来说,测试往往是产品质量的最后把关者,同样伴随而来有也各种压力,抗压能力也是好的测试人员应该具备的能力。
- 掌握自动化测试技术:⾃动化测试技术在测试领域中占有举⾜轻重的地位,掌握⾃动化测试技术,可以将测试⼈员从⼤量重复性的⼿⼯劳动中解放出来,这样可以把更多的精⼒花在更多类型的测试上。