初步評估

方法與定義

修復實驗室公開紀錄怎麼產生、五種結局是什麼意思、哪些東西公布哪些不公布、資料怎麼拿、怎麼引用。

這是什麼

我們從公開論壇挑網站掛掉的求救案例,寫成可重複執行的配方,在自己的測試主機上把同樣的故障做出來,再用維修站照客戶會走的流程處理一次。

每一案一筆紀錄:站主看到什麼、哪些主機環境重現了、每個環境在每種連線模式的結局、結局不是修好時改了什麼與修在哪一版。

另有能力掃描:把「修得了什麼」的每一個故障項目一次植進同一個測試站,每一跑每一項各自記「已消」或「仍在」;矩陣的格優先用逐項結果。

這些是我們測試主機上、某一版、某一天的紀錄,不是對任何網站結果的承諾;其他主機、PHP 與 WordPress 版本的結果可能不同。

紀錄裡沒有客戶資料:每一案都在我們自己的測試站重現;出處只連到論壇帖,不複製帖文或發帖人名。

測試主機

四種主機環境,只公布軟體層:

四台都裝同一份測試站。每跑之後把主機架回那一份,再與跑前的快照逐格比對。以後遇到新的環境會再加一台,配方不改。

一案怎麼跑

  1. 配方先寫好:怎麼弄壞、怎麼驗,照論壇帖子描述的症狀。
  2. 在對得上環境的測試主機上重現,記首頁與登入頁的 HTTP 狀態。環境對不上的不跑,不改配方去遷就主機。
  3. 用維修站照客戶的流程開案(付款是測試用的模擬)。要跑哪幾種連線模式依壞法決定:後台進不去就 SSH 與 FTP 都跑;後台進得去就三種都跑。
  4. 讀結果:健檢列了什麼、修了什麼、寫回之後的網站狀態。
  5. 結局不是修好就記缺口;維修站改好之後,用同一條配方、同一台主機再跑一次。

五種結局

「修好」的判準跟客戶案件的複驗同一把尺:首頁、抽查的內頁、頁面資源都要到。 這裡的複驗就是服務條款第九條第五款所稱的驗證。

RecoveredA case was opened, the health check listed this problem, the recovery passed the re-check (homepage, sampled inner pages, page assets), was written back and passed the check after write-back (in WP admin mode, the recovered package was delivered), and every item in the recovery report was completed.
Declined at the pre-payment checkThe pre-payment check did not let the site in. No case was opened and nothing was charged.
Not detectedA case was opened, but the health check did not list this problem.
Not recoveredThe health check listed the problem, but the recovery could not be completed as defined in Article 9(5) of the Terms of Service. The recovery fee is refunded in full; the refund is carried out automatically by the system, with no request needed.
Case did not completeA case was opened but did not reach the health check or the recovery (for example, copying the site stalled). The health check fee is refunded in full, automatically.
ClearedIn a capability sweep, the planted fault for this problem type was gone after write-back.
Still presentIn a capability sweep, the planted fault for this problem type was still present after write-back. A gap row explains it.

公布什麼、不公布什麼

公布

不公布

發布前由程式檢查:IP、主機與機器名、機型、機房、案件編號、時刻與時間量測、百分比與成功率、保證字、形容詞、中日文、HTML,出現其中一項就發布不了;修法細節與總結句由人審。實驗室工具本身的狀況(測試主機沒重現出故障、工具卡住、配方做不出來)不是維修站的結局,不列。

缺口什麼時候登

結局不是修好的跑次,跟修正一起登;紀錄發布時修正還沒上線的,登「處理中」。客戶在這段期間遇到同一缺口,依服務條款第九條的退費規定處理。

更正

紀錄發布後的每一次修改都在變更紀錄頁留一行:錯了就改,改了就寫,舊的不刪。

利益聲明

受測的維修站是我們自己的產品。這些頁面沒有贊助、沒有聯盟連結。

資料授權與引用

資料檔(CSV 與 JSON)以 CC BY 4.0 授權;連到的論壇帖不是資料檔的一部分。引用時寫「WP119 lab records」、擷取日期與網址。凍結版(固定日期、檔案雜湊、DOI)列在資料頁的「凍結版」一節。

欄位

欄位意思
id / recipeRecord id: the date the recipe was written plus a short name. It does not change. "recipe" is the name of the fault recipe; one recipe can be run on several days.
kind"Forum case": one failure taken from a public forum thread. "Capability sweep": every problem type from the "What we fix" page planted on one test site at once, with a result per problem type.
title / symptomWhat the site owner reported, in plain words, with the HTTP status we saw.
sourceThe public forum thread the case was taken from (wordpress.org, wordpress.stackexchange.com or stackoverflow.com). Empty for a capability sweep.
itemsWhich of the problem types on the "What we fix" page this case exercises.
wordpress / phpVersions on the test site.
observedPer server setup: HTTP status of the homepage and the login page after the failure was recreated.
runsOne row per attempt: date (UTC), server setup, connection mode, outcome, product version. A sweep run also carries a result per problem type ("cleared" or "still present").
gapsEvery run that did not end in "recovered", and every problem type still present after a sweep, has a row here: what we changed, the version it shipped in, and the re-test.
changesDated list of edits to this record after it was first published.
初步評估 →