2019-10-20 15:42:57

第三方测试 免费编辑 添加义项名

B 添加义项
?
义项指多义词的不同概念,如李娜的义项:网球运动员、歌手等;非诚勿扰的义项:冯小刚执导电影、江苏卫视交友节目等。 查看详细规范>>
所属类别 :
其他
其他
编辑分类

第三方测试有别于开发人员或用户进行的测试,其目的是为了保证测试工作的客观性。从国外的经验来看,测试逐渐由专业的第三方承担。同时第三方测试还可适当兼顾初级监理的功能,其自身具有明显的工程特性,为发展软件工程监理制奠定坚实的基础。第三方测试工程主要包括需求分析审查、设计审查、代码审查、单元测试功能测试性能测试、可恢复性测试、资源消耗测试、并发测试、健壮性测试安全测试、安装配置测试、可移植性测试、文档测试以及最终的验收测试等十余项。

5
本词条 百科名片缺少图片, 欢迎各位 编辑词条,额外获取5个金币。

基本信息

  • 中文名

    第三方测试

  • 有别于

    开发人员或用户进行的测试

  • 目的

    为了保证测试工作的客观性

  • 类型

    对软件企业的CMM评估认证等

折叠 编辑本段 概述

测试并不仅仅是为了要找出错误。测试方还需要对错误进行归类和总结,通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进,更好地帮助用户。根据软件工程的要求,测试工作应贯穿开发的全过程,如右图所示。

从测试流程中可以看出,编码和单元测试基本上属于程序的调试,一般由开发方自己进行。作为第三方测试,定位在系统测试集成测试最为有效。但是,为了得到高质量的软件,第三方也要适当介入编码与单元测试,能够更好地保证测试的有效性、准确性和可信性。

测试评估是软件测试的一个阶段性的结论,用所生成的测试评估报告,来确定测试是否达到完全和成功的标准。在测度评估阶段向用户提供强有力的支持,包括通过测试报告,验证测试结果是否符合测试计划中制定的测试标准;根据缺陷报告提供的测试结果数据,给出软件质量和测试完整性的评估报告;特别在以下几方面对测试的过程进行评测:

(1)评估测试用例覆盖:测试的目标是确保100%的测试用例全部成功地执行。如果这个目标可行或不可能达到,则要根据不同的情况制定不同的测试覆盖标准。主要考虑风险和严重性、可接受的覆盖百分比。

(2)评估代码覆盖:需要断定测试目标期望的总的测试代码行数,在测试中真正执行的代码行数及其百分比,将此结果记录在测试评估报告中。

(3)分析缺陷:对缺陷进行分析,应遵照缺陷分析策略中制定的分析标准。

最常用的缺陷分析标准有三种:缺陷分布--缺陷数量作为随缺陷属性变化的函数(如状态和级别);缺陷趋势--缺陷数量作为以时间为条件的函数;缺陷滞留--特殊的缺陷密度报告,缺陷数量与缺陷在某一状态保留的时间长短有关。

(4)确定测试是否达到完全和成功的标准在此阶段将判定测试是否已达到完全并可接受,生成测试结果报告。

折叠 编辑本段 作用

第三方测试以合同的形式制约了测试方,使得它与开发方存在某种'对立'的关系,所以它不会刻意维护开发方的利益,保证了测试工作在一开始就具有客观性。第三方一般都不直接参加开发方系统的设计和编程,为了能够深入理解系统,发现系统中存在得问题,第三方测试必须按软件工程的要求办事,以软件工程的标准要求开发方和用户进行配合,从而较好地体现软件工程的理念。引入第三方测试后,由于测试方相对的客观位置,由用户、开发方、测试方三方组成的三角关系也便于处理以往用户、开发方双方纠缠不清的矛盾,使得许多问题能得到比较客观的处理。

