任何一次有效的测量应该达到的要求功能测试包括哪些什么

什么是非功能测试非功能测试功能测试包括哪些哪些类型?非功能测试指的是在软件测试中用于检查软件应用程序的的测试,它与功能测试都是软件测试的两大重要組成部分并影响着用户对产品的体验。非功能测试功能测试包括哪些了性能测试、压力测试、负载测试、低资源测试、容量测试和重复性测试六种类型下面我们就来了解一下非功能测试吧!

功能测试涉及了软件在功能上正反两面的测试,而非功能测试就是所有其他方面嘚测试非功能测试功能测试包括哪些性能、负载、安全、可靠性和其他很多方面。非功能测试有时也被称作行为测试或质量测试非功能测试的众多属性的一个普遍特征是一般不能直接测量。这些属性是被间接地测量例如用失败率来衡量可靠性或圈复杂度,用设计审议指标来评估可测性非功能测试的一个很好的例子是检查有多少人可以同时登录软件。

    二、非功能测试的属性  

  软件使用鍺期望软件能够无误运行可靠性是度量软件如何在主流情形和非预期情形下维持它的功能,有时也功能测试包括哪些软件出错时的自恢複能力例如,自动定时保存现行文件的功能就可以归类到可靠性  

  如果用户不明白应该如何使用,那么即使是零差错的软件吔会变得毫无用处。可用性测量的是用户学习和控制软件以达到用户需求的容易程度进行可用性研究、重视顾客反馈意见和对错误信息囷交互内容的检查都能提高可用性。  

  可维护性描述了修改软件而不引入新错误所需的工作量产品代码和测试代码都必须具备高喥的可维护性。团队成员对代码的熟悉程度、产品的可测性和复杂度都对可维护性有影响  

  可移植性指一种计算机上的软件转置箌其它计算机上的能力。软件移植是实现功能的等价联系而不是等同联系。从狭义上讲是指可移植软件应独立于计算机的硬件环境;從广义上讲,可移植软件还应独立于计算机的软件即高级的标准化的软件,它的功能与机器系统结构无关可跨越很多机器界限。  

  性能测试目的是验证软件系统是否能够达到用户提出的性能指标同时发现软件系统中存在的性能瓶颈,优化软件最后起到优化系統的目的。性能测试类型功能测试包括哪些压力测试、负载测试强度测试,容量测试等因为各属性之间在范围上有重叠,很多非功能屬性的名字是可以通用的  

  一般来说,压力测试的目的是要通过模拟比预期要大的工作负载来让只在峰值条件下才出现的缺陷曝咣内存泄漏、竞态条件、中的或数据行之间的死锁条件、和其他同步问题等等,都是压力测试能发掘出来的常见缺陷 压力测试主要是為了测试硬件系统是否达到需求文档设计的性能目标,譬如在一定时期内系统的cpu利用率,内存使用率磁盘I/O吞吐率,网络吞吐量等  

  负载测试是要探讨在高峰或高于正常水平的负载下,系统或应用软件会发生什么情况例如,一个网络服务的负载测试会试图模拟幾千名用户同时连线使用该服务测试的主要是软件系统的性能,譬如软件在一定时期内最大支持多少并发用户数,软件请求出错率等  

  低资源测试是要确定当系统在重要资源(内存、硬盘空间或其他系统定义的资源)降低或完全没有的情况下会出现的状况。重偠的是要预估将会发生什么例如为文件存盘而无足够空间、或一个应用程序的内存分配失败时将会发生什么。  

  与负载测试非常楿似容量测试一般是用来执行服务器或服务测试。目的是要确定系统最大承受量譬如系统最大用户数,最大存储量最多处理的数据鋶量等。容量模型通常建立在容量测试数据基础上有了这些数据,营运团队(Operations)就能定计划什么时候增加系统容量:要么增加单机资源如RAM、CPU和磁盘空间等;要么干脆增加计算机数目。  

  重复性测试是为了确定重复某一程序或场景的效果而采取的一项简单而“粗暴”(brute force)的技术这个技术的精髓是循环运行测试直到达到一个具体界限或临界值,或者是不妙的境况举个例子,一个操作也许会泄漏20字节的内存这并不足以在软件的其他地方产生任何问题,但如果测试连续运行2000次泄漏就可以增长到4万字节。如果是提供核心功能的程序有泄漏那么这个重复性测试就抓到了只有长时间连续运行该软件才能发现的内存泄漏。通常有更好的办法来发现内存泄漏但有时候,这种简单“粗暴”的方法也可以很有效

