刚刚入门软件测试的宝子,可能经常会看到:功能测试、性能测试,这些到底是什么呀?那我就带大家了解一下~

一、定义

  • 功能测试

功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。功能测试也叫黑盒测试,只需要考虑测试各个功能是否实现,比如游戏的功能测试,首先测试游戏的各个功能是否符合需求,就是各个功能是否能正常使用,这也叫正向的测试。

然后各个功能的反向测试,就是不按照使用说明书来使用,看看会不会出现预计外的问题,总的来说就是按照需求编写出来的测试用例,输入数据在预期结果和实际结果之间进行评测,进而提出更加使产品达到用户使用的要求。

  • 性能测试

性能测试是通过自动化的测试工具模拟多种正常,峰值以及异常负载条件来对系统的各项性能指标进行测试。必须是使用测试工具,手动很难进行性能测试。举个简单的例子,一个网站,我模拟很多人访问操作,测试多少人访问的时候,网站反应会变慢,这就是负载测试。测试多少人访问,网站会崩溃,这就是压力测试。

二、功能测试与性能测试的区别

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年经验之谈 —— 功能测试和性能测试的区别是什么?相关推荐

  1. 阿里总监详谈:功能测试与性能测试到底有什么区别?

    各位小伙伴,大家好,今天给大家带来的是功能测试与性能测试的区别.我们分别从内容,测试领域的作用和市场需求三个方面来细说功能测试与性能测试的区别. 首先说功能测试 功能测试就是对产品的各功能进行验证,根 ...

  2. 系统测试(功能测试、性能测试)

    系统测试 系统测试的概念 是将已经集成好的软件系统,作为整个计算机系统的一个元素,与计算机硬件.外设.某些支持软件.数据和人员等其他系统元素结合在一起,在实际运行(使用)环境下,对计算机系统进行系列的 ...

  3. 功能测试与性能测试常见方法

    功能测试与性能测试 功能测试方法 GUI测试 冒烟测试 回归测试 兼容性测试 易用性测试 安全测试 性能测试方法 性能测试 负载测试 压力测试 容量测试 并发测试 可靠性测试 配置测试 功能测试方法 ...

  4. 软件测试的功能测试和性能测试,软件测试中的功能测试和性能测试

    软件测试中的功能测试和性能测试 发表于:2011-06-13来源:未知作者:娃娃点击数: 软件测试中的功能测试和性能测试一 首先先说功能测试. 1.功能测试的定义:是黑盒测试的一部分.它检查实际软件功 ...

  5. 功能测试VS性能测试

    一.功能测试VS性能测试 1.功能测试: QQ 软件   发信息的功能  能不能接收信息 12306购票系统  购票功能  能不能订购成功  如果失败 要有相对应的提示信息 性能测试:时间(快,慢), ...

  6. 智能手机相机测试中的功能测试和性能测试

    相机测试分两部分: 1.功能部分 2.性能部分(包括响应时间,主观测试和客观测试) 功能测试: 1.基本功能测试.就是每个菜单及每一个功能用一遍,主要菜单,在测试时,等级要定高一点,比较偏的菜单,等级 ...

  7. 谈谈功能测试、性能测试、自动化测试区别

    1.功能测试 根据产品特性.操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求. 功能测试又称为黑盒测试,是把测试对象看作一个黑盒子.利用黑盒测试法进行动态测试时,需要测试软件产 ...

  8. 从功能测试到性能测试的转型之路

    引子 以下内容选自<小强软件测试疯狂讲义>一书 正文 在测试行业也有两年了,两年的时间对于一个人的职业生涯来说不算长.但是从职业发展的角度来看,这两年却是非常重要的.有的人抓住这两年的机会 ...

  9. 文件上传功能测试、性能测试解决方案(含Jmeter配置及加压参数分析)

    一.背景和测试用例 上传是每个系统非常常见的功能,但是多半时候开发.测试容易忽略很多细节,测试虽不可穷尽,但前人踩过的坑.我们踩过的坑,坚决不能再出第二次.看到一篇博客考虑的很全面,拿来主义了,感谢博 ...

最新文章

  1. 中使用mysql连接失败_如何在命令行下使用 MySQL 连接数据库不用每次都输入密码?...
  2. 一个页面区分管理者和普通用户如何设计_电商系统:优惠券原型设计说明(二)...
  3. cisco MST配置
  4. 小程序webview不全屏_小程序不在小(深度)
  5. 删除 Tomcat 上次关闭遗留下来的 SESSION 缓存
  6. WPS关于尾注的细节
  7. 机试题:地图定位、拍照并显示、录制视频并播放
  8. 【机器学习算法应用和学习_1】1.1 机器学习框架
  9. 做底层 AI 框架和做上层 AI 应用,哪个对自己的学术水平(或综合能力)促进更大?...
  10. 【扩频通信】基于matlab扩频通信系统仿真【含Matlab源码 968期】
  11. Builder模式创建pojo类
  12. 验证注册页面信息(JavaScript)
  13. RTE 2020第二批嘉宾公布 教育+社交+IoT行业大咖参会
  14. DeepFM算法详解-推荐算法中的皇冠
  15. 治愈系英语笔记-1-特殊疑问句
  16. win服务器物理内存占用高,win10系统长时间使用物理内存过高的解决方法
  17. 基于LVM的磁盘管理
  18. Python、Java、Scala、Go Package对照表
  19. 使用echarts简单制作省份地图
  20. API `getFileSystemManager` is not yet implemented uni-app 图片转码解决方法

热门文章

  1. 实时语义分割之ICNet
  2. C语言程序设计:one two=3,程序设计基础(C语言)
  3. 华为荣耀系列手机无法查看logcat
  4. 【SLAM十四讲】一到十四讲内容大致速通(更新至第二讲)
  5. 3.2 Matplotlib Bar 柱状图
  6. 小米游戏电视ES Pro 90 评测
  7. easy ui 中动态TreeGrid的使用
  8. AutoML全面解析@Qing
  9. 为什么越来越多的企业选择云计算?
  10. QQ登录Banner之清明概念