《测海试山录之识微知著篇》
目录
一、前言
二、正文
1、什么是测试
1.1 ⽣活中的测试场景
1.2 为什么需要软件测试
1.3 软件测试定义
2、测试的岗位有哪些编辑
3、软件测试和开发的区别
3.1. 工作内容编辑
3.2 难易程度上
3.3 工作环境
3.4 薪水
3.5 其他不同
4、优秀的软件测试⼈员具备的素质
4.1 综合能力
4.2 掌握自动化测试技术
4.3 测试⽤例的设计能⼒
4.4 探索性思维
4.5 兴趣
4.6 责任感和压⼒
三、结语
一、前言
本文将为大家带来测试的学习,希望小伙伴们能够从中有所收获!!!
什么是测试
测试的岗位有哪些
软件测试和开发的区别
优秀的测试⼈员需要具备的素质
二、正文
1、什么是测试
测试在⽣活中处处可⻅。
1.1 ⽣活中的测试场景
案例一:举⼀个⽇常⽣活案例,商场买⾐服,买⾐服的整个过程中都伴随着测试⾏为
外观测试:初筛选,⾛进⻔店,先挑⾐服,测试是否存在符合个⼈审美的⾐服
试穿测试:选择尺码,测试试穿之后⾐服对个⼈的外观是否有提升
⾯料测试:纯棉、涤纶、布料….
价格测试:询价,⼼理预期是300以下
购买⾐服,交易完成
案例二:对某款购物软件进⾏测试
启动测试:点击软件图标,测试软件是否可以正常打开
搜索测试:点击输⼊框,输⼊关键词,点击搜索
商品测试:点击商品进⼊详情⻚
购物测试:点击购买下单成功 ……
案例三:对⼀个JAVA程序进⾏测试
测试代码逻辑是否符合预期:
a=1,b=2,返回的c是否等于3
a=1,b=-2,返回的c是否等于-1
a=-1,b=2,返回的c是否等于1
a=-1,b=-2,返回的c是否等于-3
……
由此可⻅,测试不仅在⽇常⽣活中以及学习中都处处可⻅。
1.2 为什么需要软件测试
企业为何需要招聘⼤量的测试⼈员呢?
企业最终的⽬的是“盈利”,互联⽹企业借助软件/系统来跟⽤⼾交互从⽽获得盈利,也就是说企业的 受众群体主要是⼴⼤的使⽤⽤⼾,⽽⽤⼾的使⽤感受将直接影响企业的盈利,若产品质量太差将导致 ⼤量⽤⼾的流失,所以企业⾮常重视测试。
1.3 软件测试定义
软件测试就是验证软件产品特性是否满足用户的需求。
2、测试的岗位有哪些
测试的岗位主要分为以下两个⽅⾯:
① 软件测试开发⼯程师
⼯作重⼼为可测试性以及通⽤测试基础框架。编写单元测试框架和⾃动化测试框架。软件测试开发⼯程师关注质量提升和测试覆盖率。
② 测试⼯程师
与软件测试开发⼯程师关系密切,但把⽤⼾放在第⼀位来思考。测试⼯程师组织整体测试实践,并进⾏分析总结,驱动测试执⾏,构建端到端的⾃动化测试。
我们往往会在一些招聘网站上看到各种各样的测试名称,形如:不同的企业对于测试的命名不同,不管是测试⼯程师、功能测试、移动端测试、客⼾端测试等等都是 测试岗位,性质要么是测试⼯程师,要么是测试开发⼯程师。
③ 软件测试开发工程师和测试工程师的区别
相同点:
1.都统称为测试⼈员
2.对产品质量负责,保障产品的质量
不同点:
测试开发⽐测试多“开发”⼆字,⽽这个开发并不是指业务开发,因为业务开发是开发⼈员的主要职责,这⾥的开发指的是需要开发测试效率⼯具,通过效率⼯具来提升测试效率和测试质量,⽐如我们的⾃动化、性能测试等就属于效率⼯具
3、软件测试和开发的区别
3.1. 工作内容
3.2 难易程度上
开发:
应届⽣要求掌握语⾔基础、开发框架、数据库、 数据结构、Linux等课程
在职⼈员还需掌握更多中间件如:Redis、 rabbitMQ、ES等
要求掌握以上技术并能运⽤在代码开发中
测试:
应届⽣要求掌握语⾔基础、开发框架、数据库、 数据结构、Linux等课程
掌握测试技能:测试概念、设计测试⽤例、执⾏ 测试等
在职⼈员还需掌握更多中间件如:Redis、 rabbitMQ、ES等
总结:开发⼴度⼩,专业度⾼。测试⼴度⼤,专业度相对较低,⼤型互联⽹企业对测试⼈员的专业要 求可能跟开发差不多
3.3 工作环境
很多公司,测试⼈员和开发⼈员都是坐在⼀个办公楼层的不同区域,所以他们的⼯作环境,⼯作设备基本都是⼀样的
3.4 薪水
中⼩企业总体⽐研发低,⾃动化等专业测试和研发基本⽆差距。⼤⼚研发测试薪资基本⽆差别
3.5 其他不同
测试⼈员经常会进⾏测试动作,⽽开发⼈员进⾏进⾏调试动作,调试和测试是同⼀个含义吗?
维度 | 调试 | 测试 |
⽬的 | 调试的任务是定位并且解决程序中的问题 | 测试的任务是发现程序中的缺陷 |
参与⻆⾊ | 主要由开发⼈员完成 | 测试主要是由测试⼈员和开发⼈员来执⾏, ⿊盒测试主要由测试⼈员完成、单元/集成测 试主要是由开发⼈员执⾏ |
执⾏阶段 | 开发阶段 | 测试贯穿整个软件开发⽣命周期 |
那么讲到这里,肯定有人会问⾛测试岗位为什么还要学习开发知识?
1)测试⼈员也需要编写代码,如⾃动化测试、性能测试、开发测试效率⼯具等。测试⼈员 需要能够看懂代码、了解开发框架。
2)学好开发知识能够提⾼软件测试质量。通过查看代码中数据的⾛向能够更好的从代码层 ⾯去发现问题。
4、优秀的软件测试⼈员具备的素质
4.1 综合能力
●沟通能力
测试⼯程师的沟通能⼒会直接影响⼯作开展的效率。良好的沟通能⼒是测试⼯程师获得更好发展 的“敲⻔砖”(⾯试、⼯作都需要沟通) ⾯试的时候,有些人就存在明明知道是什么,却怎么都表达不出来或者表达不清楚,导致⾯试评价⽐较差。
●快速学习能力
对不同的业务需求和功能的快速学习和理解能⼒。
未来可能有的人都会经历跳槽,不同的公司,业务不⼀样,所以测试⼈员需要具备快速学习业务的能⼒ 对于测试新技术和新⽅法的学习能⼒计算机⾏业发展迅速,每⼀个技术⼈员需要时刻保持⼀个学习新技术的能⼒,不断提升⾃⼰,从⽽适应业界的需求
对不同语⾔的快速学习能⼒,大多数人在⼯作之前基本掌握⼀到两⻔语⾔,基本都掌握C、C++或者C、JAVA。 然后实际在⼯作中,可能需要接触其他的语⾔,⽐如PHP、GO、Python等。
●开发能力
测试⼈员除了保障项⽬质量之外,也需要针对当前业务开发效率⼯具,来提升测试效率和质量。 如⾃动化、性能测试等就是效率⼯具。
●文字能力
测试⼈员除了保障项⽬质量之外,也需要针对当前业务开发效率⼯具,来提升测试效率和质量。 如⾃动化、性能测试等就是效率⼯具。
4.2 掌握自动化测试技术
⾃动化测试技术在测试领域中占有举⾜轻重的地位,掌握⾃动化测试技术,可以将测试⼈员从⼤量重 复性的⼿⼯劳动中解放出来,这样可以把更多的精⼒花在更多类型的测试
浅浅认识⼀下⾃动化 经常听到⾃动化⼀词,到底什么是⾃动化呢?
● 在⽇常⽣活中,⾃动洗⼿液的出现,避免了⼈们按压瓶⼦动作,在疫情阶段使⽤⾃动洗⼿液有效减少 了交叉感染的⻛险。
● 在农业上,⾃动洒⽔器的出现,⼤⾯积的⼟地也能够实现快速、均匀的洒⽔。
● 在交通上,交通灯的出现。使得交通有序进⾏,极⼤减少了堵⻋或其他事故的概率。
● 在测试中,我们常常会⻅到接⼝⾃动化、UI⾃动化(web⾃动化、移动端⾃动化),接⼝⾃动化能够 ⾃动的去请求接⼝并校验接⼝返回属性是否符合预期结果;UI⾃动化能够⾃动在界⾯或者移动端上 模拟⼈的⾏为进⾏操作,并检查元素和操作等是否符合预期结果。
4.3 测试⽤例的设计能⼒
测试⽤例设计能⼒是指,⽆论对于什么类型的测试,都能够设计出⾼效地发现缺陷,保证产品质量的优秀测试⽤例。
1.掌握设计测试⽤例的⽅法
2.阅读好的测试⽤例设计案例
3.多写多练,积累,总结
4.4 探索性思维
测试⼯程师在执⾏测试的过程中不断学习被测系统,结合⾃⼰的经验,知识,直觉,进⾏系统的错误 猜测和逻辑推理,整理和分析出更多有针对性的的测试关注点。探索性思维的质量取决于测试⼈员的经验。
⽣活中有很多要做的事情都需要⼈们具备探索性思维。
⽐如炒菜,油温的⼤⼩控制,⽕候⼤⼩的控制,调味品量的控制都⾮常考验厨师的探索性思维。炒的好那叫菜,炒的不好那就是放毒了……
4.5 兴趣
兴趣是就业择岗的重要因素之⼀,选择了但是仍然对个⼈的⼯作性质不感兴趣,可想⽽知,这样的选择也不会⾛的太远。
4.6 责任感和压⼒
● 责任感是任何⼯作的都需要的,对于测试⼯作者⽽⾔:
● 测试往往是产品质量的最后的把关者;由于测试⼯作成效很难衡量,测试⽤例执⾏、bug数⽬的多少 都⽆法说明产品的质量是否合格;虽然在敏捷模型中团队中每个⼈都需要对产品质量负责,但是产品 的测试质量是跟测试⼈员那密切相关的。所以,责任感是最重要的测试必备素质之⼀。
● 压⼒,测试⼯作者,特别是属于互联⽹⾏业需要能够抗住各种压⼒
三、结语
到此为止,本文关于认识测试的内容到此结束了,如有不足之处,欢迎小伙伴们指出呀!
关注我 _麦麦_分享更多干货:_麦麦_-CSDN博客
大家的「关注❤️ + 点赞👍 + 收藏⭐」就是我创作的最大动力!谢谢大家的支持,我们下期见!
作者:_麦麦_