1. 程式人生 > >本地化測試錯誤特徵分析與測試方法

本地化測試錯誤特徵分析與測試方法

 軟體本地化測試是項系統性任務,講究團隊協作精神。軟體測試工程師負責測試、發現、報告軟體錯誤。軟體錯誤修復工程師的工作是及時正確修復處理這些軟體錯誤。為了便於軟體錯誤修復工程師能夠迅速重現報告的錯誤,尋找錯誤產生的原因,然後及時修復錯誤,需要測試工程師正確完整地報告發現的錯誤。另外,不同型別的軟體錯誤,又分別由來自不同公司的軟體錯誤修復工程師進行修復。例如,軟體功能錯誤和軟體國際化錯誤只能由源語言軟體供應商的軟體錯誤修復工程師進行修復,而本地化錯誤由本地化服務商的軟體錯誤修復工程師進行修復。

  下面對本地化軟體的錯誤的三種典型型別進行分類討論,探討錯誤的表現特徵,產生的原因,測試要求,發現錯誤的方法。

  1 、功能錯誤

  表現特徵

  · 不能實現設計要求的功能。
  · 產生與設計要求不符合的結果。
  · 絕大多數存在於源語言軟體和本地化軟體,也有僅出現在本地化軟體中。
  · 經常出現在軟體的選單項、工具欄按鈕和對話方塊的功能按鈕中。

  產生原因

  · 源語言軟體編碼錯誤。
  · 錯誤本地化,如將程式中的變數字串名進行了翻譯等。

  測試要求

  · 保證輸入資料正確,或者打開了正確的測試用例。
  · 明確正確的輸出結果和中間資料數值及格式。

  測試方法

  · 對於選單項或工具欄按鈕,通過全面測試各個選項,認真觀察每一步是否正確執行,輸出結果(包括格式和數值)是否正確。
  · 對於對話方塊,可以逐個執行各按鈕,各個列表選項等觀察執行結果。
  · 對於命令列形式的多個並列選項,採用路徑跟蹤法,按分支順序測試巢狀的全部子項。

  說明

  · 特別注意不同選項、不同按鈕相互操作的影響。
  · 注意檢查快捷鍵是否遺漏,是否多餘,是否不同,是否起作用。

  2 、國際化錯誤

  表現特徵

  · 控制元件或對話方塊中顯示不可辯識或無意義的明顯錯誤的字元。
  · 不支援雙位元組字元的輸入和輸出,包括雙位元組的檔名和路徑名。
  · 與當地不符合的預設列印紙張大小。
  · 與當地不符合的日期和時間格式。
  · 本地化軟體的列表項排序錯誤。
  · 某些沒有本地化的字串。
  · 僅出現在本地化後的版本中。

  產生原因

  · 源程式在設計時沒有正確進行國際化設計,例如,沒有提供雙位元組字符集的支援。
  · 源程式在設計時沒有將可以本地化的字串與軟體程式碼進行徹底分離。
  · 軟體本地化後,單位元組字元向雙位元組字元轉化過程中,由於單位元組和雙位元組之間的差別,可能使得某些本地化後的雙位元組字元的顯示亂碼。

  測試要求

  · 本地化後的軟體字元顯示正確完整,無亂碼或明顯錯別字。
  · 與本地區域有關的資料型別(日期 / 時間,貨幣符號,紙張大小,字型,度量單位等)的顯示符合本地的格式要求。

  測試方法

  · 執行選單或按鈕,檢查對話方塊中的字元。
  · 開啟幫助文件,檢查所有需要翻譯的字元。

  說明

  · 注意檢查對話方塊下拉列表中需要拖動滾動條才能顯示的內容。
  · 需要確認源語言軟體對應項正確,僅本地化軟體存在錯誤。

  3 、本地化錯誤

  包括翻譯錯誤和控制元件大小和位置引起的佈局錯誤。

  表現特徵

  · 應該翻譯而沒有翻譯的英文字元。
  · 不應該翻譯而翻譯的中文字詞。
  · 錯誤翻譯的字詞。
  · 較多隱含在對話方塊各控制元件以及幫助文件中。
  · 只在本地化版本中存在該型別錯誤。
  · 控制元件相互重疊或排列不均勻。
  · 控制元件中字元顯示不完整。
  · 主要出現在本地化版本的對話方塊中。

  產生原因

  · 翻譯人員不熟悉翻譯要求。
  · 翻譯人員工作疏漏。
  · 使用者介面的翻譯與標準術語表不一致。
  · 軟體本地化後,由於源語言和本地化語言的表達方式不同,本地化後的字元數與源語言不同,每個字元所佔空間尺寸不同,使得在英文版本正確顯示的控制元件字元,可能在本地化版本顯示不正確。
  · 在編譯本地化軟體之前,沒有對資原始檔對話方塊及其控制元件調整大小。
  · 本地化人員調整軟體資原始檔不當引起。例如,對話方塊及其控制元件高度或寬度的不正確調整。

  測試要求

  · 明確需要翻譯和不需要翻譯的內容。
  · 明確正確的翻譯方式。
  · 根據術語表,確認術語翻譯的正確性與一致性。
  · 對話方塊中控制元件佈局均勻,字元顯示完整正確。
  · 對話方塊中控制元件數量相等,沒有多餘或丟失的控制元件

  測試方法

  · 主要同時開啟中英文版本,執行相同的操作。
  · 結合標準介面翻譯術語表,參照對比。
  · 執行將要開啟對話方塊的選單或工具欄按鈕,觀察開啟對話方塊中的控制元件佈局。
  · 對比檢查源語言軟體和本地化軟體對應的對話方塊中控制元件的數量

  說明

  · 對於對話方塊,如果含有下拉列表框,要開啟列表框檢視全部項。
  · 特別要注意選項中開關類翻譯錯誤。
  · 可能在執行不同的操作後,如選擇了不同單選或複選按鈕後,編輯框顯示重疊等。
  · 執行後帶省略號的選單或命令按鈕,將會顯示對話方塊。
  · 一些對話方塊控制元件的佈局錯誤如果也存在於源語言軟體中,則屬於軟體設計錯誤,應該分配給軟體供應商處理。

  以上對本地化軟體測試經常遇到的三種錯誤型別進行了分析,實際測試是一個動態的過程,不能孤立靜態地對待發現的錯誤,錯誤的型別並不是絕對的,需要具體問題。例如,本地化軟體中如果發現應該翻譯而沒有翻譯的錯誤,既可能是由於本地化翻譯過程中忘記翻譯引起的本地化錯誤,也可能是源語言軟體設計程式設計中的硬編碼引起的國際化錯誤。再者,某些軟體功能錯誤既可能是由於本地化翻譯過程中採用了錯誤的翻譯格式 ( 例如,某些不應該翻譯的程式變數字元被翻譯了 ) 引起的錯誤,也可能是源語言軟體程式設計錯誤。最後,一個錯誤可能包含著其他的不同型別的錯誤。比如在對話方塊中,選擇某個按鈕,產生一個錯誤提示對話方塊,這可能是一個按鈕功能錯誤,如果對話方塊中存在需要翻譯而沒有翻譯的英文,則又是一個本地化翻譯錯誤,如果對話方塊中存在無法辨識的字元,則又是一個國際化錯誤,如果對話方塊中按鈕排列重疊,則還是一個本地化佈局錯誤。

  總之,本地化軟體的錯誤的產生是多方面的,不能僅僅歸結為軟體本地化過程帶來的錯誤。實際上,良好的國際化設計的源程式是減少軟體本地化錯誤的根本保證。當然,提高軟體本地化過程能力,提高翻譯和檢查,優化本地化軟體編譯流程,能夠減少很多因本地化產生的錯誤。軟體測試工程師需要認真思考軟體錯誤表現的實質,深入分析錯誤來源,將其劃分為正確的錯誤型別,分配給適當的修復工程師(源語言軟體供應商或本地化服務商)處理。

