软件测试基本概念
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试基本概念
1、测试分类
从不同的角度,可以把软件测试技术分成不同种类:(4个维度)
1.1从是否需要执行被测软件的角度分类:
1.1.1静态测试(代码评审、文档会审)
指以人工的、非形式化的方法对软件进行分析和测试。如文档评审、代码会审。
1.1.2动态测试(功能测试和性能测试)
1.2按测试方法分类
1.2.1黑盒测试
不考虑程序的内部逻辑结构与特性,只根据程序功能或程序的外部特性进行测试,注重于测试软件的功能性需求。
1.2.2白盒测试
分析程序的内部逻辑结构,选择适当的覆盖标准,对主要路径进行尽可能多的测试。
1.2.3灰盒测试
不需要懂代码,只需懂接口、集成。
1.3按测试阶段分类
1.3.1单元测试(一般是开发人员进行)
指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能。
1.3.2集成测试
是在单元测试基础上,将模块和模块结合成一个完整的系统进行测试,重视的是接口测试。
1.3.3系统测试
系统测试是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在运行环境下对计算机系统进行的一系列严格有效的测试。包含的测试类型:
1) 功能测试,测试软件系统的功能是否正确。
2) 性能测试,测试系统的负载。
3) 健壮性测试,测试软件系统在异常情况下能否正常运行的能力。健壮性有两
层含义:一是容错能力,二是恢复能力。
1.3.4确认测试(依据需求规格说明书)
又称有效性测试,检查软件的功能与性能是否与需求规格说明书中确定的指标相符。主要做功能测试和性能测试。
1) Alpha 测试:在开发环境中,模拟各类用户对即将发布的产品进行测试。
2) Beta 测试:在真实运行环境下实施的测试。
1.3.5验收测试
是指系统开发生命周期方法论的一个阶段,这时相关的用户或独立测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收系统。它是一项确定产品是否能够满足合同或用户所规定需求的测试。
一般包含五类:
1) 功能确认测试:用户手册中提及的所有功能测试
2) 安全性测试:用户权限限制测试;系统备份与恢复测试;异常情况及网络故
障对系统的影响测试。
3) 兼容性测试:软件在规定的不同操作系统、数据库、浏览器运行是否正常。
4) 性能测试:系统性能指标和资源占有率测试。
5) 用户文档测试:各类文档描述清晰,包括软件安装、卸载测试。
1.4测试种类
1.4.1数据库设计测试(开发和设计阶段)
1.4.2需求测试(需求阶段) 1.4.3功能测试
1.4.4性能测试
1.4.5其他测试类型:安全性测试、兼容性测试、用户文档测试、单元测试、接口测试、冒烟测试
2、常用名词解释
1) 软件测试:在规定的条件下对程序进行操作,以发现错误,对软件质量进行
评估的一个过程,它是保障软件质量的重要方法。
2) 边界值:边界值就是软件操作界限所在的边缘条件。
3) 因果图法:
因果图方法是一种利用图解法分析输入条件的各种组合情况,从
而设计测试用例的方法(简写为各个输入条件之间要组合考虑的)
4)自动化测试:利用软件测试工具自动实现全部或部分测试。
5)回归测试:是指修改了旧代码后,重新进行测试以确认修改没有引入新的错
误或导致其他代码产生错误。
6)安装测试:安装测试就是确保该软件在正常情况和异常情况的不同条件下,
例如,进行首次安装、升级、完整的或自定义的安装都能进行安装。
7)冒烟测试:是对软件的基本功能进行测试,测试的对象是每一个新编译的需
要正式测试的软件版本,目的是确认软件的基本功能正常,保障软件系统能跑的起来,可以进行后续的正式测试工作。
8)BVT测试:也叫编译检查测试,主要检查源代码是否能正确编译成一个新的、
完整可用的版本。
9)负载测试:测试当负载逐渐增加时,系统各项性能指标的变化情况
10)压力测试:是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统
能提供的最大服务级别的测试。
11)在线用户数:是指同时登录应用系统的用户数量。
12)并发用户数:是指系统运行期间同一时刻进行业务操作的用户数量。用来评
审当前服务器的负载压力。
13)响应时间:指的是从客户端发起一个请求开始,到客户端接收到从服务器端
返回的响应结束。
14)吞吐量:是指单位时间内系统处理的客户端请求的数量,一般以字节数为单
位。
15)HPS(Hit Per Second)每秒点击次数:指一秒钟的时间内用户对web页面的链
接、提交按钮等点击总和。
16)TPS(Transaction Per Second)每秒事务数:指应用系统每秒钟处理完成的交易
数量。
17)参数化:使用指定数据源中的值来替换脚本录制生成的语句中的参数,称为
参数化。
18)桩模块:桩模块(Stub)是指模拟被测试的模块所调用的模块,而不是软件
产品的组成的部分。例如在单元测试中一个类调用另一个类,用来代替被测试模块所调用的模块。
19)软件缺陷的生命周期:是指一个软件缺陷被发现、报告、到这个缺陷被修复、
验证直至最后关闭的完整过程。
20)Bugzilla含义:Bugzilla是一个开源的免费缺陷跟踪或缺陷管理工具,跟踪和
管理软件缺陷的整个生命周期。
21)测试评估:是在测试结束后(后期)对整个测试过程与产品进行评估的过程,
主要包括对于测试工作的总结、缺陷数据的分析以及测试过程的评估。
22)测试覆盖评估:测试覆盖是对测试完全程度的评估。
23)聚合函数:是对一组值执行计算并返回单一值的函数,用来完成一定的统计
功能。
24)自连接:一个表与自身进行连接。
25)子查询:一个嵌套在SELECT、INSERT、UPDATE 或DELETE 语句中的WHERE
或HAVING 子句内,或嵌套在其他子查询中的SELECT查询。
26)内连接和外连接:
以JOIN关键字来连接表的方式,增强了表的连接能力和连接的灵活性。使