刚刚入门软件测试的宝子,可能经常会看到:功能测试、性能测试,这些到底是什么呀?那我就带大家了解一下~
一、定义
- 功能测试
功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。功能测试也叫黑盒测试,只需要考虑测试各个功能是否实现,比如游戏的功能测试,首先测试游戏的各个功能是否符合需求,就是各个功能是否能正常使用,这也叫正向的测试。
然后各个功能的反向测试,就是不按照使用说明书来使用,看看会不会出现预计外的问题,总的来说就是按照需求编写出来的测试用例,输入数据在预期结果和实际结果之间进行评测,进而提出更加使产品达到用户使用的要求。
- 性能测试
性能测试是通过自动化的测试工具模拟多种正常,峰值以及异常负载条件来对系统的各项性能指标进行测试。必须是使用测试工具,手动很难进行性能测试。举个简单的例子,一个网站,我模拟很多人访问操作,测试多少人访问的时候,网站反应会变慢,这就是负载测试。测试多少人访问,网站会崩溃,这就是压力测试。
二、功能测试与性能测试的区别
1、这两者的区别就是一个关注功能是否有问题,一个关注除功能是否有问题外,用户是否用的流畅,用户的体验是否良好。
功能测试和性能测试都属于软件测试,在软件测试中,功能测试是属于基本的测试,功能测试是一个测试人员入行的基本技能,功能测试可以使用手工去测试,也可以使用编写程序去测试软件,也就是自动化测试。
性能测试在测试中属于偏高级的了,需要测试人员有几年的工作经验,测试技术要有一定的深度,其他IT技术有一定的广度才的做好性能测试
2、这两者从测试领域中来区别是:功能测试偏基础,属于入行的基本技能,性能测试在测试领域中属于高级测试,需要一定工作经验。
最后我们来讲一下,功能测试和性能测试在市场上的需求,功能测试因为是基础的测试,市场需求量很大,从业人员也很多,因为简单,易学,易上手。薪资在一线城市就是6,7K,如果加上难一点的就加上自动化测试,薪资水平在一线城市有10k左右。性能测试在市场的需求量也很大,但没有功能测试那么多,因为贵,也因为要胜任的条件比较难一点,所以精通性能测试的人员市场上不是很多,薪资一般都有30k以上。
3、这两者在市场需求方面的区别是:功能测试需求量大,从业人员也大,相对于性能测试来说有竞争,薪资还可以。性能测试需求量相对于功能测试来说小一点,但薪资高,学习难度大。
三、性能测试如何学习
想搞性能测试,要学什么东西?
2006年我还在读书的时候,学校里的软件质量课程里,老师跟我们讲“用win runner做性能测试”。2008年我毕业进第一家公司的时候,公司里的培训老师跟我讲,“用load runner做性能测试“。2011年,我在另一家公司做接口测试的时候,我们用soapUI做功能测试,soapUI的公司的网站上跟我讲,“用loadUI做性能测试”。2012年,我在自学的时候又网上看到了“用jmeter做性能测试”。而后来,gatling,grinder,locust,tsung,工具多得数不胜数。那么,我早就想问了,性能测试就是使用这些测试工具吗?
搞性能测试,并不只是搞搞工具
性能测试最需要的东西,不在于工具,而在于对整个待测系统的理解。首先要理解整个待测系统它的软件架构,硬件架构,网络架构,理解它是如何运行的。它由哪些部分组成,各个部分之间是怎样交互的。用户怎样使用这个系统。在理解系统的基础上,我们可以得出系统的各个部分的性能要求是怎样。也就是性能需求。
而测试的过程也就是验证和探索这些性能需求。
为各种性能需求设计测试场景,再编写测试脚本,执行测试脚本,汇总测试结果,再分析测试结果,进行调优,再重复测试与调优,最后产出测试报告。指明系统是否符合性能需求,哪里还达不到要求。
这其中,跟性能测试工具有关的,只有“编写测试脚本,执行测试脚本”。其他的所有步骤需要的是:计算机科学与技术的各方面综合知识、对业务的理解、对待测系统技术实现的理解。至于性能测试的工具,我们可以选用开源工具,也可以选择自己开发工具。当我们全盘理解性能测试之后,就可以针对具体的需求开发性能测试工具来解决各种实际问题。注意自己开发的性能测试工具与开源工具的区别:自己开发的工具可以很有针对性,而开源工具需要考虑兼容性与普适性。两者的开发重点完全不同。开源工具以推广这个工具为目标,而自己写的工具以最快/最经济解决实际问题为目标。
搞性能测试,如何入门
说了这么多,性能测试到底要如何入门呢。
一方面,工具仍旧是要的,建议使用jmeter等开源工具作为入门学习的工具。照着用户手册操作一遍,花个几天时间就能上手。
更重要的另一方面,我们需要理解性能测试的原理,做性能测试的基本步骤,场景设计的基本策略。不知道这些,光拿个工具,有什么用呢。现实业务千变万化,往往需要测的东西,并不是那么简单拿个工具随便搞搞就能搞好的东西。
一、什么是性能测试?
通俗来说:利用性能测试工具或者代码对系统的相关性能指标进行的测试,用来评估系统的性能
二、为什么做性能测试?
性能测试是互联网+企业的“刚需”
企业规模越大,性能瓶颈越明显,性能测试至关重要!
性能挑战:
业务复杂度提升
数据级日渐庞大
实时性要求提高
并发压力越来越高
应用面越来越广
三、功能测试与性能测试
四、怎么做性能测试?
只测试不调优=“只查病不治病”
性能测试工具≠性能测试
性能测试≠用户并发测试
提高硬件配置≠提高性能
性能测试≠只录制脚本,不编写脚本
五、岗位定级
以我之前性能团队Leada时候的经历来说,对性能岗位的定级,大概是按照如下内容划分:
如上定级和岗位职责描述,稍显粗略,每一级都默认具有上一级的职责和能力。
六、性能测试流程
七、对测试工程师的要求
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
面试资料
我们学习软件测试必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
上面是我整理的配套资源,这些资源对于软件测试的的朋友来说应该是最全面最完整的备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。
今天的文章5年经验之谈 —— 功能测试和性能测试的区别是什么?分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/84599.html