使用QTP进行EXCEL数据对比的自动化需求分析

需积分: 14 1 下载量 122 浏览量 更新于2024-08-16 收藏 181KB PPT 举报
"需求分析-用QTP实现EXCEL数据比对" 在IT领域,特别是自动化测试中,需求分析是一项至关重要的任务。本案例中,需求是确保在总局升级后,TRAS系统和BI系统中相同的分析表数据保持一致。为了满足这一需求,需要进行EXCEL数据比对。QTP(QuickTest Professional,现称UFT - Unified Functional Testing)是一种功能强大的自动化测试工具,能够用于此目的。 相同点: 1. 分析表可导出为单一的EXCEL文件,每个分析表对应EXCEL的一个工作表(sheet)。 2. TRAS和BI导出的sheet名称在非汉字部分有共同的前缀。 3. 表结构基本相同,尽管BI的某些分析表可能包含额外的列。 不同点: 1. BI不导出隐藏行列,而TRAS会。 2. 两系统中对应表元的行列编号不匹配。 3. TRAS将"注:"导出到合并单元格,BI则在最后两行添加标签。 解决方法: 通过QTP编写自动化脚本,以TRAS导出的EXCEL作为基准,遍历其所有sheet,然后在BI的EXCEL中寻找对应的sheet进行比对。具体步骤包括: 1. 确定数字表元的起始行列号。 2. 跳过非数据区域,计算实际数据区域的行数。 3. 如果行数相同,则进行比较;否则,忽略该sheet。 4. 比较时不考虑隐藏列,并对比实际数据区域的每个表元。 5. 对比不一致的表元进行标记并设置为红色。 6. 最后,导出包含问题的EXCEL工作表。 不足之处: 1. 当存在数据不一致时,导出的EXCEL包含所有sheet,而理想情况下应仅导出有问题的sheet。 2. 导出过程中可能出现BI的表被误导出,可能是因为BI的列数多于TRAS。 3. 在去除非数据区域时,单纯通过查找"注"字可能不准确,需适应更多特殊情况,如页码等。 针对以上不足,优化策略可以包括更智能地识别数据区域,如通过特定的空白行或特定文本行来确定,以及在脚本中增加条件判断以避免误导出。此外,可以改进导出逻辑,仅导出有差异的sheet,从而提高效率和可读性。在实际应用中,这样的自动化脚本可以大大提高数据一致性验证的效率,减少手动比对的工作量。