乙個好的輸入法就是要能讓使用者敲什麼有什麼,感覺「很準」。「很準」的其中乙個衡量尺度就是我們今天要討論的輸入準確率。
使用者分類
那我們怎麼測試輸入法的準確率呢?回答這個問題,首先要回答另乙個更本質的問題:為什麼要軟體測試?很多人會說是為了保證產品質量。很對。但為什麼要保證產品質量呢?是為了使用者!
測試輸入法的準確率的目的就是為了衡量使用者體驗,所以首先要對使用者群體進行研究。通過對使用者行為的研究分析,我們發現輸入法的使用者有幾種不同的分類,例如:
· 不同的背景知識(教育、軍事、醫藥等等)
· 不同的輸入長度(整句輸入,單詞輸入,單字輸入等等)
· 不同的全簡拼習慣(主要是指有的使用者習慣用首字母來敲一些常用字,例如「srf」來敲出「輸入法」;而另外一些使用者更傾向使用完整的拼音)
· 不同的方言背景(有些地區的人傾向混用z和zh,有些地區的人傾向混用n和l,等等)
這些使用者都是我們的上帝,我們關心他們的輸入體驗。但不同的使用者分類方法有很多,每個使用者個體的也有各自獨特的輸入習慣,要一一衡量不同的使用者是不可行的。這需要測試人員化繁為簡,研究主流人群的主流習慣,針對這些主要的行為習慣進行衡量。
測試方法
測試輸入法的準確率最直接的方法就是邀請一些特定使用者到現場輸入一些文字,然後通過問卷反饋得到使用者對輸入法準確率的滿意程度。
除此之外,我們開發了自動化的工具來模擬這些使用者的輸入,方便地重現使用者輸入過程,隨時隨地得到測試報告。自動化的測試過程簡單來說分成以下幾個部分,如下圖所示。首先是預處理,將原始的中文文字進行分詞和注音,並根據不同的使用者行為封裝成測試用例。然後這些這些測試用例會作為自動化工具的輸入,由工具來模擬使用者的行為,最終得到準確率的測試結果報告。
那麼如何具體覆蓋到不同的使用者行為的呢?以不同背景知識的使用者作為例子,我們盡量使測試文字覆蓋不同領域,並保持大小平衡,下圖列舉了一部分:
對於準確率的具體計算方法有很多,其中一種用於計算測試文字和輸入法實際敲出文字的差距大小,學術上稱為編輯距離(edit distance),簡單的講就是從乙個字串需要經過修改得到另乙個字串的次數。例如,使用者想要輸入的字串是「夏雨去西安」,但是在輸入法輸入「xiayuquxian」的時候卻得到「下雨曲線」,那麼要如何進行修改呢?
第一步:下雨曲線 → 夏雨曲線(用「夏」替換「下」)
第二步:夏雨曲線 → 夏雨去線(用「曲」替換「去」)
第三步:夏雨去線 → 夏雨去西(用「西」替換「線」)
第四步:夏雨去西 → 夏雨去西安(在末尾插入「安」)
這裡列舉的只是其中一種修改辦法,它們之間的編輯距離就是4。如果另外乙個輸入法輸入「xiayuquxian」的時候得到「下雨去西安」,這時只需一步修改即可得到想要的「夏雨去西安」
第一步:下雨去西安 → 夏雨去西安(用「夏」替換「下」)
編輯距離就是1。從這個數值就可以看出第二個輸入法要優於第乙個輸入法。
如何測試輸入法的「準」
那麼如何具體覆蓋到不同的使用者行為的呢?以不同背景知識的使用者作為例子,我們盡量使測試文字覆蓋不同領域,並保持大小平衡,下圖列舉了一部分 對於準確率的具體計算方法有很多,其中一種用於計算測試文字和輸入法實際敲出文字的差距大小,學術上稱為編輯距離 edit distance 簡單的講就是從乙個字串需要...
如何設定word的預設輸入法 搜狗輸入法
可開word時 預設的是微軟的輸入法 把微軟輸入法刪了 預設的成了英文了 怎麼改成搜狗啊 大家是不是有這個困惑呢 其實這個事情很好解決 只需簡單幾步就可以把word的預設輸入法改成你想要的 我用的是office2010 2007的設定基本一致 我用的輸入法是搜狗拼音 所以這裡就以它為例 首先 要把系...
筆畫輸入法教程 如何學習筆畫輸入法
文 項有建 筆畫輸入法,是以漢字的筆順作為基本編碼元素,根據國家漢字編碼規則之規定,漢字的五個基本筆順為橫 豎 撇 點 折,所有的筆畫輸入法必須以這五個基本筆順加上其他的變形作為輸入法的編碼元素。在實際中,變形主要分為兩種,一種是以加上其他的筆畫規則,以原來的 字能手機輸入法 為代表,將折又細分為若...