当前位置:文档之家› 软件测试---数据准确性的测试方法

软件测试---数据准确性的测试方法

数据准确性测试
软通信息科技有限公司—测试组
一.基础SQL语句
(注意:SQL语句中除汉字字符外,其余字符均是英文半角)
1.数据记录筛选
select * from 数据表where 字段名=字段值order by 字段名
select * from 数据表where 字段名like ‘%字段值%‘ order by 字段名asc/desc(升序/降序)
select * from 数据表where 字段名in (‘值1‘,‘值2‘,‘值3‘) select * from 数据表where 字段名between 值1 and 值2
2.更新数据记录
update 数据表set 字段名=字段值where 条件表达式"
update 数据表set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"
3.删除数据记录
delete from 数据表where 条件表达式
delete from 数据表" (将数据表所有记录彻底删除)
truncate 数据表(删除数据表中的所有数据,需要Commit)
4.添加数据记录
insert into 目标数据表(字段1,字段2,字段3 …)values (值1,值2,值3 …)" insert into 目标数据表select * from 源数据表" (把源数据表的记录添加到目
标数据表)
5.数据记录统计函数
AVG(字段名) 得出一个表格栏平均值
COUNT( * 或字段名) 对数据行数的统计或对某一栏所有值的数据行数统计MAX(字段名) 取得一个表格栏最大的值
MIN(字段名) 取得一个表格栏最小的值
SUM(字段名) 把数据列的值相加
6.通配符
1. % : 代表任意多个字符name LIKE '李%'
2. IN : 限制范围StuID IN(0,1,2,3,4,5,6,7,8,9)
3. Not IN : 不在指定范围里的一个字符
4. age>=0 and age<=100 等同age BETWEEN 0 AND 100 二.S QL在测试当中的使用
以具体实例功能为例:
项目基础表:T_BUS_InvestProject_BasicInfo
年度投资计划分解表:T_BUS_Year_InvestmentPlan_Decomposition
1.查找所有投资项目信息
SELECT*
FROM T_BUS_InvestProject_BasicInfo
2.查找审核不通过的项目信息
SELECT*
FROM T_BUS_InvestProject_BasicInfo a
where a.VC_PrjState='不通过'
3.模糊查询项目名称中带有“加工”的项目信息并按项目创建时间进行降序
SELECT*
FROM T_BUS_InvestProject_BasicInfo a
where a.VC_Project_Name like'%加工%'
order by a.D_createdate desc
4.把项目名称为“加工总厂废水治理及综合利用项目”中的投资总额修改为888
update T_BUS_InvestProject_BasicInfo
set N_Project_Investment_Total=888
where VC_Project_Name='加工总厂废水治理及综合利用项目'
5.统计所有审批通过的立项项目的投资总金额
SELECT SUM(a.N_Project_Investment_Total)as All_project_TotalMoney FROM T_BUS_InvestProject_BasicInfo a
where a.VC_PrjState='通过(结束)'
6.查找投资项目金额大于500万的项目
SELECT*
FROM T_BUS_InvestProject_BasicInfo a
where a.N_Project_Investment_Total>= 500
7.删除工程ID为001的投资项目
delete from T_BUS_InvestProject_BasicInfo
where vc_project_id='001'
8.显示年度投资分解中投资总金额大于500万的工程名称
select T.VC_Project_Name
from(select b.VC_Project_ID,
b.VC_Project_Name
from T_BUS_InvestProject_BasicInfo b)T
right join(SELECT a.VC_Project_ID
FROM T_BUS_Year_InvestmentPlan_Decomposition a
where a.N_Project_TotalInvestment>='500')H on
T.VC_Project_ID=H.VC_Project_ID
三.数据关联举例分析
在测试中分析数据准确性测试,很重要并经常使用。

以矿产系统--勘察计划功能模块为例,使用数据关联性分析。

在勘察计划中出现了两处数据
关联
●项目信息与勘察计划的关联
●矿产信息与勘察计划的关联
1.和矿产系统—勘察计划相关的数据酷表主要是以下几张:
1)T_BUS_PROJECT 项目表
2)T_BUS_EXP_PLAN 矿产勘查计划表
3)T_BUS_EXP_PLAN_MINE 矿产信息表
2.勘察计划中针对数据所做操作
3.数据关联状态图
下面只列举出特殊的数据关联的功能操作。

1)勘查计划新建
勘查计划的新建,新建表单中有一个选项:项目信息。

此项是勘查计划的必填项,该项引用的是已经新建好的项目数据。

引用后,会一直和该计划做关联和绑定。

●数据的准确性校验是测试的核心。

●数据准确性测试的核心思路是:确认系统的每一个功能对数据所做的操作是
否正确,这就要求测试人员进行系统功能路径的完整覆盖测试,遗漏任何功能点,都会导致忽略对数据操作而产生错误的功能点。

●要求:在测试中,需要对系统数据的存储结构和数据关联进行分析。

下面以投资系统为例来描述如何进行数据的准确性测试。

2.测试方法和步骤
2.1基础功能路径与数据存储结构分析
1.流程示意图:
T_BUS_InvestProject_BasicInfo中,通过类型字段区分三种不同的类型数据,此时,项目的状态为新建。

●上报审批操作。

更新基础表T_BUS_InvestProject_BasicInfo的状态字段。

●审批。

对新建的项目进行状态的变更。

这个操作会改变当前数据的状态。

审批项目相关
数据表为:审批明细表和项目基础表。

将项目的相关审批信息写入审批明细表,同时更改项目基础表的状态字段,已标识项目的审批状态:通过或是不通过。

●审批项目时,会把当前审批的项目ID:ProjectID写入审批明细表。

●审批明细表中只有审批信息,而没有项目信息。

比如要需要查看已审批通过的项目信息
时,就要通过审批明细表中的ProjectID字段来连接项目基础表,以查询出项目的基础信息。

(测试脚本同2.8节的SQL)
●影响审批操作的关键字段:项目总投资总额。

3.测试方法
●涉及操作数据的功能:提交保存,上报,审批,查询。

●确认项目立项的三个表单的录入数据完整、正确的写入数据库。

确认系统能够正确查询
出写入数据库的项目,并且,每个字段的值正确。

(包括表单边界,数据类型测试)●确认根据项目总投资总额的边界值500(万),来确认系统过滤(查询)功能的正确性。

●验证提交审批后的项目。

是否存在对提交审批后的数据进行修改和删除的功能操作。

●确认审批功能对项目的状态修改正确。

主要是对项目基础表状态字段的操作。

●确认写入审批明细表的数据,与表单填写数据信息一致性。

●确认已审批的项目信息的完整和正确性。

●验证是否能够对审批完成的项目进行数据修改(如删除和修改)。

●确认该模块输出数据流与下一功能模块的输入数据流的关联和过滤。

2.2.扩展
如何进行年度前期工作投资项目汇总表该功能的数据准确性测试?。

相关主题