第三方测试不同于开发方的自测试。由开发人员承担的测试存在很多弊病,除去自身利益驱使带来的问题外,还有许多不客观的毛病,主要表现在思维的定势上。由于他熟悉设计和编程等,往往习惯于按一定的"程式"考虑问题,以至思路比较局限,难于发现"程式"外存在的问题。因为第三方测试的目的就是为尽量多地发现程序中的错误而运行程序的过程,可以更多的发现问题。此外,随着系统越做越大,客观上讲开发人员也无精力参与测试,同时也不符合大生产专业分工的原则。

第三方测试不同于用户的自测试。用户是应用软件需求的提出者,对于软件应该完成的功能是非常清楚的,是进行功能验证的最佳人选。客观情况是,大部分的用户都不是计算机的专业人士,很难对系统的内部实现过程进行深入的分析。对系统的全面测试,功能测试仅仅是一个方面,还要包括并发能力、性能等多种技术测试。这些测试对技术有很高的要求,必须由计算机的专业人员才能完成。

第三方测试一般还兼顾初级监理的职能,不但要对应用进行各种测试,还进行需求分析的评审、设计评审、用户类文档的评审等,这些工作对用户进行系统的验收以及推广应用都非常有意义。

折叠 编辑本段 组织管理

在测试的过程中,用户、开发方与测试方形成了一个三角关系,从最终目标来讲,三方是完全一致的,都是希望保证系统稳定运行。但在测试过程中,三方的关系却是既对立又合作。对立是指各自坚持自己的职责,合作是指每一方的工作都需要其它两方的支持和帮助。

为了保证测试的顺利进行,测试方必须强化内部的组织管理。根据我们的经验,完整的测试机构必须包括业务分析部门、技术支持部门、规划设计部门和综合后勤部门。例如在中国现代化支付系统第三方测试项目当中,信息化工程总体研究中心的人员分工大致是:部分人员专攻支付业务,部分人员专攻技术支持,部分人员负责测试规划与综合案例的设计,部分人员负责现场情景调度,部分人员从事案例的细化与运行。测试结果表明,总体上达到了各司其职、忙而有序。

折叠 编辑本段 分类

根据软件的特性,第三方软件测试工程可划分为三种类型五个层次。

折叠 三种类型:

1、系统软件、环境软件和各类工具软件等的测评。这类软件多作为计算机的环境或作 "公用" 支撑软件,产品类型多、市场销量大、生产厂商多,产品的特点大都有企业、甚至国际的产品质量标准,用户选择使用时大都希望进行产品功能、性能的对比测试;对于这类软件的评测重点是软件产品的功能、性能和特点评测。

2、面向应用软件系统的测评。这类软件,具有很强的行业应用特性,往往是要由用户与开发商签定项目合同,开发商负责开发,用户负责验收。对这类软件的评测,根据用户对第三方的依赖程度,又可分为两个层次。

承担该类软件质量监理评测的第三方,承担软件过程质量监理的责任,在软件生命周期过程中,从软件定义开始,要对软件过程从质量保证角度进行规范化的监督、管理和控制。评测工作不仅包括软件生命周期各阶段的评审,而且还要对程序系统,进行包括模块白盒测试在内的系统集成、系统验收等测试。山东省软件评测中心在长期从事第三方测试的实践中总结出:第三方实际上是软件业主授权的初级的软件工程监理。

3、是对软件企业的CMM评估认证,也是最高层次的软件评测

折叠 五个层次:

山东省软件评测中心提出,第三方测试应该贯穿项目开发的全过程。对编制的程序进行集成测试、系统测试、模拟测试、验收测试,可以及时发现项目实施过程中存在的问题及其缺陷,尽早提出修改和完善的可行方法及措施,从而促进项目按预定的进度、质量要求顺利实施。常见的分类方式将其划分为五个层次:

1、单元测试:单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。

2、集成测试:集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。

3、系统测试:系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的 " 先知者问题 " 。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。

4、验收测试:验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。

5、回归测试:回归测试是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。这里,修改的正确性有两重含义:一是所作的修改达到了预定目的,如错误得到改正,能够适应新的运行环境等等;二是不影响软件的其他功能的正确性。

阅读全文

热点资讯