移動應(yīng)用的測試策略與測試架構(gòu)

今天我們來談?wù)勔苿訙y試的測試策略與測試架構(gòu)。

首先我們將移動應(yīng)用的范圍限定在智能移動操作系統(tǒng)(比如Android、iOS蜗侈、WinPhone等)上,包括手機應(yīng)用睡蟋,智能設(shè)備應(yīng)用等踏幻。

智能手機和智能設(shè)備的普及需要大量的應(yīng)用來支撐。隨著應(yīng)用數(shù)量的增多戳杀,業(yè)務(wù)復(fù)雜度的提高该面,移動應(yīng)用也越來越需要各種測試來保證應(yīng)用以及設(shè)備本身的正確和穩(wěn)定運行。因此移動應(yīng)用測試的需求也越來越大信卡,大量關(guān)于移動應(yīng)用測試的書籍應(yīng)運而生隔缀,比如《Android移動性能實戰(zhàn)》《騰訊iOS測試實踐》傍菇、《移動APP性能評測與優(yōu)化》猾瘸、《深入理解Android自動化測試》《精通移動App測試實戰(zhàn):技術(shù)丢习、工具和案例》等牵触。

這些書都介紹了大量的移動應(yīng)用測試實踐,但是無論看多少本書咐低,學(xué)習(xí)多少種測試方法揽思、測試技術(shù)或者測試工具和框架,首先還是需要學(xué)習(xí)并使用測試策略與測試架構(gòu)见擦。如果沒有在一開始制定好的測試策略和測試架構(gòu)钉汗,而是盲目進行各種測試,很有可能事倍功半鲤屡。

image.png

對于移動應(yīng)用损痰,首先它本質(zhì)上也是軟件系統(tǒng),所以通用的軟件測試方法技術(shù)都可以使用酒来。其次它又擁有嵌入式的特征卢未,比如開發(fā)需要交叉編譯、需要遠程調(diào)試役首、硬件資源相對不足等尝丐。所以移動應(yīng)用的測試也有其特殊之處,比如也需要交叉編譯衡奥、遠程測試以及各種硬件相關(guān)測試等爹袁。對應(yīng)的移動應(yīng)用的測試策略和測試架構(gòu)也有其特殊性之處。

制定測試策略

我將移動測試分為三種類型矮固,分別是基礎(chǔ)測試失息、進階測試和產(chǎn)品測試譬淳,其中基礎(chǔ)測試是產(chǎn)品能正確并快速交付的基本保障,擴展測試主要是為了增強軟件系統(tǒng)的健壯性盹兢,而產(chǎn)品測試主要是通過產(chǎn)品角度以及用戶角度去思考而進行的測試邻梆。下面分別列舉了常見的三種類型測試。

基礎(chǔ)測試

  • 功能測試 (Function Test)[1] 绎秒。
  • 集成測試(Integration Test )
  • 單元測試(Unit Test)
  • 契約測試(Contract Test)[2]

進階測試

  • 兼容測試(Compatibility Test)
  • UI視覺測試(UI Visual Test)
  • 性能輪廓(Profiling)
  • 安全測試(Security Test)
  • 異常測試(Exception Test)[3]
  • 猴子測試(Monkey Test)
  • 安裝浦妄、升級和卸載測試(Install、Upgrade and Uninstall Test)
  • 耐久測試(Endurance Test)
  • 耗電測試(Power Consumption Test)
  • 流量測試(Network Traffic Test)
  • 其他硬件功能專項測試[4]

產(chǎn)品測試

  • 易用性測試(Usability Test)
  • A/B測試(A/B Test)
  • 產(chǎn)品在線測試(Product Verification Test or Product Online Test)
  • 用戶測試(Customer Test)[5]

對于一個中小型項目來講见芹,很多時候資源都是十分有限的剂娄,很難做到全面類型的測試,大型項目更是如此玄呛,更難有足夠多的資源做所有類型的測試阅懦。而且可能還由于團隊人員的技術(shù)能力不足,或者所擁有的測試相關(guān)的技術(shù)棧的局限徘铝,以及開發(fā)測試環(huán)境和軟件系統(tǒng)架構(gòu)的限制耳胎,有些類型的測試是無法進行的。

所以惕它,制定測試策略的關(guān)鍵點在于根據(jù)質(zhì)量需求的優(yōu)先級怕午,并參考團隊的各種限制來指定。

首先通過和PO怠缸、PM等進行討論得到產(chǎn)品質(zhì)量需求的優(yōu)先級诗轻,然后根據(jù)優(yōu)先級指定相應(yīng)類型的測試钳宪。再根據(jù)團隊的資源揭北、項目周期、技術(shù)能力以及各種限制來制定相應(yīng)的測試方法和測試技術(shù)吏颖,其中包括使用自動化測試還是手動測試搔体、使用什么測試工具和測試框架、測試的范圍和程度等半醉。

下表是一個典型手機應(yīng)用的測試策略表的樣例(這個只是一個模擬項目的樣表疚俱,真實項目中的各類信息應(yīng)該更多,并且可以根據(jù)具體情況添加新列缩多。并且注意呆奕,這些測試并不一定由測試人員或者QA來做,應(yīng)該由整個團隊一起協(xié)作完成):

image.png

表中的質(zhì)量需求優(yōu)先級的獲取是一個比較繁瑣的過程衬吆,需要和各個利益相關(guān)者一起討論并且協(xié)商獲得梁钾。

