哈喽,哈喽,大家好~ 我是你们的老朋友:保护小周ღ
今天给大家带来的是 软件测试的认知篇, 从什么是软件测试出发, 其次是测试和开发之间的区别, 软件测试有哪些岗位, 以及测试人员需求具备的素质, 最后是3道软件测试的面试题~ ,一起来看看叭~
本期收录于博主的专栏:专栏管理-CSDN创作中心
适用于编程初学者,感兴趣的朋友们可以订阅,查看其它 “软件测试内容”。
更多精彩敬请期待:保护小周ღ *★,°*:.☆( ̄▽ ̄)/$:*.°★* ‘
一、什么是软件测试
软件测试是指对软件系统或应用程序进行评估,以确保其按预期工作并符合需求。测试的目标是发现软件中的缺陷、错误或问题,从而提高软件的质量、可靠性和用户满意度。
生活中“测试” 的案例也是随处可见,例如:
线下手机售卖店,购买手机。
外观测试, 先测试手机是否符合个人审美。
体验测试, 系统操作是否流畅, 软件打开、关闭是否快捷, 玩游戏是否卡顿。
材料测试, 什么处理器(某龙888), 索尼摄像头,某某屏幕,超声波指纹……
性价比测试,相同配置的价格、相同价格不同配置,手机之间横向对比。
确认目标,购买手机, 交易完成,我们会发现一次简单的购买手机,就衍生出这么多的测试, 所以测试在生活中处处可见的。
那为什么需要软件测试呢? 软件开发完成直接上线给用户使用, 省时又省力。
不知道大家有没有遇到出现 bug 的网站, 或软件,比如某游戏非常卡顿,经常掉帧,虽然拥有帅气, 漂亮的人物建模,有很多 beautiful 皮肤~ 但是充值系统一塌糊涂,时常充值失败(似乎软件卡归卡, 但是充值一定不卡),那么这样的游戏,用户自然不会为此买单,也就无法为公司产生收益, 因为,企业往往需要招聘大量的测试人员对产品进行测试, 以提高产品质量,同时提高产品收益。
软件测试就是为了验证软件产品特征是否满足用户的需求。
二、测试和开发的区别
在日常工作中,开发人员主要是为了编写代码,处理业务需求。测试人员,主要的工作内容就是测试开发人员所写的业务功能是否完善。
如果产品出现了 bug , 就需要对 bug 进行明确, 如果是漏测,开发和测试都要背锅, 如果是需求上的问题,那就是产品经理背大锅。
调试和测试的区别:分为三个角度分析
目的不同
调试:发现问题并且解决问题。
测试: 主要是发现问题,统计汇总(测试人员发现问题之后,经确认属实是 bug , 交由开发人员返工,测试人员只需要测试)。
角色不同
调试:开发人员来执行
测试:测试人员(功能测试,性能测试等), 开发人员(单元测试等)
阶段不同
调试:主要在编码阶段完成
测试:软件测试是贯穿整个软件的生命周期,其中版本更替(新的功能进行测试, 原始的功能需要进行回归测试)。
单元测试主要由开发人员进行----有些企业, 针对开发人员和测试人员有明确的划分, 可能会招聘专门的单元测试人员.
测试人员的职责: 需求分析, 测试计划, 设计测试用例, 执行测试等等~
三、软件测试的岗位
软件测试工程师: 工程师的主要工作一般包含需求分析, 编写测试计划和测试方案, 设计测试用例, 执行测试用例, 跟踪 BUG, 编写测试报告等.
测试开发工程师: 根据项目的特点来开发一些自动化测试的脚本, 或者自动化测试工具, 或者是软件测试工作中用到的提高工作效率的小工具什么的, 从而能够更有效的进行测试, 提高软件产品的质量, 工程师的主要工作一般包含需求分析, 编写测试计划和测试方案, 设计测试用例, 执行测试用例, 跟踪BUG, 编写测试报告等.
从上述职责描述来看, 测试开发工程师是可以包含软件测试工程师的工作的, 但也并不意味着测试工程师这一岗位就无用武之地了, 根据产品需求侧重点不同(测开他贵啊~) .
四、测试人员需求具备的素质
表达能力: 不管是测试方向还是开发方向的同学都需要具备良好的语言表达能力(情商).
文字能力: 测试人员需要编写测试用例(测什么, 怎么测), 测试人员需要提出 BUG, 写测试报告.
开发能力: 测试人员具备一定的开发能力(加分项) 能够更好的协助提高测试的质量.
快速学习能力: 校招同学入职之后, 会有新人培养计划, 届时需要展现出良好的学习能力.
探索性思维和兴趣: 使得测试人员能够主动寻找系统中的潜在缺陷和异常情况,而不仅仅是依赖于预定义的测试用例。通过探索系统的不同使用路径和边界条件,他们能发现那些常规测试可能遗漏的问题。在面对需求变化或不明确的情况时,探索性思维可以帮助测试人员灵活应对,及时调整测试策略和方法,以适应新的需求或变更.
责任感和压力: 拥有责任感的测试人员会更加注重工作质量,确保软件在发布前经过充分的测试,以满足高标准的质量要求. 测试人员常面临保证软件质量的压力,这要求他们在有限的时间内尽可能发现和报告所有潜在问题. 测试人员是作为产品质量的重要把关者.
优秀的测试用例设计能力: 测试用例是测试人员执行测试工作的重要依据.
掌握自动化测试技术, 是中大厂企业中必不可少的技术之一~
五、常见面试题
5.1 选择测试岗位为什么还要学习开发知识?
测试人员也需要进行代码编写, 如自动化测试, 性能测试, 回归测试和开发一些提升测试效率的工具等, 测试人员能够看懂代码, 了解程序框架, 代码中数据的走向等从而能够更好的配合开发人员从代码层次发现问题.
5.2 为什么不走开发岗位而选择测试岗位?
可以从以下几个角度回答:
个人兴趣爱好: 例, 严格把关一个功能齐全(暂时没有问题)的软件上线很有成就感.
谈谈对测试的理解
选择测试为啥还要学习开发知识? 针对上一个问题的回答也可以作为本次问题的回答之一.
5.3 你认为测试和测试开发的区别是什么?
考核点: 测试开发中对测试的理解, 和开发的理解, (测试为主, 开发提升测试效率的工具为辅)
好了,到这里, 【软件测试认知篇】 博主已经分享完了,这只是简单的概念性的理解,希望对大家有所帮助,如有不妥之处欢迎批评指正。
感谢每一位观看本篇文章的朋友,更多精彩敬请期待:保护小周ღ *★,°*:.☆( ̄▽ ̄)/$:*.°★*
遇见你,所有的星星都落在我的头上……