Mithun Sridharan是Blue Ocean Solutions(BlueOS)公司的總經理,BlueOS是一家德國的專注于技術公司的集客營銷和數字轉化公司。他有十多年的業務開發、市場、全球交付和咨詢方面的國際經驗。他擁有ESMT學院管理和技術專業的MBA證書和德國基爾大學的理學碩士證書。他是哈佛管理導師及研究生,一名項目管理專業人員(PMP)以及一名認證信息系統審計師(CISA)。2013年他還擔任過本部在德國埃施博恩的德國外包協會的通訊主席。
根據Pinch媒體數據2009年進行的研究,一個移動應用程序的平均生命周期只有30天。此后移動應用程序的數量激增,生命周期變得更短了。這些變化趨勢要求軟件質量保證團隊重新改進他們的軟件測試方法,并將之與移動應用程序開發團隊和客戶群緊密相連。客戶需要更多的應用程序和功能,因此保證移動應用程序的質量對維護現有客戶群并獲取新客戶都是必不可少的。鑒于軟件開發和質量保證(測試)的時間很短,即使有替代策略存在,軟件測試自動化從一定程度上在公司的生命周期中是必要的。
一家app開發公司會因為各種原因(內部和外部的都有)而決定將其測試工作自動化。不論深層原因,一旦一家公司決定將其測試工作自動化,需要一個系統的方法來定下自動化流程的工具。測試自動化的成功很大程度上取決于所使用的工具。如今市場上有各種自動化工具,選擇正確的工具滿足公司特定的測試需求算得上是一個蠻有壓力的任務。
一個剛開發的產品,相對來說還是不太穩定。在那些階段,手動測試是一個快速驗證產品是否如期運行的好方法。為了驗證和確認(V&V),軟件測試員應該利用這個階段熟悉產品規格并編寫測試用例。產品規格一完成,測試員應該開始思考他們該如何將測試用例自動化了。軟件開發公司經常要在為特定短期客戶項目挑選工具并投資挑選工具和為長期項目/產品挑選工具間做出調解,以避免重新加工或后期浪費大筆費用。移動應用程序短暫的生命周期里在形成一個連貫的工具策略時提出了一個管理難題。這種情況下,基于場景的方法可以幫助管理者對連貫的需求投資負責,為他們公司的移動測試自動化做準備,并為戰術和戰略項目投資正確的工具。
1.支持移動平臺
無論要求規范是什么,你都需要挑選正確的工具,不僅要支持目標操作系統如iOS,Android,Windows以及它們的不同版本,還要支持底層硬件配置。質量保證團隊安排其測試工作時需要考慮許多移動應用程序特有的難題。根本的問題之一是搞明白一個應用程序(代碼庫)如何在不同的操作系統,界面上運行。盡管移動平臺市場的玩家主要是Google和Apple,但開發者仍需要將Symbian和Windows Phone用戶考慮在內。即使是在單個平臺內,也有一堆軟件版本等因素要考慮。因此,檢查老和新的平臺支持版本極其重要。
2.支持應用程序類型
一旦初始自動化工具入選,你需要檢查可以用這些工具所管理的應用程序的類型。多數工具都是特定的不能同時支持本地,混合和web應用程序。多數移動測試進程并不是萬全之策。因此,很有可能需要在自動化流程鏈中挑選一些工具。根據被測應用程序的類型,至少80%的測試活動可以被自動化(按照帕累托定律算)。然而考慮到一堆平臺上的應用程序的功能,需要一些特別的手動測試。使用正確的工具可以幫助提高效率,減少成本,同時可以在部署應用程序或服務時,提供一個客觀環境來評估應用程序的質量并預測實際環境中的用戶體驗。
3.源代碼要求
為了獲得佳測試質量,本地移動應用程序應該在安裝程序內隨附一些工具特定框架,這樣軟件測試員可以向設備/仿真器發送一些指令直接用本地應用程序執行任務。多數常規瀏覽器都有它們自己的網絡驅動程序,所以測試員可以在這些特定瀏覽器網絡驅動程序的幫助下測試應用程序。在多數情況下,移動應用程序不會帶著它們的源代碼或框架被交付給測試團隊,也是說,它們可以在不同移動平臺上模擬同樣的功能。在一些情況下,有用于iOS的App Package一類的方法,盡管該模塊并不以和擁有源訪問的流程一樣的方式提供測試覆蓋率,但它卻為測試提供比精易應用程序安裝本身更多的容量。于是源代碼和平臺框架是需要考慮在內的重要指南,因為不是總能夠獲得測試用的源代碼,尤其是當測試工作被外包給第三方時。
4.應用程序重構要求
移動測試自動化的另一個障礙是修改應用程序的要求,即重構使之可以被自動化工具測試。重構的技巧是能夠驗證功能被保留了。測試專業需要確保所有變化在重構前后都被驗證了。盡管將這個流程自動化沒必要,但這在隨后的回歸中或許有幫助。重構復雜的應用程序或代碼模塊是一門藝術,將這些元素自動化應該盡大的努力。挑選的工具應該滿足在不同粒度水平交付預期結果所需的可擴展性要求;或許有必要將第三方庫包含在測試項目中,建立你的產品的測試版本或改善現有交付測試的app版本。
5.測試腳本生成
對于需要大量測試覆蓋的移動應用程序,創建實時測試腳本或許會提出一個極大的挑戰。盡管測試自動化大大地提高了執行效率,但這些效率提高都伴隨著巨大的成本,尤其是開發測試腳本庫以確保測試覆蓋需求的時候。自動化測試用例腳本生成工具也許能通過幫助創建關于運行需求的腳本測試場景進一步提高效率并擴大測試范圍。關于可擴展性,所挑選用來自動化生成測試腳本的工具應該要支持腳本參數。然而該方法通常受限于工具能力且無法交付和編程方法一樣的覆蓋度,它使用power coding和基本編程語言。編程選項沒有自動化測試腳本方法那么快,但是其結果更有效更靈活。因此,有必要評估可用資源以便在工具評估過程中挑選一個方法。