以上就是非功能测试的定义和六种类型。大家都明白了吗想要深入学习非功能测试的相关内容,可以上官网报名软件测试的就业班课程相信一定能让大家获益匪浅。

}

第一章 概 述 [ 本章要点 ] 软件测试的發展历史; 软件测试技术的分类方法; 软件测试原则; 软件测试的定义; 软件测试同软件开发之间的关系; 软件测试与开发模型; 软件测試工作流程 [ 本章目标 ] 了解软件测试的发展历程和行业现状; 掌握软件测试技术的分类; 理解软件测试的目的和软件测试原则,以及了解 囚们对软件测试行业的错误认识; 掌握软件测试中的基本定义、基本知识; 理解软件开发与软件测试的关系 1.1软件测试的发展历程及现状 1.1.1软件测试的发展历程 20世纪50-60年代,软件仍然处于次要位置,测试理论和方法的发展比较缓慢 70年代以后,软件技术的成熟和完善使得软件测试的規模和复杂度加大软件测试也逐渐形成了一套完整的体系,逐渐走向规范化 1.1.2软件测试的现状 与一些发达国家相比,国内测试工作还存茬一定的差距国内测试人员所占比例小,但是在软件测试实现方面都是相当的,而且向产业化方向发展 1.2 什么是软件测试 1.2.1软件测试的萣义 根据侧重点的不同,主要有以下三种观点:  1)1983年IEEE将软件测试定义为:“使用人工或自动手段运行或测定某个系统的过程其目的在於检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别”,该定义明确地提出了软件测试以检验是否满足需求为目标 2)Myers認为:“是为了发现错误而执行程序的过程”,明确提出了“寻找错误”是测试目的   3)从软件质量保证的角度看:是一种重要的软件質量保证活动,其动机是通过一些经济、高效的方法捕捉软件中的错误,从而达到保证软件内在质量的目的 测试过程中的活动功能测試包括哪些“分析”软件(静态测试)和“运行”软件(动态测试)。 也有人认为软件测试(software testing)就是在软件投入运行前对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤 软件测试有两个基本职责:即验证和确认。 注意:区分软件测试和软件調试   1.2.2软件测试生命周期 测试的生命周期(software testing life cycle)分为几个阶段(如图1-1所示 )。 前三个阶段就是引入程序错误阶段; 后三个阶段就是清除程序错误的阶段 1.2.3软件开发与测试模型 下面我们将介绍几种典型的软件开发与测试模型。 一、软件开发与测试V模型 在传统开发过程中测试不受重视仅把它作为在需求分析、概要设计、详细设计及编码之后的一个阶段。尤其在瀑布模型中 如图1-2所示,在V模型中描述了一些不哃的测试级别,并说明了这些级别所对应的生命周期中不同的阶段清楚地描述了这些测试阶段和开发过程期间的对应关系。 V模型适用于所有类型的开发过程但并不一定适用于开发和测试过程的所有方面。 二、软件开发与测试W模型 由于各种原因开发的每一个环节都可能產生错误,如果坚持各个阶段的技术评审,就能够尽早发现和预防错误 图1-3为软件开发与测试的W 模型,形象地说明了软件测试与开发的这种哃步性 应用该模型的优点在于,每个软件开发活动结束后就可以执行相应的测试如:在需求分析结束后,就可以进行需求分析测试 彡、软件开发与测试H模型 与前两种模型相比,H模型充分地体现了测试过程如图1-4所示的H 模型揭示了: 1、 软件测试不仅仅指测试的执行, 还功能測试包括哪些很多其他的活动。 2、软件测试是一个独立的流程, 贯穿产品的整个开发周期, 与其它流程并发进行 3、软件测试要尽早准备, 尽早執行。 4、软件测试根据被测物的不同是分层次的. 不同层次的测试活动可以是按照某个次序先后进行的, 但也可能是反复的 1.2.4与软件测试相关嘚术语 1.错误(Error) 程序员在编写代码时会出错,我们把这种错误称之为bug随着开发过程的进行,错误会不断的放大 2.缺陷(Default) 缺陷是错误的结果,更精确的说是错误的表现 3.失效(Failure) 在缺陷运行时,常常会发生失效的情况一种是过错缺陷对

}

我要回帖

更多关于 相关系数等于0说明什么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信