軟件測試的重要性現在已經被人們廣泛認識和了解,近兩年,眾多的軟件公司開始將軟件測試外包出去,由第三方專業的測試公司進行測試,客觀地測試和報告軟件Bug。有獨立的軟件測試第三方的出現,好處是能嚴格地掌控軟件質量,減少維護成本。由于涉及代碼的保密性,幾乎所有軟件外包測試都是“黑盒測試”。所謂“黑盒測試”,是指已知產品所應具備的功能,通過測試來檢測每個功能是否都能正常使用。在測試時,完全不考慮程序內部結構和內部特性的情況下,測試者只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息,并且保持外部信息(如數據庫或文件)的完整性。

  軟件測試職業發展狀況

  由于我國IT業勞動力成本相對較低,因此一些國際大公司如微軟、IBM等,紛紛把“黑盒測試”外包出去,交給國內專業的軟件測試公司來做,主要對其產品進行本地化測試和功能性測試。我國軟件外包測試行業雖起步較晚,但發展迅速,已有多家專門從事這方面的測試公司,規模比較大的有文思創新、博彥科技、天海宏業等。

  目前國內測試人才奇缺,調查數據表明,現在軟件測試崗位上從業技術人員有三萬多名,而具備五年以上從業經驗的軟件測試工程師不超過一萬人,軟件測試人才的缺口超過20萬,在未來5~10年中,這一數字還將繼續增大。軟件測試職業前景非常廣闊,有兩年工作經驗的軟件測試人員,月薪一般都能夠達到4000~5000元左右。

  揭開“黑匣子”中的秘密

  筆者在一家軟件外包測試公司工作,每日的工作是對軟件進行本地化測試。根據分配的測試任務和提供的測試文檔進行軟件測試,找出軟件中的缺陷。所謂本地化測試,是指對已經本地化的軟件進行測試,主要檢查針對特定目標區域性或區域設置的產品本地化質量,它只能在產品的本地化版本上進行。在測試之前需要根據測試文檔的要求,搭建好相應的軟硬件測試環境。通常測試中至少需要兩臺計算機,一臺為工作機,用來查看測試腳本、文檔;一臺為測試機,用來做測試,運行測試腳本。

  本地化測試中主要的Bug類型包括功能性和可用性兩方面,其中前者指影響產品的功能以及不能實現設計要求的功能,后者則涉及到影響UI(User Interface)的可用性問題,主要包括字符顯示不完整、不正確,以及組件大小和位置引起的布局錯誤等。

  在測試中如果發現Bug,要及時提交軟件缺陷報告給開發人員。測試人員還要隨時追蹤軟件缺陷報告的狀態,一旦開發人員修改了軟件中的Bug,還要再對Bug進行重新測試,驗證Bug已正確修復。當天的測試工作結束前,要填寫每日測試報告,提供測試完成的進度信息,反映測試中發現的問題,并把報告提交給項目經理。

  看似簡單的測試工作其實并不輕松。每天要完成測試的腳本數量相當多,而且在測試過程中會遇到各種意想不到的困難和問題。有些問題是測試人員對軟件產品不熟悉及對測試腳本不理解造成的,還有些則是測試腳本同測試產品相脫節造成的。這需要測試人員有良好的溝通能力和團隊精神,并且向有經驗的測試工程師請教學習。當測試出現問題時,與其他測試人員多進行交流,大家集思廣益,問題往往會得到很好的解決。

  作為一名的測試人員,要善于利用各種途徑不斷提高自己的業務知識水平。軟件外包測試工作并不像外界宣傳的那樣枯燥乏味,它是一項充滿挑戰性的工作。通常測試的都是自己先前沒有接觸過軟件產品,需要在短的時間內熟悉它并且能夠操作及應用。測試中,不是所有的Bug都能很容易地找出,一定要耐心和細心才能找出這些Bug。每當發現軟件中的一個Bug,自己會很有成感,只有當你真正投入到測試之中的時候,你才會發現其中的樂趣。