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