根據(jù)這個測試優(yōu)先級表,就知道應(yīng)該把資源優(yōu)先投入到高優(yōu)先級的測試中逊抡。等高優(yōu)先級的測試做到團隊可以接受的程度后姆泻,再按照優(yōu)先級做下一個類型的測試。這個表中的優(yōu)先級在開發(fā)過程中不是絕對不變的。如果PO拇勃、PM等利益相關(guān)者對于產(chǎn)品質(zhì)量需求的優(yōu)先級發(fā)生了改變四苇,在得到團隊同意后,還需要改變這個表中的測試優(yōu)先級方咆。所以需要經(jīng)常與團隊更新測試進度月腋,并及時獲得團隊各個角色對于測試和產(chǎn)品質(zhì)量需求的反饋與更新。

其次可以根據(jù)測試金字塔等模型來思考不同類型測試之間的關(guān)系和工作量瓣赂,但是很多情況下也可以不用參考這些測試模型罗售,因為移動應(yīng)用的復(fù)雜度一般不會特別高,并且當前大多數(shù)情況下钩述,移動應(yīng)用中復(fù)雜的業(yè)務(wù)邏輯都會盡量在服務(wù)器端進行處理寨躁,所以移動應(yīng)用很多時候只是一個用戶交互系統(tǒng),所以應(yīng)該盡可能的完成會影響用戶使用的E2E流程測試牙勘,然后再繼續(xù)做其他類型的測試职恳。

但是對于在移動應(yīng)用中實現(xiàn)復(fù)雜業(yè)務(wù)的項目,測試策略還是應(yīng)該盡量思考測試類型之間測試用例重復(fù)的問題方面,盡量避免重復(fù)的用例放钦,降低測試成本。

制定測試架構(gòu)

通過測試優(yōu)先級表恭金,我們獲得了簡易版的測試策略操禀,然后就應(yīng)該制定測試架構(gòu)了。由于嵌入式軟件的特殊性横腿,其測試架構(gòu)也與常規(guī)的桌面系統(tǒng)和服務(wù)器系統(tǒng)有一定的區(qū)別颓屑。下圖為針對上面樣列測試策略相對應(yīng)的功能測試架構(gòu):

image.png

圖中只針對功能測試進行了進一步的詳細架構(gòu)設(shè)計,并沒有對其他測試比如集成測試耿焊、兼容性測試和穩(wěn)定測試等進行詳細架構(gòu)設(shè)計揪惦,感興趣的讀者可以根據(jù)自己項目的實際情況自己嘗試一下。

通過這個架構(gòu)圖罗侯,可以比較系統(tǒng)以及直觀的了解各種類型測試的分布器腋、關(guān)系和測試系統(tǒng)的架構(gòu)等。

然后配合測試優(yōu)先級表就可以較好的指導(dǎo)團隊進行有效的測試钩杰,比如制定更好的測試計劃纫塌,制定更適合的自動化測試系統(tǒng)等。并且還可以更有效的評估產(chǎn)品質(zhì)量讲弄,比如什么類型的測試沒有做措左,那么那些特定方面就存在較高的風險。

不過任何軟件系統(tǒng)都是存在缺陷和風險的垂睬,關(guān)鍵是看這些缺陷對于開發(fā)商和用戶產(chǎn)生的影響有多大媳荒,風險是不是在可控范圍內(nèi)的抗悍。永遠不要嘗試去找到所有缺陷并消除,而是要從風險大小钳枕、影響程度等各方面綜合考慮缴渊,增加團隊對于產(chǎn)品質(zhì)量的信心,并且不要對客戶產(chǎn)生嚴重的大范圍的影響鱼炒。

注:

[1]. 后臺常住應(yīng)用測試也屬于功能測試衔沼。

[2]. 單機應(yīng)用可以不用考慮做契約測試。

[3]. 異常測試包括弱網(wǎng)測試昔瞧,比如低速網(wǎng)絡(luò)信號指蚁、網(wǎng)絡(luò)時斷時續(xù),網(wǎng)絡(luò)切換以及無網(wǎng)絡(luò)等自晰,突然斷電等凝化。

[4]. 其他硬件功能專項測試包括硬件功能關(guān)閉,硬件功能異常等酬荞。

[5]. 用戶測試包括收集用戶使用信息搓劫,并生成用戶真實使用的測試用例來對系統(tǒng)進行測試。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末混巧,一起剝皮案震驚了整個濱河市枪向,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌咧党,老刑警劉巖秘蛔,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異傍衡,居然都是意外死亡深员,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門聪舒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來辨液,“玉大人虐急,你說我怎么就攤上這事箱残。” “怎么了止吁?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵被辑,是天一觀的道長。 經(jīng)常有香客問我敬惦,道長盼理,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任俄删,我火速辦了婚禮宏怔,結(jié)果婚禮上奏路,老公的妹妹穿的比我還像新娘。我一直安慰自己臊诊,他們只是感情好鸽粉,可當我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抓艳,像睡著了一般触机。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上玷或,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天儡首,我揣著相機與錄音,去河邊找鬼偏友。 笑死蔬胯,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的位他。 我是一名探鬼主播笔宿,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼棱诱!你這毒婦竟也來了泼橘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤迈勋,失蹤者是張志新(化名)和其女友劉穎炬灭,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體靡菇,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡重归,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了厦凤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鼻吮。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖较鼓,靈堂內(nèi)的尸體忽然破棺而出椎木,到底是詐尸還是另有隱情,我是刑警寧澤博烂,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布香椎,位于F島的核電站,受9級特大地震影響禽篱,放射性物質(zhì)發(fā)生泄漏畜伐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一躺率、第九天 我趴在偏房一處隱蔽的房頂上張望玛界。 院中可真熱鬧万矾,春花似錦、人聲如沸慎框。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鲤脏。三九已至们颜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間猎醇,已是汗流浹背窥突。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留硫嘶,地道東北人阻问。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像沦疾,于是被迫代替她去往敵國和親称近。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容