關于測試版手機軟件的幾點看法
2024-06-09 17:59:25
供稿:網友
關于測試版手機軟件的幾點看法
前段時間論壇里面就索尼愛立信T102軟件版本進行討論,有同學提出了客戶服務中心給T102用戶手機安裝測試版軟件(也叫BETA版)的問題。在前面討論手機軟件升級的文章里面曾經說過,由于手機軟件是計算機軟件的一個分支,所以有著很多和計算機軟件相似的特點和共性。在計算機軟件里面,軟件的測試是一個必須和復雜的過程,我們經常都可以看見一些軟件的測試版本在網上供大家下載試用,可以說,目前我們使用的各種軟件都經過了嚴格的測試。那么平時我們很少可以看見測試版的手機軟件,正式的手機軟件和測試版手機軟件有什么區別,手機軟件的測試需要經過那些過程呢?結合計算機軟件的測試,我談談對測試版手機軟件的一些看法。
一、軟件測試
(一)軟件測試的理由:為了保證軟件的質量和可靠性,應力求在分析、設計等各個開發階段結束前對軟件進行嚴格的技術審評,以便能夠盡早地發現錯誤。但是,實踐證明,由于人們能力的局限性,審查并不能發現所有的錯誤。如果在軟件投入運行之前,沒有發現并糾正大部分的錯誤,那么這些錯誤將會在軟件的運行過程中暴露出來。到這時,不僅要為糾正這些錯誤付出巨大代價,同時也會造成惡劣的后果。這種情況就迫使人們必須認真地、徹底地進行軟件測試。
軟件測試是在軟件投入運行前,對軟件需求分析、設計規格說明和編碼的最終復審,是保證軟件質量的關鍵步驟。
軟件測試的定義:軟件測試是為了發現錯誤而執行程序的過程?;蛘哒f,軟件測試是根據軟件開發各階段的規格說明和程序的內部結構而精心設計一批測試用例(即輸入數據及預期的輸出結果),并應用這些測試用例去運行程序,以發現程序錯誤的過程。
從上面的軟件測試的理由和定義可以看出,測試版手機軟件并不是讓用戶正式使用,而是一個發現錯誤的過程。測試版的手機軟件就是通過運行來找到和修正隱藏的錯誤。這一點非常重要,說明測試版手機軟件并不是一個正式的產品,那只是讓大家試用的一個半成品,里面可能有我們(當然也包括程序員和生產廠商)所不知道的錯誤和漏洞。所以我們要慎重、小心地使用一些測試版的手機軟件,因為畢竟手機軟件不是計算機軟件,自己可以隨意安裝和刪除,你發現問題后必須到客服那里才能解決。
(二)軟件測試的目標可以歸納為以下幾點:
1.測試是為了發現軟件中的錯誤而運行軟件的過程;
2.好的測試方案是盡可能地發現至今尚未發現的錯誤的測試方案;
3.成功的測試是發現出至今尚未發現的錯誤的測試方案。
測試的目標是以最少的時間和人力找出軟件中潛在的各處錯誤和缺陷。除了發現軟件中的錯誤外,測試還能夠證明軟件的功能是否同性能和需求說明相符。此外,實施測試所收集到的測試結果數據為可靠性分析提供了依據。
從軟件測試的目標可以看出,軟件測試的目的是找出軟件中的錯誤和缺陷,所以在使用測試版的手機軟件時應該對手機的全部功能在各種情況下進行使用,力爭及時發現軟件中的錯誤和漏洞,為及時更改提供便利。
(三)軟件測試應遵循的原則:
1.不要抱有“軟件不會有錯或認為查不出錯”的幻想;
2.設計測試試用例時,應同時確定輸出結果;
3.設計測試試用例時,應包括合理的輸入數據和不合理的輸入數據;
4.軟件設計者應當避免測試自己的程序;
5.嚴格全面地執行測試計劃;
6.測試完成后,應妥善保存測試計劃、測試用例、出錯統計和最終分析報告。
(四)軟件測試方式:人工測試、動態測試和自動測試三種。
1.人工測試:人工測試是由人工對軟件進行閱讀和檢查。主要方法有:走查和會查。主要內容有:檢查軟件的結構是否合理;功能是否達到設計說明中的要求;檢查各模塊之間的接口是否正確;檢查各模塊內部控制邏輯的正確性;進行數據結構和語法分析。經驗表明,使用這種方法能夠有效地發現30%到70%的邏輯設計和編碼錯誤。
2.動態測試:就是上機測試,用設計好的測試用例作為輸入,執行程序,以發現軟件中的錯誤。
3.自動測試:就是利用一些測試工具,代替人工進行靜態分析和動態測試。測試工具分為:靜態分析工具、動態分析工具和測試評估工具。
從上面測試的方式分類看,使用測試版手機軟件的過程是屬于第一種人工測試這一類的(當然是當了生產廠商的免費測試員)。
(五)軟件測試過程:按單元測試、組裝測試、確認測試和系統測試四個步驟進行。
1.單元測試:又稱模塊測試。它的測試目的是發現模塊的子程序或過程的實際功能與該模塊的功能和接口的描述是否相符,以及是否有編碼錯誤存在。主要內容有:模塊接口測試;局部數據結構測試;重要路徑測試;出錯處理能力測試;邊界條件測試。嚴格地來講,單元測試從程序編寫完畢,著手對程序模塊進行檢查的時候就開始了。它包括人工測試(代碼檢查)和上機測試兩個步驟。
2.組裝測試:又稱集成測試或聯合測試。單元測試之后,應按要求把模塊組裝起來,進行組裝測試。組裝測試過程中的模塊組織方式有非漸增式和漸增式兩種。
(1)非漸增式組裝測試:這種組裝方式是先對每個模塊分別進行測試,然后再把所有模塊組裝在一起進行整體測試。
(2)漸增式組裝測試:這種方式是先對一個個模塊進行模塊測試,然后把這些模塊逐步組裝成較大的系統,在組裝過程中,每連接一個模塊便進行一次測試,直到把所有模塊集成成為一個整體并進行測試,則軟件的組裝測試完成。分為兩種:自底向上測試和自頂向下測試。
3.確認測試:又稱有效性測試。組裝測試結束后,得到一個完整的軟件系統,這時進行最后的測試,即有效性測試。有效性測試階段主要進行的測試有:有效性測試(黑盒測試)、軟件配置復查、α測試和β測試以及驗收測試。
(1)有效性測試:是在模擬的環境下,運用黑盒測試(注)的方法,驗證被測試的軟件是否滿足需求規格說明書上的需求。
(2)軟件配置復查:是為保證軟件配置齊全。即要保證所有文檔資料的完整性和正確性,同時還要保證軟件各方面的質量都要符合要求。
(3)α測試:是一個用戶在開發環境下,并且在開發者的陪同下進行的測試。目的在于評價軟件的功能、可使用性、可靠性、性能和支持等。
(4)β測試:是多個用戶當開發者不在現場的時候在一個或者多個用戶的實際使用環境下進行的測試。必須在α測試達到一定的可靠程序時才可以進行的,目的在于測試可支持性。測試版的別稱BETA版的喊法應該就是從這里來的,β的英文名稱就是BETA。
(5)驗收測試:是以用戶為主的測試。目的在于確定系統功能和性能的可接受性。
4.系統測試:是指將經過確認測試后的軟件系統與計算機(手機)硬件、外設、其他支持軟件以及其他系統元素一起進行測試。主要內容有:功能測試、吞吐量測試、可用性測試、保密性測試、安裝測試、可恢復性測試、資料測試和程序測試。
上面詳細介紹了軟件測試的全過程,從我們實際使用測試版軟件的情況看,一般用戶使用的測試版軟件應該是確認測試里面的最后兩項:β測試和驗收測試所使用的軟件。后面只要再通過系統測試,測試軟件就可以成為一個可以正式給用戶使用的軟件了。但是,需要特別強調的是,即使在前面經過了那么多測試、后面只剩最后一個測試項目的情況下,我們通常使用的測試版軟件仍然只是一個測試的產品,和真正的可以交給用戶使用的正式產品還是有明顯的區別。這種區別不僅僅是在名稱(或軟件版本號)上,而且在軟件的程序上有很大的可能存在區別。這是因為,如果軟件測試順利有可能一次就通過β測試、驗收測試和系統測試,那么用戶使用的測試版軟件和正式的軟件就沒有區別,但出現這種情況的機會從概率上來說是很低的(無論對于復雜的計算機程序還是相對簡單的手機軟件來說都幾乎不可能);如果測試發現了錯誤和問題,那么程序就會需要更改,那么最后真正交給用戶的軟件和測試版軟件就會存在區別,出現這種情況的概率是很高的,原因就是前面講的,任何軟件在設計時就不可能沒有錯誤和漏洞,如果有,在測試時發現后,那么就必須要進行更改。
最關鍵的一點是,由于測試軟件不可避免地存在錯誤和漏洞,那么對于使用者來說就存在隱患,而且一些錯誤和漏洞可以在后來出的正式的軟件中被消除,減少不必要的麻煩。因此,對于消費者來說,使用測試版的手機軟件帶來的風險要明顯高于正式版的手機軟件,而且發現問題后要重新到客服那里安裝手機軟件對消費者來說無疑是增加負擔和麻煩,所以建議最好安裝正式版本的手機軟件,如果只有測試版的,即使等待一段時間安裝正式版的也是值得的。
二、客服在使用測試版軟件時的提示
相信很多人都曾經下載和使用過一些計算機軟件的測試版本,象我們很多人使用的網絡尋呼工具QQ就經常提供測試版給大家試用。一般這些程序對計算機的運行影響都不會很大,即使發現問題了,反安裝或者刪除掉就可以了,甚至還可以直接升級到新的版本。但對于手機用戶來講就不是那么容易的了,原因是:1.目前使用的手機軟件就是一個象WIN98一樣的操作系統,如果有太多的BUG和漏洞對使用者來說就很痛苦了,就象計算機安裝的操作系統如果毛病太多,想必誰用著都不爽;2.對于普通用戶畢竟不可能自己安裝和修改手機軟件(少數高手除外),只有到客服那里去維護。所以,手機客戶服務中心在使用測試版的手機軟件給用戶安裝時應該向用戶說明,并且應該把風險講清楚,避免今后給用戶和客服帶來麻煩。
目前,在網上經常下載的一些測試版的軟件都會在名稱和注解中明確地告訴使用者,這是一個測試版軟件(就是BETA版),并不是一個正式的軟件,讓用戶在使用前就已經知道風險。那么客服人員在給手機軟件進行維護時,如果要給用戶的手機安裝一個測試版軟件,就應該準確、清楚地告訴用戶安裝的是測試版軟件以及因此而有可能帶來的風險,讓用戶自己去選擇是否安裝,并且讓用戶在發現問題后及時反饋信息,便于軟件的改進。如果客服人員在安裝前沒有向用戶進行這種必須的提示和解釋,那么后果將是非常嚴重的,這也違反了作為服務人員的一種職業道德標準;而且用戶完全不知道自己使用的是測試版軟件,在使用中發現問題就會帶來一些不必要的麻煩,用戶發現后完全有理由對此行為追究客服的法律責任。就好象一些醫藥公司在對新藥進行投入市場前的臨床實驗時,都必須要告訴患者使用藥物是測試產品,而且會有不可預知的風險。所以,客服人員必須在安裝測試軟件前告知用戶準確的信息,而不是使用一些模糊的說法或者向用戶隱瞞事實。
三、總結
1.手機軟件在成為正式產品之前進行全面的測試是十分正常和非常必要的。
2.手機軟件的測試是一個復雜、系統而且是嚴格的過程,普通用戶如果要使用測試版手機軟件必須要有足夠的心理準備;
3.無論是計算機軟件還是手機軟件,它們的測試版由于本身存在的不知道的錯誤,在使用過程中難免會遇到不可預知的問題;
4.客服人員在對用戶手機進行軟件維護時,在使用測試版軟件前,應該明確地告知用戶,由用戶自行抉擇;
5.如果用戶自愿安裝測試版軟件,在使用過程中應盡量使用各種功能,發現問題后及時向廠商反映,以便能夠使軟件中的錯誤得到修正。
注:常用的測試方法有黑盒測試和白盒測試兩種。
1.白盒測試:又稱結構測試或邏輯測試。所謂“白盒”是指將測試對象看作一個打開的盒子,測試人員可利用程序內部的邏輯結構及有關的信息來設計或選擇測試用例。因此白盒測試主要考慮的是測試用例對程序內部邏輯的覆蓋程度,而不考慮程序的功能。測試用例對程序的覆蓋程度從低到高分別為:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋。
2.黑盒測試:又稱功能測試或數據驅動測試。在這種測試方法中,程序對測試者是完全透明的,測試者不考慮程序的內部結構和特性,就象把程序看作一個不能打開的盒子,只根據程序的需求規格說明中的程序功能或程序的外部來設計測試用例。方法包括:等價分類法、邊緣值分析法、因果圖法和錯誤推測法。
后記:針對索愛T102在軟件維護時客服不同的態度,有同學提出了R6E版本是測試版的推測,從上面分析,我個人認為這種假設是不可能的,原因有二:
1.上面的分析已經講了,客服如果在不事先聲明的情況下使用測試版手機軟件給用戶使用,無疑是非常冒險的行為和違反職業道德的,從客服和廠商的角度講,是完全沒有必要的,而且就算有測試版軟件,他們自己也可以進行測試,沒有必要偷偷摸摸地讓用戶進行;
2.T102的軟件發展到R6B版本,已經經歷了好幾個軟件版本,目前沒有發現功能上有什么大的改動,相信每個新版本軟件都是對上一個版本軟件的改進(就是減少BUG和漏洞),而且用戶也經過了長時間的使用,因此,沒有必要這個時候還推出測試版軟件。