相關推薦

本地化測試錯誤特徵分析測試方法

 軟體本地化測試是項系統性任務,講究團隊協作精神。軟體測試工程師負責測試、發現、報告軟體錯誤。軟體錯誤修復工程師的工作是及時正確修復處理這些軟體錯誤。為了便於軟體錯誤修復工程師能夠迅速重現報告的錯誤,尋找錯誤產生的原因,然後及時修復錯誤,需要測試工程師正確完整地報告發現的錯誤

需求分析測試計劃、方案

pos 分析 驗證 工作 lan 解釋 一個 滿足 工具 需求分析 參與人員:軟件項目組所有成員,包括產品經理,開發經理,測試經理,系統工程師/架構師,開發工程師/程序員,美術工程師,測試工程師,項目經理,QA(質量監督人員),配置管理員。 測試需求的特征: 1、測試需求

MySQL伺服器SSD效能問題分析測試

【問題】 我們有臺HP的伺服器,SSD在寫IOPS約5000時,%util達到80%以上,那麼這塊SSD的效能究竟有沒有問題,為解決這個問題做了下面測試。 【工具】 blktrace是linux下用來排查IO效能的工具。它可以記錄IO經歷的各個步驟,並計算出IO請求在各個階段的消耗,下面是關鍵的一些

SSH框架 Bean property * is not writable or has an invalid setter method錯誤分析解決方法

錯誤出現提示: org.springframework.beans.NotWritablePropertyExcep tion:Bean property 'SysUserService' is not writable or has an invalid setter m

easyPR車牌識別分析測試結果

簡介 最近由於專案需要,需要做一個車牌號抓取和識別的功能,於是找到了EasyPR,全稱Easy to do Plate Recognition,一個全中文的開源識別專案,基於OpenCV和機器學習實現,支援跨平臺,相對來說比較簡單,速度也還不錯,準確度而言,白天

安卓強弱指標分析測試

  好久沒有更新部落格了,前段時間實在是太懶。過年後從老家到工作地方只更新了一篇與技術無關的文章。接下來時間,期望自己多多寫部落格,技術部落格中也適當增加些逸聞趣事(例如這幾天隔壁金三胖子手術後生死成謎),生活類部落格中加些技術性東西,以增加部落格的可讀性和趣味性。讓親愛的讀者們在快樂中就把知識學習了

