Skip to content

[Testing] MatrixOne ODBC 非 Power BI 场景兼容性与安装测试 #17

Description

@iamlinjunhong

背景

MatrixOne ODBC 目前已发布 Windows x64 预览版 v9.7.0-mo.3。Power BI 场景由另一条测试线负责,本任务专门验证 非 Power BI 场景,评估驱动是否具备更广泛的 ODBC 工具兼容性和独立分发能力。

测试基线

开始测试前必须拉取两个仓库最新的 main,并在报告中记录精确 commit:

历史参考基线(不要固定使用旧提交):

  • ODBC:5cc5e1297f93809b1ea7352a1881b67c22b3a3ff
  • MatrixOne:484e1969531e7fbf7219b20e34d7ef23e110560b
  • Windows 驱动版本:9.7.3

范围

明确排除 Power BI Desktop;不要重复 Power BI 测试。

P0:必须完成

  • Windows ODBC Administrator:System DSN、User DSN、无 DSN 连接串
  • Python pyodbc / pandas.read_sql
  • Excel Power Query 的通用 ODBC 入口
  • ANSI 与 Unicode ODBC API
  • 元数据 API:SQLTablesSQLColumnsSQLPrimaryKeysSQLForeignKeysSQLStatisticsSQLGetTypeInfoSQLGetInfo
  • 参数绑定、Prepared Statement、事务提交和回滚
  • MSI 首装、修复、升级、卸载、重装和静默安装
  • 驱动升级后 DSN 保留及应用进程重启行为

P1:环境允许时完成

  • Linux unixODBC / isql
  • Tableau 或 Qlik 至少一种工具
  • 多连接并发、连接泄漏及长时间运行
  • 32/64 位驱动与应用位数匹配检查

公开测试和数据集

优先采用公开、可复现的测试:

  • pyodbc 官方或社区公开测试
  • Microsoft ODBC 示例
  • unixODBC / isql
  • 目标工具官方连接测试
  • ODBC API conformance 示例
  • TPC-H、NYC Taxi、Sakila 或 Northwind 等公开数据集

必须记录数据来源、版本、许可、数据规模、导入方法和校验 SQL。公开测试无法覆盖的部分再补充自定义测试。

Unhappy path

至少设计并完成下面 10 个大场景,每个场景需要覆盖多个具体用例:

  • 错误用户名、密码、数据库名、端口、DSN 和连接属性
  • MatrixOne 未启动、连接中断、服务端重启及恢复
  • 查询超时、主动取消、长查询和连接关闭
  • NULL、空字符串、空结果、中文、emoji 和特殊字符
  • 整数边界、decimal 精度、舍入、溢出和非法转换
  • date/time/datetime/timestamp 边界及非法日期
  • 超长字符串、二进制、大对象和大结果集
  • 参数数量或类型错误、重复执行和批量参数绑定
  • 事务中的语句失败、回滚、断线及自动提交切换
  • 并发查询、资源释放、重复连接和长时间稳定运行

额外检查日志中不得泄漏密码或完整敏感连接串。

问题归属与处理

发现问题后必须先制作最小复现并区分归属:

  • matrixone-odbc 问题:在本仓库建立独立 Issue;能修复时先添加回归测试,再从 codex/ 分支提交 PR。
  • MatrixOne 问题:在 matrixorigin/matrixone 建立 Issue,并 assign 给 iamlinjunhong
  • 第三方工具或环境问题:在报告中说明证据,不要误报为产品缺陷。

提交缺陷前先搜索已有 Issue,避免重复。每个缺陷必须包含环境、精确 commit、最小 SQL/代码、预期结果、实际结果、日志或截图以及临时绕过方案。

环境隔离

不要破坏其他测试任务正在使用的 MatrixOne 实例、DSN 或数据目录。如需新实例,请使用独立端口、数据目录、日志目录和 DSN 名称,并记录启动、停止和清理方法。

验收产物

  • 中文测试报告
  • 环境、工具版本及两个仓库的精确 commit
  • 公开测试和公开数据集来源
  • 总用例数、通过、失败、跳过统计
  • 10 个 unhappy-path 大场景的步骤与结果
  • 可重复运行的脚本、SQL 和配置(不得包含密码)
  • 截图及原始日志路径
  • ODBC Issue/PR 列表
  • MatrixOne Issue 列表及 assignee
  • 未解决风险和临时绕过方式
  • v9.7.0-mo.3 是否可以从 Pre-release 推进稳定版给出结论

所有测试必须能够由另一台干净机器按照报告重新执行。

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions