# CN报告模板 对报告的模板、测试用例进行版本控制。目录结构为: yyyy-MM-dd — [报告名称] — — test — — — html — — — — test1.js — — — — test2.js — — — — testTemplate.html(使用testN.js测试数据的测试文件) — — — freemarker — — — — config.json — — — — test1.json — — — — test2.json — — template.html(带有假数据的,可以查看完整效果的文件) — — template.ftl ## 模板编写注意事项 1. ## 测试用例说明 1. 代表性:代表并覆盖各种合理的、不合理的,合法的、不合法的,边界的、越界的输入数据; 2. 可判定性:用例执行结果的正确性是可判定的; 3. 紧急情况测试用例可暂缓,后续补上; #### html 1. 样式 布局样式在开发时即可判断调整,不作为重点。具体内容样式有注意点,例如单元格内容、图表label遮挡等,写测试用例时需考虑。 2. JS JS是测试重点,需要列举各种可能的数据结果。sql执行结果和freemarker方案具有一些确定性特点: `1). 数组型结果中,每个对象的属性名是一致的;` `2). 数组型结果的长度可能为0;` 因此测试用例可免去一些不合法情况。结合“测试用例说明”,现对测试用例做以下要求: `· 用例中至少有一部分数据(数组型至少有一项,环比至少有一对)自己是知道正确结果的,例如sessions: 1052400,那我知道它应展示为1052.4K;` `· test1.js:空值。所有单值为0、数组为空数组、对象为空对象;` `· test2.js:掺零。对象的属性(包括数组中的对象)适当使用0,每个对象或每个数组中至少使用一次;` `· test3.js:环比。用于计算环比的数据,一是部分除数设为0,二是要设计环比基准不存在的情况,例如当前周期数据中有company: "抖音",而上周期company中没有"抖音";` #### freemarker