Handler記憶體洩漏分析解決方法

最近整理完Android中訊息機制的知識後,想到Handler記憶體洩漏相關的問題也可以順便整理一下,便有了這篇文章,也方便以後自己查閱 為什麼Handler會造成記憶體洩漏 下面是一段簡單的Handler使用 public class MainActivity extend

第07章 常用類庫API_03_StringBuffer原始碼分析常用方法

在實際開發當中,我們經常會使用到字串連線的操作,如果用String來操作,則使用“+”號完成字串的連線操作。 使用String連線字串,程式碼效能會非常低,應為String的內容不可改變,解決這個問題的方法是使用StringBuffer。     St

系統分析設計方法---需求分析軟體設計

    需求分析是軟體生命週期中相當重要的一個階段。根據 Standish Group 對 23000 個專案進行的研究結果表明,28%的專案徹底失敗,46%的專案超出經費預算或者超出工期,只有約 26%的專案獲得成功。需求分析工作在整個軟體開發生命週期中有著十分重要的意義。

系統分析設計方法---面向物件的分析設計

面向物件的分析與設計     面向物件方法是一種非常實用的軟體開發方法,它一出現就受到軟體技術人員的青睞,現已成為電腦科學研究的一個重要領域,並逐漸成為軟體開發的一種主要方法。面向物件方法以客觀世界中的物件為中心,其分析和設計思想符合人們的思維方式,分析和設計的結構與客觀世

系統分析設計方法---簡單分散式計算機應用系統的設計

簡單分散式計算機應用系統的設計     網路極大地擴充套件了計算機的應用範圍,同時,由於升級到更強的伺服器的費用常常遠遠高於購買多臺檔次稍低的機器,更何況雖然計算機有了長足的發展,可是單臺計算機的功能仍然十分有限,利用聯網的計算機協同工作,共同完成複雜的工作成為相對成本較低

架構師學習筆記8--系統分析設計方法

系統設計是架構師的看家本領,但設計基於系統分析。系統架構師在專案管理師的協調下,與系統分析師協同工作。 一、定義問題與歸結模型 軟體系統的目的是解決問題,所以軟體開發第一步是定義和分析問題,在此基礎上歸結模型。 定義問題的過程包括,理解真實世界中的問題和使

在Markdown中緊跟list列表後的四空格縮排程式碼被錯誤解析問題解決方法

問題 在Github上編寫文件時遇到了一個奇葩問題:緊跟在list列表項之後的四空格縮排程式碼被不正確地解析。 例子如下: - list item1 - list item2     #include <stdio.h>     int main(int ar

Entity Framework 資料併發訪問錯誤原因分析系統架構優化

本文主要記錄近兩天針對專案發生的資料訪問問題的分析研究過程與系統架構優化,我喜歡說通俗的白話,高手輕拍1. 發現問題系統新模組上線後,使用頻率較高,故在實際使用和後期的問題重現測試中,產生了一下系列的資

C#中異常:“The type initializer to throw an exception(型別初始值設定項引發異常)”的簡單分析解決方法

對於C#中異常:“The type initializer to throw an exception(型別初始值設定項引發異常)”的簡單分析,目前本人分析兩種情況,如下: 情況一: 其實麒麟.NET的這篇文章主要講解分析了靜態成員的方面,總的說就是:型別初始化或訪問

訪問者模式 雙重分派分析 accept方法存在的必要性

以前看過大話設計模式,對各種模式有過一點了解,可是沒怎麼用,可沒怎麼深入去了解所以忘得很快,現在沉下心來好好研究下。但是,在看到訪問者模式的時候,我對accept存在的必要性很是不理解,覺得為何不直接呼叫visitor的visit方法去訪問 Element,不更直接,而且去

JAVA程序佔用高記憶體原因分析優化方法

首先看一下一個java程序的jmap輸出: 程式碼如下: [[email protected] ~]$ jmap -heap 837 Attaching to process ID 837, please wait... Debugger attached suc

影象特徵學習分類方法研究

基於深度學習的影象特徵學習和分類方法的研究及應用 華南理工 馮子勇 研究現狀: 1. 單層特徵編碼 2. 深度學習 深度玻爾茲曼機 卷積神經網路 Ioffe 和 Szegedy提出了塊歸一化(Batch Normal

Python之使用unittest框架和HTMLTestRunner.py檔案實現多個測試用例執行測試報告生成

HTMLTestRunner.py檔案下載連結:http://tungwaiyip.info/software/HTMLTestRunner.html 一直想讓使用HTMLTestRunner生成的測試報告可以儲存在指定的檔案目錄下,並以當前執行的時間進行命名,在網上有找

【軟體測試】質量保證測試策略

1.軟體質量保證(SQA) 1.1   什麼是SQA ? 軟體質量保證是通過對軟體產品和活動有計劃的進行評審和審計來驗證軟體是否合乎標準的系統工程活動.  確保SQA活動要自始至有計劃的進行審查軟體產品和活動是否遵守適用的標準、規程和要求並得到客觀驗證。SQA的活