軟件測試工程師工作日常100問系列四【樂搏TestPRO】

上兩個系列講了軟件測試基本常識問題,包括軟件測試概念、流程及工作日常及需要具備的只是體系。請參閱:

軟件測試工程師工作日常100問系列一

軟件測試工程師工作日常100問系列二

軟件測試工程師工作日常100問系列三

本篇爲大家詳細講解3個問題:

互聯網IT行業,一般企業做項目會有哪些環境。

同步接口和異步異步接口是什麼?區別是什麼?

Web端測試和APP端測試的區別

question 1:  互聯網IT行業,一般企業做項目會有哪些環境。

答:一般會有開發環境、測試環境、預生產環境、生成環境、迴歸環境、UAT環境。他們的特點如下:

開發和配置環境:所有的開發和配置在這個環境裏進行。一般情況下,只有這個環境可以改配置和進行開發,並且一般不在這個環境下創建數據。

測試環境:向開發中的外部系統提供服務時,直接用生產環境進行聯調是不合適,用測試環境就沒什麼風險了。因此,我們的產品上線後,測試環境仍要與生產環境長期共存、並保持開放狀態。測試環境和生產環境一致,用測試環境的目的是,測試時,不影響線上項目的正常使用,等測試完畢,再上生產環境。

預生產環境(不是必須的):從生產環境不定期同步,保持和生產環境的設置、數據一致性,也是用於測試,它和測試環境最大的區別就是它和生產系統的同步性最高,幾乎一樣,有些測試,比如需要大數據量的,用這個環境測試看程序性能比用測試環境(一般情況下數據較少)會更準確。(不是必須的,有的公司沒有) 

生產環境:正式使用的系統環境。 即用戶使用的環境。由特定人員來維護,一般人沒有權限去修改。

迴歸環境:迴歸bug的環境,其實就是我們的測試環境,在測試環境上測試、迴歸驗證bug。

UAT環境:要理解UAT環境,首先要明白UAT的概念,復UAT,(User Acceptance Test),用戶接受度測試 即驗收測試,所以UAT環境主要是用來作爲客戶體驗的環境。

擴展:預生產環境和生產環境區別:

1)預發環境中新功能爲最新代碼,其他功能代碼和生產環境一致。

2)預發環境和生產環境的訪問域名不同。

題外話

1. 預發佈環境一般會連接生產環境的數據庫,測試時要注意,以免產生髒數據,影響生產環境的使用。

2. 並不是所有的企業的環境都很齊全,根據公司規模大小,項目的需要等因素酌情選擇環境。比如一般小規模的企業,就不會用預生產環境和迴歸環境。

3. 生產環境一般會部署在多臺機器上,以防某臺機器出現故障,這樣其他機器可以繼續運行,不影響用戶使用。灰度發佈會發佈到其中的幾臺機器上,驗證新功能是否正常。如果失敗,只需回滾這幾臺機器即可。

4. 另外,還有個灰度發佈,發生在預發佈環境之後,生產環境之前。

question 2: 同步接口和異步異步接口是什麼?區別是什麼?

答:Java中交互方式分爲同步和異步兩種: 同步交互和異步交互

同步交互:指發送一個請求,需要等待返回,然後才能夠發送下一個請求,有個等待過程;

異步交互:指發送一個請求,不需要等待返回,隨時可以回再發送下一個請求,即不需要等待。

如果過於專業,聽不懂,沒關係,來舉個通俗的栗子:

同步:比如排隊取錢,你取完錢,後面的人纔可以取,這就是同步

異步: 取錢的時候 ,發現忘記帶卡了,要回去拿卡,這時候後面的人就直接取,不會等你取卡回來!

區別:同步需要等待,異步不需要等待,在部分情況下,我們的項目開發中都會優先選擇不需要等待的異步交互方式。

同步場景:

銀行的轉賬系統:當一個支付請求被髮送到支付渠道方,支付渠道會很快返回一個結果。但是這個結果,只是告訴你調用成功了,不是扣款成功

對數據庫的保存操作:只有先錄入數據了,再進行保存操作

異步場景:

不涉及共享資源,或對共享資源只讀,即非互斥操作

沒有時序上的嚴格關係

不需要原子操作,或可以通過其他方式控制原子性

常用於IO操作等耗時操作,因爲比較影響客戶體驗和使用性能

不影響主線程邏輯

優劣勢分析

同步的好處:

1、同步流程對結果處理通常更爲簡單,可以就近處理。

2、同步流程對結果的處理始終和前文保持在一個上下文內。

3、同步流程可以很容易捕獲、處理異常。

4、同步流程是最天然的控制過程順序執行的方式。

異步的好處

1、異步流程可以立即給調用方返回初步的結果。

2、異步流程可以延遲給調用方最終的結果數據,在此期間可以做更多額外的工作,例如結果記錄等等。

3、異步流程在執行的過程中,可以釋放佔用的線程等資源,避免阻塞,等到結果產生再重新獲取線程處理。

4、異步流程可以等多次調用的結果出來後,再統一返回一次結果集合,提高響應效率。

question3: Web端測試和APP端測試的區別

APP 測試、Web測試在流程和功能測試上是沒有區別的,根據兩者載體不一樣,則區別如下:

1、系統結構方面:

web項目,b/s架構,基於瀏覽器的;web測試只要更新了服務器端,客戶端就會同步會更新

app項目,c/s結構的,必須要有客戶端;app 修改了服務端,則客戶端用戶所有核心版本都需要進行迴歸測試一遍

2、性能方面:

web項目需監測響應時間、CPU、Memory、吞吐等

app項目除了監測響應時間、CPU、Memory外,還需監測流量、電量、頁面切換的速度等

3、兼容方面:

web項目:瀏覽器(火狐、谷歌、IE等);操作系統(Windows7、Windows10、Linux等)

app項目:設備系統: iOS(ipad、iphone)、Android(三星、華爲、聯想等) 、Windows(Win7、Win8)、OSX(Mac);手機設備可根據 手機型號、分辨率不同

4、相對於 Wed 項目,APP有專項測試:

干擾測試:中斷,來電,短信,關機,重啓等

弱網絡測試(模擬2g、3g、4g,wifi網絡狀態以及丟包情況);網絡切換測試(網絡斷開後重連、3g切換到4g/wifi 等)

安裝:需考慮安裝時的中斷、弱網、安裝後刪除安裝文件等情況

卸載:需考慮 卸載後是否刪除app相關的文件

更新:分強制更新、非強制更新、增量包更新、斷點續傳、弱網狀態下更新

5、測試工具方面:

自動化工具:APP 一般使用 Appium; Web 一般使用 Selenium

性能測試工具:APP 一般使用 JMeter; Web 一般使用 LR、JMeter

6. 界面操作:

關於手機端測試,需注意手勢,橫豎屏切換,多點觸控,前後臺切換

7. 安全測試:

安裝包是否可反編譯代碼、安裝包是否簽名、權限設置,例如訪問通訊錄等

8. 邊界測試:

可用存儲空間少、沒有SD卡/雙SD卡、飛行模式、系統時間有誤、第三方依賴(QQ、微信登錄)等

9. 權限測試:

設置某個App是否可以獲取該權限,例如是否可訪問通訊錄、相冊、照相機等

看到這裏,如果你有一顆想要順利進階,升職加薪的❤️不妨參與我們的軟件測試一週集訓吧!可以後臺私信我,也可以進入qun :⑥③⑥⑧⑤⑨⑨⑥④,獲取更多諮詢哦~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章