2012-07-11 42 views
3

是否有任何有效的測試方法可以建議用於在通過PHP將數據解析爲SQL之後對數據進行測試?遷移後的測試數據(HTML - > PHP - > SQL)

爲了給出上下文,我將數據從HTML頁面(包含單個表格)遷移到MySQL表格中。一個Domdocument和XPath被用於提取數據DAO風格和輸出似乎一致。什麼是檢查HTML和數據庫(隨機選擇,順序,一些編程算法......)的最佳方法?

+0

聽起來真的很整齊,我會好奇的看到代碼:) – 2012-07-11 13:30:43

+0

@GershonHerczeg我在博客上發表了關於這個主題的博客文章(http://blog.developpez.com/james-poulson/p11138/php/extraire-DES-最近搜索-DE-表-HTML-AVEC /)。這是法文,但你應該能夠拿起代碼。 – 2012-07-23 02:17:16

回答

1

也許你可以使用diff算法來比較原始的HTML和解析的文本並計算一個百分比。由於html標籤和類似內容,它顯然不會是100%的匹配,但您可以找出可接受的範圍並以這種方式測試您的數據。

我認爲隨機抽樣將是最好的,除非你有時間和處理能力來測試一切。

這裏是一個PHP實現一個diff算法=>http://paulbutler.org/archives/a-simple-diff-algorithm-in-php/

1

因爲你沒有訪問原始數據,但只是解析HTML,所有你能做的就是做同樣的事情兩次,比較。

您也可以根據提取的數據創建新的DOM文檔並比較DOM。 這樣你可以測試碰巧被錯誤地導入的數據。

但所有這些方法都與您用於提取的方法一樣可靠。並且可能不值得服務器負載進行每次導入測試。

隨機測試發現錯誤的成功率非常低,而且您可能更喜歡人類的眼睛。

你至少可以建立某種概率算法來注意奇怪的行爲。

f.e.如果你要解析一個每日新聞的Html頁面,並且在特定的一天你只能得到3條新聞,每頁的平均新聞項目應該在10個左右。你當然可以調整這些邊際。