软件测试基本概念
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关键字来连接表的方式,增强了表的连接能力和连接的灵活性。 使用JOIN关键字连接表的的基本格式为:
SELECT <输出字段列表> FROM 表名1 <连接类型> 表名2 ON <连接条件> [ <连接类型> 表名3 ON <连接条件>]......
连接类型
●内连接:INNER JOIN
●左连接:LEFT JOIN
●右连接:RIGHE JOIN
●全连接:FULL JION ----MySQL不支持
27)SELECT格式:
SELECT [ALL|DISTINCT]<字段列表> 或<函数> 或<表达式> [AS 别名]
FROM <表名列表> 或 (子查询) 或 join on
[WHERE <查询条件>]
[GROUP BY <字段名>[HAVING <条件表达式>]]
[ORDER BY <字段名>[ASC|DESC]]
[LIMIT N,M]
说明:
查询条件
●关系表达式、逻辑表达式和特殊表达式
●子查询
●复合表达式
28)视图:是一张虚拟表,它表示一张表的部分数据或多张表的综合数据,其结构和数据是建立在对表的查询基础上。
29)软件配置:是由在软件工程过程中产生的所有信息项构成的,包括文档和代码。
30)软件配置管理职责:
配置项和配置标识、变更管理、报告配置状态、配置审核
31)版本管理:是对系统不同版本进行的标识与跟踪过程。
32)测试计划:是描述要进行的测试活动的范围、方法、资源和进度的文档,内容包括测试目标、测试资源、时间进度、测试风险。
33)WBS:工作任务分解,主要是将一个项目分解成易于管理的几个部分或几个细目
34)责任矩阵:是以表格的形式表示完成工作细目的责任分配的方法
35)甘特图:甘特图是一个二维平面图,横维表示进度或活动时间,纵维表示工作包内容
36)软件工程:用工程化的思路去管理软件开发。
37)持续集成过程:源代码编译、数据库集成、测试、审查、部署、文档和反馈。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论