测试常见术语与名词解释
软件测试中除了根据测试用例和测试说明书进行测 试外,还需要进行随机测试(Ad-hoctesting),主要是根据 测试者的经验对软件进行功能和性能抽查。 测试数据是随机产生的,在测试用例之外。只能作 为一个测试的补充。 随机测试的缺点: 1、测试往往不太真实 2、不能达到一定的覆盖率 3、许多测试都是冗余的 4、需要使用同样的随机数种子才能重建测试
通过模拟多个用户并发访问,测试多用户同时访问同一应 用、模块或数据,观察系统是否存在死锁,系统处理速 度明显下降等其它的一些性能问题。
是当系统在一定的业务压力下,让系统持续运行一段时间, 看系统是否达到我们要求的稳定性,这里强调在一定业 务压力下持续运行的能力,一定都会有一个明确的要求, 例如:持续运行多少天系统不能出现问题 。
功能测试:测试软件系统的功能是否正确,其依据是《产品需求规格 说明书》。由于正确性是软件最重要的质量因素,所以功能测试必 不可少。 性能测试:测试软件系统处理事物的速度,一是为了检测性能是否合乎 需求,二是为了得到某些性能数据以供参考。
健壮性测试:测试软件在异常情况下能否正常运行的能力,健壮性有两 层含义:一是容错能力,二是恢复能力。 用户界面测试:测试软件的易用性和视觉效果等。
Hale Waihona Puke • 系统指标能够描述该产品的基本特性的性能,该指标也 可以称为性能指标。系统指标在系统设计初期就会提出 来,但是最终产品详细指标如何必须通过严格的测试才 可以得到。要根据系统稳定性测试模型,结合系统运行 的实际情况对系统进行指标测试或标杆测试。
系统标杆测试的基本概念可以分为两部分: • 在系统基本配臵或最优化配臵条件下,通过测试工具等 模拟系统环境和提供单一或标准负荷模型,从而得到系 统各种表征特性的指标,进一步可以验证系统需求和设 计规格中的指标是否达到; • 在多任务并接近实际网上运行等复杂条件下,由于受 CPU ,内存,存储器,通道,网络,系统配臵等资源的 影响而测试出系统性能在各方面潜在的低效和限制,比 如系统瓶颈,系统指标上限。
1、模块接口的测试 2、模块局部数据结构测试 3、模块中所有独立执行路径测试 4、模块的各条错误处理路径测试 5、模块边界条件测试
集成测试,也叫组装测试或联合测试。在单元测试的基 础上,将所有模块按照设计要求(如根据结构图)组装 成为子系统或系统,进行集成测试。实践表明,一些模 块虽然能够单独地工作,但并不能保证连接起来也能正 常的工作。程序在某些局部反映不出来的问题,在全局 上很可能暴露出来,影响功能的实现。 由于模块相互调用时接口会引入许多新问题,所以即使 模块单独可以运行,集成在一起后却不能正常工作。
安全性测试:测试软件系统防止非法入侵的能力。
是描述一个对象所具有的完成某种任务的特质的强弱程度, 是可量化的、是可测量的。
响应时间:从用户点击到用户得到需要的响应内容所经过 的时间。 并发用户数:指同一时间与服务器进行数据交互的所有用 户数量。
吞吐量:指单位时间内系统处理客户请求的数量,直接体现 系统的承载能力。
不运行被测试的软件,而只是静态的检查代码、界面或 者文档。
实际运行被测试的软件,输入相应的测试数据,检查 软件的输出结果是否和预期结果相一致的过程。
把软件看成一个黑盒子,不管内部逻辑和内部特性,只依据规格说明书 检查程序的功能是否符合功能说明。
又称为结构测试。着重于程序内部结构和算法,不关心功能和性能指标。
1、单个模块的误差积累是否会放大,从而达到不可接 受的程度 2、各个模块连接起来,穿越模块接口的数据是否会丢 失 3、每个子功能模块结合起来,是否会达到预期要的父 功能 4、一个模块对另外一个模块是否会产生不利 5、全局数据结构是否有问题
是将已经确认的软件、计算机硬件、外设、网络等其他 元素结合在一起,进行信息系统的各种组装测试和确认测 试,系统测试是针对整个产品系统进行的测试,目的是验 证系统是否满足了需求规格的定义,找出与需求规格不符 或与之矛盾的地方,从而提出更加完善的方案。 系统测试发现问题之后要经过调试找出错误原因和位臵, 然后进行改正。是基于系统整体需求说明书的黑盒类测试, 应覆盖系统所有联合的部件。对象不仅仅包括需测试的软 件,还要包含软件所依赖的硬件、外设甚至包括某些数据、 某些支持软件及其接口等。
介于白盒和黑盒测试之间,基于程序运行时刻的外部表现同时又结合程序内部 逻辑结构来设计用例,执行程序并采集程序路径执行信息和外部用户接口结果 的测试技术。
界面测试、业务逻辑功能测试、兼容性测试、 易用性测试、安全性测试、安装测试 性能测试、负载测试、压力测试、容量测试、 并发测试、配臵测试、可靠测试 、失败测 试
是指在测试中发现问题,找到了一个Bug,然后开发 人员会来修复这个Bug。这时想知道这次修复是否真的解 决了程序的Bug,或者是否会对其它模块造成影响,就需 要针对此问题进行专门测试,这个过程就被称为Smoke Test。 冒烟测试的对象是每一个新编译需要正式测试的版本, 目的是确认软件基本功能正常,可以进行后续的正式测试 工作。
• 是指在一定的软件、硬件及网络环境下,在数据库中个 构造不同数量级别的数据记录,运行一种或多种业务在 一定的虚拟用户数量的情况下,获取不同数量级别的服 务器性能指标,以确定数据库的最佳容量和最大容量 。 • 容量测试与负载测试的区别在于容量测试主要关心how much,负载测试同时强调how much和how fast。
• 预测试:在软件正式版本测试之前对基本功能(核心功 能)做的一个基本验证。 • 目标:为了避免无效的测试执行活动,从而降低测试成 本。即:随便测都能发现问题。时间控制在一天之内, 最好2个小时。
THANKS!
通过调整系统软/硬件环境,了解在不同的软硬件环境下 系统性能指标的情况,从而找到系统的最有配臵。 是指在不同的软件、硬件以及网络环境配臵下,运行一 种或多种业务,在一定的虚拟用户数量下,获得不同 配臵的性能指标,用于选择最佳的设备及参数配臵。 通过产生不同的配臵,来得到不同配臵的性能指标, 用于选择最佳的设备以及参数配臵。
是通过对被测试系统不断加压,直到超过预定的指标或者 是部分资源已经达到了一种饱和状态不能再加压为止。 是指在一定的软件、硬件及网络环境下,运行一种或多种 业务,在不同的虚拟用户数量的情况下,测试服务器的 性能指标是否在用户要求范围内,以此确定系统所能承 载的最大用户数、最大有效用户数以及不同用户数下的 系统响应时间以及服务器的资源利用率。
软件测试分类及名词解释
测试部:陈全林lyn
1
• 按阶段划分 • 按是否运行程序划分 • 按是否查看代码划分 • 其他测试
2
3
4
单元测试(模块测试)是开发者编写的一小段代码,用于 检验被测代码的一个很小的、很明确的功能是否正确。 单元测试是测试过程中的最小粒度,在执行的过程中紧密 的依照程序框架对产品的函数和模块进行测试,包含入 口和出口函数,输入和输出信息,错误处理信息,部分 边界数值测试。 单元测试是由程序员自己来完成。 粒度:测试用例的详细程度。
有正规的测试过程,需要制定测试计划、定义测试方案、选择测试 用例,进行测试,结果提交。 着重考虑软件是否满足合同规定的所有功能和性能,文档资料是否 完整、准确,人机界面和其他方面。
软件开发公司组织内部人员模拟各类用户行为对即将上市的产品进行 测试。 α测试的目的是评价软件产品的FLURPS(即功能、局域化、可使用性、 可靠性、性能和支持)。尤其注重产品的界面和特色。 只有当α测试达到一定的可靠程度时,才能开始β测试。它处在整个测 试的最后阶段。
TPS(Transaction per Second):每秒事务处理量,表示每秒系 统处理的事物数,它是衡量系统处理能力的重要指标。
点击率:指每秒钟用户向web服务器提交的http的数量。
吞吐率:指单位时间内的数据传输量,即吞吐量/传输时间, 也就是单位时间内处理的客户请求数。
资源利用率:指系统资源被占用的情况,主要包括cpu利 用率,内存利用率,磁盘利用率,网络等。 性能计数器:是描述服务器或操作系统性能的一些数据指 标,主要是通过添加计数器来观察系统资源的试用情况。
验收测试是软件产品完成了功能测试和系统测试之后, 在产品发布之前所进行的软件测试活动,它是技术测 试的最后一个阶段,通过了验收测试,产品就会进入 发布阶段。验收测试一般根据产品规格说明书严格检 查产品,逐行逐字地对照说明书上对软件产品所做出 的各方面要求,确保所开发的软件产品符合用户的各 项要求。
回归测试是指修改了旧代码后,重新进行测试以确 认修改没有引入新的错误或导致其他代码产生错误。 对软件的新版本测试时,重复执行上一个版本测试 时使用的测试用例。防止出现“以前应用没有的问题现 在出问题了”。 有新代码加入软件的时候除了新加入的代码可能含 有错误外,新代码还有可能对原有的代码带来影响。因 此,每当软件发生变化时,我们就必须重新测试现有的 功能,以便确定修改是否达到了预期的目的,检查修改 是否损害原有的正常功能。
指当系统已经达到一定的饱和程度(如cpu、磁盘等已 经处于一种饱和状态),系统处理业务的能力,系统是 否会崩溃等。是指在一定的软件、硬件及网络环境下, 模拟大量的虚拟用户向服务器产生负载,使服务器的资 源处于极限状态下并长时间连续运行,以测试服务器在 高负载情况下能够稳定工作,与负载测试获得峰值性能 数据不同,压力测试强调在极端情况下系统的稳定性, 这个时候处理能力已经不重要了。
软件开发公司组织各方面的的典型客户在日常工作中实际使用,并要 求用户报告异常情况、提出改进意见,然后公司再进行完善。
• Alpha测试是由一个用户在开发环境下进行的测试,也 可以是公司内部的用户在模拟实际操作环境下进行的受 控测试,Alpha测试不能由程序员或测试员完成。Alpha 测试发现的错误,可以在测试现场立刻反馈给开发人员, 由开发人员及时分析和处理。目的是评价软件产品的功 能、可使用性、可靠性、性能和支持。 • Beta测试当开发和测试根本完成时所做的测试,最终的 错误和问题需要在最终发行前找到。这种测试一般由最 终用户或其它人员完成,不能由程序员或测试员完成。