在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
什么是非功能测试?非功能测试包括哪些类型?非功能测试指的是在软件测试中,用于检查软件应用程序的的测试,它与功能测试都是软件测试的两大重要组成部分,并影响着用户对产品的体验。非功能测试包括了性能测试、压力测试、负载测试、低资源测试、容量测试和重复性测试六种类型。下面我们就来了解一下非功能测试吧!

一、非功能测试的定义
功能测试涉及了软件在功能上正反两面的测试,而非功能测试就是所有其他方面的测试。非功能测试包括性能、负载、安全、可靠性和其他很多方面。非功能测试有时也被称作行为测试或质量测试。非功能测试的众多属性的一个普遍特征是一般不能直接测量。这些属性是被间接地测量,例如用失败率来衡量可靠性或圈复杂度,用设计审议指标来评估可测性。非功能测试的一个很好的例子是检查有多少人可以同时登录软件。
二、非功能测试的属性
1、可靠性
软件使用者期望软件能够无误运行。可靠性是度量软件如何在主流情形和非预期情形下维持它的功能,有时也包括软件出错时的自恢复能力。例如,自动定时保存现行文件的功能就可以归类到可靠性。
2、可用性
如果用户不明白应该如何使用,那么,即使是零差错的软件也会变得毫无用处。可用性测量的是用户学习和控制软件以达到用户需求的容易程度。进行可用性研究、重视顾客反馈意见和对错误信息和交互内容的检查都能提高可用性。
3、可维护性
可维护性描述了修改软件而不引入新错误所需的工作量。产品代码和测试代码都必须具备高度的可维护性。团队成员对代码的熟悉程度、产品的可测性和复杂度都对可维护性有影响。
4、可移植性
可移植性指一种计算机上的软件转置到其它计算机上的能力。软件移植是实现功能的等价联系,而不是等同联系。从狭义上讲,是指可移植软件应独立于计算机的硬件环境;从广义上讲,可移植软件还应独立于计算机的软件,即高级的标准化的软件,它的功能与机器系统结构无关,可跨越很多机器界限。
三、非功能测试的类型
1、性能测试
性能测试目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,最后起到优化系统的目的。性能测试类型包括压力测试、负载测试,强度测试,容量测试等。因为各属性之间在范围上有重叠,很多非功能属性的名字是可以通用的。
2、压力测试
一般来说,压力测试的目的是要通过模拟比预期要大的工作负载来让只在峰值条件下才出现的缺陷曝光。内存泄漏、竞态条件、数据库中的线程或数据行之间的死锁条件、和其他同步问题等等,都是压力测试能发掘出来的常见缺陷。 压力测试主要是为了测试硬件系统是否达到需求文档设计的性能目标,譬如在一定时期内,系统的cpu利用率,内存使用率,磁盘I/O吞吐率,网络吞吐量等。
3、负载测试
负载测试是要探讨在高峰或高于正常水平的负载下,系统或应用软件会发生什么情况。例如,一个网络服务的负载测试会试图模拟几千名用户同时连线使用该服务。测试的主要是软件系统的性能,譬如软件在一定时期内,最大支持多少并发用户数,软件请求出错率等。
4、低资源测试
低资源测试是要确定当系统在重要资源(内存、硬盘空间或其他系统定义的资源)降低或完全没有的情况下会出现的状况。重要的是要预估将会发生什么,例如为文件存盘而无足够空间、或一个应用程序的内存分配失败时将会发生什么。
5、容量测试
与负载测试非常相似,容量测试一般是用来执行服务器或服务测试。目的是要确定系统最大承受量,譬如系统最大用户数,最大存储量,最多处理的数据流量等。容量模型通常建立在容量测试数据基础上。有了这些数据,营运团队(Operations)就能定计划什么时候增加系统容量:要么增加单机资源,如RAM、CPU和磁盘空间等;要么干脆增加计算机数目。
6、重复性测试
重复性测试是为了确定重复某一程序或场景的效果而采取的一项简单而“粗暴”(brute force)的技术。这个技术的精髓是循环运行测试直到达到一个具体界限或临界值,或者是不妙的境况。举个例子,一个操作也许会泄漏20字节的内存。这并不足以在软件的其他地方产生任何问题,但如果测试连续运行2000次,泄漏就可以增长到4万字节。如果是提供核心功能的程序有泄漏,那么这个重复性测试就抓到了只有长时间连续运行该软件才能发现的内存泄漏。通常有更好的办法来发现内存泄漏,但有时候,这种简单“粗暴”的方法也可以很有效。
以上就是非功能测试的定义和六种类型。大家都明白了吗?想要深入学习非功能测试的相关内容,可以上博学谷官网报名软件测试的就业班课程,相信一定能让大家获益匪浅。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
女生做软件测试累吗?需要加班的时间多吗?
女生做软件测试累吗?加班多吗?其实回答这样的问题要看具体情况。就目前的普遍情况分析,互联网公司的测试岗位都避免不了加班这个问题,但是这个加班频率和时间一般与项目大小有关。而且公司也会安排调休或者是给加班费补助,因此这个岗位也没有大家想象的辛苦。而且对于女生来讲,软件测试岗位比开发岗位课轻松太多了,薪资待遇也不差,工作内容也更加适合女生,这也是为什么现在做软件测试女生比例增长的原因。
11059
2019-11-04 10:38:14
软件测试学习网站有哪些?
软件测试学习网站:目前CSDN、博客园、知乎、简书上面有一些优秀的软件测试从业者的博客,会分享软件测试学习的相关知识,今天小编给大家分享一下国外的一些网站,供大家参考学习,英文网站需要大家有一定的英语基础。
10787
2019-11-13 16:42:25
软件测试培训哪里好?怎么选择?
软件测试行业发展比较快,测试人才缺口大。软件企业要靠软件产品的质量去占领市场,没有测试人员进行前期测试、产品存在严重缺陷,产品得不到大众的认可,测试岗位在IT行业中不可或缺。选择软件测试行业,那么零基础想要学习软件测试技术,参加软件测试培训是一条捷径。
4834
2020-05-26 15:21:26
Newman的使用讲解
Newman是postman命令行集成工具,使用Newman可以在命令行中运行postman的脚本,方便与Jenkins等CI&CD工具集成使用,今天我们来看看Newman的使用讲解,主要内容包括Newman的安装、基本使用、常用运行参数、生成报告等等。
6211
2020-06-23 11:01:11
软件测试方法和技术知识点有哪些?
软件测试是软件开发过程的重要组成部分,用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试人员要寻找Bug,避免软件开发过程中的缺陷,衡量软件的品质,关注用户的需求,总的目标确保软件的质量。
4067
2021-02-26 10:44:51
