资源描述
数据测试注意事项总结
1. 边界值数据要特别注意,如需求是要求X的值为[a,b)时(即X大于等于a且小于b),那么做X的数据的时候小于a,等于a,大于a小于b,等于b,大于b的数据都要准备
2. 模块之间的数据流转特别值得注意,如数据Y在A模块增删改之后,在B模块有相应变化,应当在A模块做多种数据,验证B模块数据变化
3. 数据类型,如某输入框只允许整数类型输入,那么需要的测试数据有整型,字符型,小数,和0
4. 数据长度,如某输入框只允许10个字节的输入,那么需要准备的测试数据有大于10个字节,等于10个字节,小于10个字节
5. 数据显示测试,如金额,有些当金额位数输入过大时,会出现直接显示为科学计数法显示,那么一般准备的数据就要有位数大的数
6. 测试数据覆盖率——考虑所有可能性。
例:个险优先件满足的条件是task_type =1 priority_ind=1
(注:task_type 1:个人登记表2:团体登记表3:分保联系函Priority_ind 0: 非优先处理1: 优先处理)
要考虑到的可能性有:
(1)task_type =1 priority_ind=0
(2)task_type =1 priority_ind=1
(3)task_type =2 priority_ind=0
(4)task_type =2 priority_ind=1
(5)task_type =3 priority_ind=0
(6)task_type =3 priority_ind=1
7. 测试数据错误猜测分析——除正常数据之外,还必须根据测试用例设计大量边缘数据和错误数据
输入手机号码(手机号码限制为11位数字)
要考虑到的可能性有:
(1)15967895432 输入成功
(2)输入特殊字符:#@¥%……&*() 提示:请输入正确数字
(3)159678954323 最后一位不可输入
(4)1596789543 提示:请输入正确的手机号码
8. 测试查询界面时,一定要关注数据的来源:
(1)有的数据是直接通过跑批将数据导入数据库,然后在前台界面显示,这时要比对前台界面显示和数据库中是否一致;前台界面有时并不直接显示某个表的内容,有时要经过计算后才在前台显示。
例如:营运系统中有个分时段结案率,这个结案率等于赔案自立案至结案天数在**日以内的案件数总和/已结案件数*100%,数据库中只显示不同类型的案件数,不直接显示结案率,所以要根据数据库计算后来检查界面显示的结案率是否正确;
(2)有的查询界面的下拉框的数据是在其他界面新增的,这时就要到相应的界面新增一条数据,然后到该查询界面查看下拉框是否新增了一个选项。
9. oracle数据类型:
(1)数值number或number(p,s)
p:精度位,precision,是总有效位数
s:小数位,scale,小数点右边的位数
简单的说,精度位P表示数值最多能有多少个有效数字,而小数位S表示最多能有多少位小数。换句话说,P表示一共有多少位有效数字,S表示小数点右边有S位有效数字。例如number(5,2)类型的数据,就表示小数点左边最多有3位有效数字,右边最多有2位有效数字,加起来就是最多有5位有效数字,超过这个范围的数字就不能正确的存储下来。
(2)字符:char,varchar,varchar2
由于varchar2类型的优越性,目前太保要求开发只能使用varchar2这种字符类型。
Char是定长,varchar是变长。【例:如果一个字符占10个字节 那么同样存储在varchar2(18) char(18)中占的内存就是10个字节和18个字节】
(3)日期:DATE类型 YYYY-MM-DD
10.数据方面容易出现的错误
(1)界面上的输入框对输入长度没有做控制,当前台界面输入的长度大于数据库的定义的字符长度时,容易导致内存溢出。
(2)变量如果被赋予了不正确的长度和数据类型会出现错误
11.报表类数据测试:
(1)验证报表统计数据的正确性(是否与实际一致,)
(2)验证报表统计数据的完整性(全部数据是否全部查询统计到)
(3)验证报表统计数据的合法性(比如金额单位需求中必须要求为“¥”)
(4)验证报表导出打印是否与数据查询结果是否一致。
12.数据库表数据测试:
(1)table DDL和DML及回退sql语法是否有错。
(2)表定义字段类型是否与需求一致(如需求定义类型为varchar2(18),实际定义char(18))。
(3)字段数据初始值、缺省值和空值与需求是否相符。
【例1:两核前置调查任务评分,需求要求字段值默认为20分,那么数据库更新时缺省值必须为20分。
例2:比如加解锁,slock字段不加锁默认为空,加锁为1。】
13.理赔计算数据测试:
(1)验证核赔系统理赔基础数据传入是否正确(如账单总金额、免赔额、赔付比例是否与业务系统一致)
(2)验证理算公式是否与核心系统定义公式一致。
(3)验证分段赔付时,理算逻辑是否正确(如账单金额小于1000赔付比例为50%,账单金额为1000~2000,赔付比例为60%)。
(4)验证最终理算结果是否正确。
14.注意页面显示的数据是否在正确位置(多个数据编写不同的内容,防止数据不显示或显示到错误的位置)
【例:数据库中季交金额为4、趸交金额为12,页面可能出现(季交12趸交4、季交4趸交4、季交12趸交12、季交4趸交0、季交趸交)等错误显示,若编写为相同数值,则无法发现全部问题】
【对于数据录入也是如此,数据相同时,不能保证是否录入到正确的表字段中】
15.注意页面输入的数据是否符合数据库配置(输入最小长度、最大长度、多种数据类型或重复的数据,防止数据无法正常写入数据库。)
【例:页面支持输入10位汉字,但表字段的长度限制为8位,或者是字段类型限制为数字,导致无法写入】
16.注意写入数据库的数据内容是否正确(检查写入数据的正确性,防止数据被改写;若需求要求改写输入数据,需验证改写后的数据是否符合需求)
【例:页面输入1234567,写入数据库后变成123;需求为四舍五入金额,结果7.1被改写为8】
17.注意页面显示的数据内容是否正确(编写最小长度、最大长度、各种类型的数据,防止显示的数据不完整或显示形式不正确;若需求要求变换数据的显示形式,需验证变换后的显示形式是否正确,且不会更改数据库的数据)
【例:数字为中文显示,Null或空值显示为0,数字按货币形式显示(1,234.00),姓名简写或拆分等】
18.对数据库做压力测试,即大量数据测试,在数据很多的情况下查看数据的正确性(比如营运当天数据汇总N条数据后(N>1000),数据库是否正常查询到汇总数据)
19.数据经过新增、删除、修改后,页面是否正常查询
20.测试最大值数据、最小值数据、中间值数据的显示是否正确,如有计算测试计算值是否正确。
21.有界面显示数据需与数据库用逻辑SQL查询数据一致(备注:金额、人数常用函数为sum、avg、count)
【例1营运APP49-341QC,页面上统计月初总人力数、月末总人力数等项,使用sum函数核对数据并检查字段值是否正确;
例2验证ids数据中某些字段是否按取数逻辑汇总到明细表、中间表,可用sql查询核对数据正确性、完整性并核对页面上数据是否与数据库一致。
比如验证豁免加费金额合计(amount)取数正确。
汇总表select amount from jk_lhcx_gh_hmjf where appno=’ABC333AA4200001’ and classcode=’37420400’
Ids表select sum(totalamt)from jk_ids_exempt_add where appno=’ABC333AA4200001’and classcode=’37420400’】
22.界面字段显示与数据库中字段对应显示正确。
23.在前一个模块录入数据后,如在之后的模块中能查询到,需要比对输入的数据是否一致。
24.测试输入数据时,在多种错误输入数据中,优先尝试最有可能出现的错误数据。
25.测试时,对于数据需要测试数据的准确性,即数据在真正的生产环境上是否会产生这样的数据,同时对比数据的正确性;
26.测试数据的有效期,即保存在数据库或者日志的期限时间;
27.注意数据展示各字段的单位以及小数位数的控制;
28.注意大数据量和空数据时界面的显示;
29.对比不同表与表之间数据的关系。
展开阅读全文