在将数据从 HTML 通过 PHP 解析为 SQL 之后,您是否可以建议任何有效的测试方法来测试数据?
为了给出上下文,我正在将按顺序编号的 HTML 页面(包含单个表)迁移到 MySQL 表中。Domdocument 和 XPath 被用于以 DAO 样式提取数据,并且输出看起来是一致的。在 HTML 和数据库之间进行检查的最佳方法是什么(随机选择、顺序、一些编程算法......)?
也许您可以使用 diff 算法将原始 HTML 与解析后的文本进行比较并计算百分比。由于 html 标签等原因,它显然永远不会 100% 匹配,但您可以找出可接受的范围并以这种方式测试您的数据。
我认为随机抽样是最好的,除非你有时间和处理能力来测试一切。
这是diff算法的PHP实现=> http://paulbutler.org/archives/a-simple-diff-algorithm-in-php/
因为您无法访问原始数据而只能访问已解析的 HTML,所以您所能做的就是两次完全相同的操作并进行比较。
您还可以根据提取的数据创建一个新的 DOM 文档并比较 DOM。通过这种方式,您可以测试以某种方式错误导入的数据。
但是所有这些方法都和你用来提取的方法一样可靠。并且可能不值得服务器负载来测试每个导入。
随机测试发现错误的成功率非常低,而且您可能比人眼更好。
您至少可以构建某种注意到奇怪行为的概率算法。
fe 如果你要解析一个每日新闻 Html 页面,并且在特定的一天你只得到 3 个新闻条目,那么每页的平均新闻条目应该在 10 条左右。你当然可以调整这些边距。