# 回归测试
回归测试是软件测试的一种,在升级SuccBI产品部署包后或对系统进行了修改配置后,用于快速复测确认原有功能是否正常。
SuccBI提供了回归测试脚本能力,可以在平台上进行快速测试和单元测试,断言页面渲染结果、测试业务流程等。
# 新建测试脚本
测试脚本管理在元数据项目的test
目录下,脚本支持2种:
- 快速测试脚本,
.qunit.json
结尾的json格式文件,通过配置一个简单的json可以自动测试报表、仪表板、spg等 - 单元测试脚本,
.qunit.ts
结尾的typescript脚本文件,通过编写脚本代码能模拟用户操作进行自动化测试
新建方法:
- 进入项目的“资源”模块
- 新建一个项目内的根目录
test
(test目录最初不存在,需要自己新建) - 然后即可在test目录下新建测试脚本,注意脚本命名必须以
.qunit.json
结尾或.qunit.ts
结尾,如数据看板仪表板测试.qunit.json
# 快速测试
快速测试无需编码,使用指定用户、参数访问指定路径或者目录下的文件,并断言测试结果。
例如,需要测试/SuccBI/ana/report
下的所有报表,可以使用配置:
{
"defaultUserId": "admin",
"defaultParams": {"xsdw": "4201000001"}
"files": [{
"folder": "/SuccBI/ana/report",
"fileType": "rpt",
"userId": "test1",
"params": {"xsdw": "4201000002", "date": "20200101"}
}]
}
文件格式定义如下:
/**
* 报表仪表板等对象的快速测试文件的格式。
*
* 元数据项目的test目录下可以新建xxx.qunit.json文件,通过配置这个json文件可以快速的测试报表、仪表板计算的结果是否符合预期。
*/
declare interface QuickTestUnitConf {
/**默认的测试账号,通常为admin */
defaultUserId?: string;
/**默认的计算参数,通常为空,如果有,那么每个测试资源都会继承这个参数,当然也可以覆盖部分参数内容 */
defaultParams?: JSONObject;
/**
* 具体要测试的资源
*/
files: Array<QuckTestFileConf>;
}
/**
* 一个测试资源的定义格式
*/
declare interface QuckTestFileConf {
/**
* 要测试的文件的路径,可以是绝对的也可以是相对的
* 1. /开头的是绝对的,路径中带项目名和文件扩展名,如`/DEMO/ana/报表/清单报表/档案式报表.rpt`
* 2. 不以/开头的,表示相对于当前项目,如`ana/报表/清单报表/档案式报表.rpt`
*/
path?: string;
/**
* 要测试的文件夹,此文件下的所有满足fileType匹配的文件都会测试到
*/
folder?: string;
/**
* 要测试文件夹中的哪类文件,如rpt、dash
*/
fileType?: string;
/**
* 排除文件夹中的哪些自文件夹或文件,只要路径中包含这个数组中指定的内容的都排除
*/
exclude?: Array<string>;
/**
* 测试用的用户,如果没有指定用默认的
*/
userId?: string;
/**
* 测试参数,如果没有指定用默认的,指定了那么和默认的参数合并
*/
params?: JSONObject;
}
# 单元测试
TODO
# 执行测试
在浏览器地址栏输入测试脚本文件的路径(去掉.ts
和.json
后缀)进行测试,如:
- 有一个快速测试脚本
http://192.168.7.8:8080/DEMO/test/quick-test-demo.qunit.json
,那么在浏览器地址栏输入http://192.168.7.8:8080/DEMO/test/quick-test-demo.qunit
即可测试。 - 同上,如果是单元测试脚本
http://192.168.7.8:8080/DEMO/test/demo.qunit.ts
,那么在浏览器地址栏输入http://192.168.7.8:8080/DEMO/test/demo.qunit
即可测试。
# 测试结果断言对比
执行测试用例后,如果当前用例产生的测试结果和期望值不符,会显示出红色的用例错误条目。点击显示差异会弹出测试结果对话框,左侧为期望值,右侧为实际值。通过对比测试结果内容判断是否存在问题。
初次运行测试用例时,用例条目会显示为错误。检查实际值是否正确,确认正确后点击更新测试用例结果,将实际值写入期望值文件。
0条评论
评论