作者/張麗輝,上海龍旗科技股份有限公司
隨著科技社會的發(fā)展,手機(jī)與我們的生活息息相關(guān),已經(jīng)到了密不可分的地步了,手機(jī)扮演著多元的角色,手機(jī)行業(yè)的發(fā)展已經(jīng)改變了我們生活的方方面面。在軟件測試的工程中,軟件測試一般是用來優(yōu)化軟件的重要可靠手段。實(shí)際實(shí)踐證明了未經(jīng)過測試的或未充分測試的軟件是不能直接作為發(fā)布產(chǎn)品的,如果發(fā)布,可能會大概率存在安全隱患,甚至導(dǎo)致無法挽回的災(zāi)難。在形式化的方法和程序的正確性證明技術(shù)還未實(shí)用的狀態(tài)下,軟件測試在未來的相當(dāng)一段時間里是保證軟件的可靠性和有效避免其出問題的最重要的方法。從當(dāng)前國內(nèi)的手機(jī)軟件的形式來看,因?yàn)榻圆蛔愕脑?,國?nèi)的手機(jī)軟件測試還是處于比較基礎(chǔ)的階段,對手機(jī)軟件測試的理解也不夠透徹,投入的精力不夠,因而很難去制定出一套詳細(xì)的手機(jī)軟件測試的標(biāo)準(zhǔn)來完成手機(jī)軟件測試工作。
在進(jìn)行需求分析的時候,軟件測試人員既要明確知道客戶的需求的同時,還要收集軟件測試的相關(guān)信息,評估開發(fā)的風(fēng)險和明確相應(yīng)測試對策,做好測試項(xiàng)目的變更管理,并要求組織軟件測試的工程師參加軟件的需求調(diào)研和需求評審活動。對于手機(jī)產(chǎn)品的測試分析,不僅是完成客戶們的要求,而是從終端用戶對于手機(jī)的需求和市場上的手機(jī)原型,對其的需求來進(jìn)行修改完善。
在軟件設(shè)計分析這個階段中,最主要的工作就是把軟件需求作為依據(jù),把測試的范圍和重點(diǎn)劃出來,并針對其完成測試制定計劃。
測定計劃需要注意的事項(xiàng):①規(guī)定手機(jī)軟件測試的可測量及完成測試的目標(biāo)。②接收標(biāo)準(zhǔn)。③計劃用來測試的資源和工具,測試的過程中軟、硬件以及人力資源的分配和測試平臺。④軟件測試時負(fù)責(zé)人和開發(fā)人員溝通好,在軟件穩(wěn)定下來時候再開始進(jìn)行測試等一系列操作。⑤根據(jù)軟件的要求和軟件周期的安排,計劃要完成測試階段的哪一些測試(功能、并發(fā)、壓力測試),并指定每種測試必須達(dá)到的標(biāo)準(zhǔn)。⑥定下測試任務(wù)暫定的水準(zhǔn)和再啟動的要求。⑦測試任務(wù)和進(jìn)度。
該階段是手機(jī)軟件測試中比較重要的,需要保證手機(jī)的質(zhì)量。在這個階段里,手機(jī)軟件所需的文檔和軟件結(jié)構(gòu)的分析基本完成了。測試工程師需要把所有的分析文檔、詳細(xì)設(shè)計文檔及該有的測試用例庫作為測試來源。就拿安卓的例子來說,安卓系統(tǒng)可以實(shí)現(xiàn)多任務(wù)的,可以一起測試這些項(xiàng)目,但這個測試不僅能減少時間,同時還可以測試手機(jī)的兼容程度。在市場上存在著很多個安卓的版本,最消耗時間的項(xiàng)目莫過于把不同的手機(jī)與不同版本的安卓系統(tǒng)的兼容性進(jìn)行測試。如果測試員發(fā)現(xiàn)了錯誤要及時糾正和修改,以達(dá)到減少損失的目的。
在測試一款產(chǎn)品的時候,寫的測試中要與需求上有一定的關(guān)聯(lián),這就需要考慮到涉及到了交互測試。這樣測試用例不會與某一款產(chǎn)品產(chǎn)生比較緊密的關(guān)聯(lián),這樣就可以在不同的平臺上創(chuàng)造出更多不一樣的手機(jī),進(jìn)而削減了勞動力、縮短了開發(fā)的周期,最后降低了商業(yè)成本,從而實(shí)現(xiàn)提高產(chǎn)品的商業(yè)價值和有效勞動力[2]。然而有很多問題都是由于硬件不同而引起的,所以不同的硬件就要有不一樣的側(cè)重點(diǎn)。
就是軟件的編碼和單元模塊測試階段,首先就是單元測試,軟件是由許許多多個單元組成的。這個測試的目的就是把各個存在錯誤和不足的單元給找出來,第一步就是靜態(tài)人工檢測,這個是通過代碼的審查,將編寫中存在的錯誤給找出來。這個完成之后,對其就行動態(tài)追蹤,通過對代碼的運(yùn)行,把單元也運(yùn)行起來,這樣就可以有效地避免執(zhí)行程序過程中出現(xiàn)錯誤[1];然后就進(jìn)行集成測試,對著所需要的要求,把單元都組裝起來,形成一個子系統(tǒng)并對其進(jìn)行測試。
在測試用例都測試完成后,要有相關(guān)人員進(jìn)行審查來確定是否可以進(jìn)行下一個步驟環(huán)節(jié)了。另外還有兼容性測試,除了這個,在對系統(tǒng)的測試中,還需要進(jìn)行其功能測試、手機(jī)性能測試、系統(tǒng)的強(qiáng)度測試、負(fù)載測試等等,在測試中要及時修正所發(fā)現(xiàn)的錯誤。
系統(tǒng)測試的主要內(nèi)容:① 功能性的測試。② 手機(jī)常規(guī)性能測試。在正常的軟硬件條件下不對其施加任何壓力,來驗(yàn)證手機(jī)是否可以正常工作。③ 手機(jī)系統(tǒng)的強(qiáng)度測試。④ 交互測試。手機(jī)軟件相對于來說是一個比較復(fù)雜的系統(tǒng)如果只靠對基本功能的測試是可能達(dá)不到要求的,終端用戶在某些偶然的條件下可能會打開很多個應(yīng)用app,這就是產(chǎn)生了交互測試。
系統(tǒng)測試是手機(jī)軟件測試中最為關(guān)鍵的一個環(huán)節(jié),在此階段中進(jìn)行時間最長發(fā)現(xiàn)的問題最多,其中的流程關(guān)鍵而繁瑣。在此過程中,軟件測試的負(fù)責(zé)人必須分析測試工作的結(jié)果,確定測試工作的順序和嚴(yán)謹(jǐn)性。
在整個手機(jī)軟件測試的過程中,軟件測試的負(fù)責(zé)人根據(jù)軟件測試定制的暫停的基礎(chǔ)原則,來判定測試動作是否已經(jīng)達(dá)到了暫停的標(biāo)準(zhǔn)。與此同時,負(fù)責(zé)人要完成手機(jī)軟件測試的報告。主要報告這次此時所用的軟硬件的版本,測試做了哪些工作、花了多長的時間、測試中發(fā)現(xiàn)了什么樣的問題、還剩下多少問題沒有解決等等,然后依據(jù)一定的評分標(biāo)準(zhǔn),為測試的結(jié)果進(jìn)行評估并進(jìn)行上報。
通過測試專業(yè)團(tuán)隊(duì)的檢測,確定產(chǎn)品是否可以用來進(jìn)行正式的發(fā)布,如果評估不合格可能還要重新返還進(jìn)行重做再進(jìn)行評估直到評估通過為止。最后由公司質(zhì)保部門或者軟件定制組織進(jìn)行確認(rèn)是不是完成規(guī)定里需要的所有功能并確定能否發(fā)布。
在整個的測試過程中,確定測試是最后一個步驟而且十分重要,它決定著一個產(chǎn)品的命運(yùn),是否能正式發(fā)布。在手機(jī)軟件生產(chǎn)過程中往往會遇到客戶會對軟件需求的改變,所以在正式的發(fā)布之前都要由客戶確認(rèn)了所有的需求,才能避免發(fā)布會后蒙受重大的損失。
測試軟件的最主要的目的就是發(fā)現(xiàn)軟件所出現(xiàn)的問題,所以編寫錯誤報告是一個至關(guān)重要的工作項(xiàng)目。通過這個報告的正確指引,可以使開發(fā)人員少走一些彎路、少花一些不必要的時間、節(jié)省更多的精力,準(zhǔn)確而快速地定位到問題出現(xiàn)在哪兒,進(jìn)而對出現(xiàn)的問題采取一些必要措施去解決這個問題。在進(jìn)行撰寫錯誤報告的時候,要保證錯誤報告的客觀性以及全面性[3]。在報告中發(fā)現(xiàn)錯誤很重要,甚至可以查出問題的根本所在。所以不能輕視錯誤報告的重要性。
現(xiàn)在的手機(jī)中功能越來越多樣化,使得回歸測試的工作量變得越來越大,并且測試中經(jīng)常碰到的工作的重復(fù)性挺大的,如果是測試員手動執(zhí)行的話比較費(fèi)力,容易讓測試員感覺到枯燥乏味進(jìn)而產(chǎn)生疲倦感甚至疲倦心理,很容易造成遺漏。有一套自動測試的設(shè)備的話可以大大提高測試效率。
為了能保證測試計劃能夠高效且順利的完成,測試監(jiān)控則是一個重要的手段和保證。負(fù)責(zé)人應(yīng)加強(qiáng)對測試的監(jiān)控力度,確保測試工作不出現(xiàn)任何差錯,如果及時發(fā)現(xiàn)錯誤要盡快修正。負(fù)責(zé)人應(yīng)該在每個階段的開始的時候,根據(jù)計劃的管理來進(jìn)行控制監(jiān)控測試的工作[4]。
對手機(jī)來說,測試可以說是非常重要的步驟。測試是否合格直接影響到它的發(fā)布。對于手機(jī)軟件測試的過程中存在許許多多的不規(guī)范操作流程,在開發(fā)的過程中需求經(jīng)常有所變化,同時測試人員的經(jīng)驗(yàn)也不夠豐富和不夠了解軟件的情況,從而使得工作繁瑣且測試效率不高并且浪費(fèi)了大量時間和精力,測試過程中執(zhí)行控制力較差,造成測試的工作質(zhì)量低下,進(jìn)而增加了軟件的生產(chǎn)成本。通過規(guī)范測試流程,能夠提高軟件測試的效率和質(zhì)量,從而提高軟件的質(zhì)量和降低軟件生產(chǎn)和維護(hù)的成本。加強(qiáng)對測試員的要求水準(zhǔn),多培訓(xùn)其有關(guān)手機(jī)軟件測試的課程,鼓勵測試員自己去摸索和開拓創(chuàng)新。將軟件中存在的錯誤和缺陷盡早找出來并進(jìn)行優(yōu)化和修復(fù),保證軟件在后續(xù)運(yùn)行的過程中不會出現(xiàn)和質(zhì)量相關(guān)的問題,避免出現(xiàn)巨大的損失。對于我國手機(jī)軟件測試的發(fā)展,本文還是給出了一些關(guān)于手機(jī)測試可供借鑒的方案。實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),真正的還是需要在工作中自己去摸索和發(fā)現(xiàn),然后結(jié)合一定的測試經(jīng)驗(yàn),從而將測試的水準(zhǔn)提高很多。
* [1] 杜梅,劉丙利.淺析提高軟件測試效率的方法[J].科技信息,2011(15)
* [2]李慶義.軟件測試領(lǐng)域知識管理技術(shù)的應(yīng)用[J].軟件導(dǎo)刊 .2012(02):18—19
* [3]李香平,楊兆選.基于虛擬線的交通新算法[J].電子測量與儀器學(xué)報,2005,19(4):3033.
* [4]崔立尉.手機(jī)軟件測試的實(shí)踐探討[J].電子制作2013(24):59