App開發者 乙個你從未體驗過的自動化測試平台

2021-07-26 22:39:07 字數 1370 閱讀 3113

「測試」在移動網際網路界應該是耳熟能詳的詞彙了,目前幾乎所有開發者在進行研發的過程中都要進行應用的測試,常用的使用模式大致有三類:

完全黑盒、基於指令碼、基於錄製回放

但使用過的朋友應該知道這三類模式都存在很難解決的缺陷,那麼同作為開發的筆者,也是嘗試、更換了無數的測試平台與工具,最終對自己的工作效率或者效果提公升都不明顯,而接下來,筆者將向大家推薦一款最近正在試用的乙個自動化測試平台,目前來說效果還不錯,經過筆者的研究和梳理總結,整理出了這個平台的構架與理念,希望各位做開發、測試的朋友能夠有機會來嘗試一番。

邏輯架構

應用服務:

2.用例管理:提供了「管理用例」、「錄製指令碼」、「匯入用例」的功能,此處用例作為回歸測試的輸入。

4.回歸測試:選擇用例進行回歸,自動記錄回歸過程(包括截圖和效能資料),並自動判斷回歸結果。

5.手機資源管理:提供手機物理狀態和業務狀態的各種管理功能,確保業務的正常進行。

6.訊息佇列:不同層次之間的服務通過訊息佇列進行通訊。

伺服器:

1.rdesktop:實現了從web端遠端控制手機的功能,並實時顯示手機螢幕的內容。

2.recorder:在rdesktop操作手機螢幕的同時,通過分析使用者操作,將之轉化為自動化指令碼。

3.playback engine:用於解釋recorder錄製的指令碼,並在特定終端進行回放。

終端:2.connector:提供管理手機的基礎功能(與o&m平台配合)。

3.testserver:用於回放測試指令碼。

手動運算元據流:使用者操作 => rdesktop => 手機

自動化控制命令流:使用者操作 => playback engine => 手機

資訊收集資料流:手機 => 應用服務 => 使用者介面

指令碼錄製資料流:使用者操作 => rdesktop => 應用服務

用例概念

用例採用直觀易懂的「線性」模式,同時加入了「資料驅動」,使用例具備了可擴充套件性,方便tester靈活處理指令碼。這樣的巧妙設計取得了複雜度與靈活性的平衡。

要實現這種靈活性,我們將每一條teststep分為三大部分:螢幕構成、操作、結果:

操作:由「手勢」和「輸入引數組成」,輸入引數可以是寫死的,也可以進行靈活配置。

結果:結果依賴於檢查點,「錄製」和「回放」時的螢幕構成決定這teststep的執行結果。

總結

乙個開發者的全域性思考

我最近要開發乙個需求,就是統一改一下ui標註,專案採用了元件化,標註是放在底層元件中的,供其他元件共用。需求開發前,我認為我要做的準備如下 1 ui要給我統一的標註 2 本需求涉及到多個元件庫,所以我需要多個元件庫的許可權。準備工作做完之後我就開始開發了,開發過程比較簡單,之後就是交付ui同學驗收。...

多人共用乙個蘋果開發者證書

當多人開發時,如果已經申請了幾個開發者證書和發布者證書,蘋果就不允許再建立了,頁面新增的地方被灰化了,所以不可能每個人都建乙個開發證書,這時候需要共用乙個證書了。其實一般在我們的證書介面中應該只有乙個開發證書,乙個發布證書,沒必要生成那麼多的證書,證書一般在過期之後才會重新新增。如下 方法一 rev...

如何成為乙個偉大的開發者(二)

作者簡介 peter nixey,ruby on rails程式設計師,前計算機視覺學者 企業家,clickpass公司ceo,yc孵化器的企業規劃導師,brojure公司cto。程式設計師在開發過程中,常常會遇到各種各樣的問題,但很少是完全陌生 其它團隊也沒有遇到過的。在stack overflo...