1. 程式人生 > 其它 >測試面試題 2

測試面試題 2

 

● 請你說一說測試用例的邊界

參考回答:

邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界。

常見的邊界值

1)對16-bit 的整數而言 32767 和 -32768 是邊界

2)螢幕上游標在最左上、最右下位置

3)報表的第一行和最後一行

4)陣列元素的第一個和最後一個

5)迴圈的第 0 次、第 1 次和倒數第 2 次、最後一次

● 請你說一下軟體質量的六個特徵

參考回答:

按照軟體質量國家標準GB-T8566--2001G,軟體質量可以用下列特徵來評價:

a.功能特徵:與一組功能及其指定性質有關的一組屬性,這裡的功能是滿足明確或隱含的需求的那些功能。

b.可靠特徵:在規定的一段時間和條件下,與軟體維持其效能水平的能力有關的一組屬性。

c.易用特徵:由一組規定或潛在的使用者為使用軟體所需作的努力和所作的評價有關的一組屬性。

d.效率特徵:與在規定條件下軟體的效能水平與所使用資源量之間關係有關的一組屬性。

e.可維護特徵:與進行指定的修改所需的努力有關的一組屬性。

f.可移植特徵:與軟體從一個環境轉移到另一個環境的能力有關的一組屬性。

● 請你說一下設計測試用例的方法

參考回答:

黑盒測試:

1.等價類劃分

等價類劃分是將系統的輸入域劃分為若干部分,然後從每個部分選取少量代表性資料進行測試。等價類可以劃分為有效等價類和無效等價類,設計測試用例的時候要考慮這兩種等價類。

2.邊界值分析法

邊界值分析法是對等價類劃分的一種補充,因為大多數錯誤都在輸入輸出的邊界上。邊界值分析就是假定大多數錯誤出現在輸入條件的邊界上,如果邊界附件取值不會導致程式出錯,那麼其他取值出錯的可能性也就很小。

邊界值分析法是通過優先選擇不同等價類間的邊界值覆蓋有效等價類和無效等價類來更有效的進行測試,因此該方法要和等價類劃分法結合使用。

3.正交試驗法

正交是從大量的試驗點中挑選出適量的、有代表性的點。正交試驗設計是研究多因素多水平的一種設計方法,他是一種基於正交表的高效率、快速、經濟的試驗設計方法。

4.狀態遷移法

狀態遷移法是對一個狀態在給定的條件內能夠產生需要的狀態變化,有沒有出現不可達的狀態和非法的狀態,狀態遷移法是設計足夠的用例達到對系統狀態的覆蓋、狀態、條件組合、狀態遷移路徑的覆蓋。

5.流程分析法

流程分析法主要針對測試場景型別屬於流程測試場景的測試項下的測試子項進行設計,這是從白盒測試中路徑覆蓋分析法借鑑過來的一種很重要的方法。

6.輸入域測試法

輸入域測試法是針對輸入會有各種各樣的輸入值的一個測試,他主要考慮 極端測試、中間範圍測試,特殊值測試 。

7.輸出域分析法

輸出域分析法是對輸出域進行等價類和邊界值分析,確定是要覆蓋的輸出域樣點,反推得到應該輸入的輸入值,從而構造出測試用例,他的目的是為了達到輸出域的等價類和邊界值覆蓋。

8.判定表分析法

判定表是分析和表達多種輸入條件下系統執行不同動作的工具,他可以把複雜的邏輯關係和多種條件組合的情況表達的即具體又明確;

9.因果圖法

因果圖是用於描述系統輸入輸出之間的因果關係、約束關係。因果圖的繪製過程是對被測系統的外部特徵的建模過程,根據輸入輸出間的因果圖可以得到判定表,從而規劃出測試用例。

10.錯誤猜測法

錯誤猜測法主要是針對系統對於錯誤操作時對於操作的處理法的猜測法,從而設計測試用例

11.異常分析法

異常分析法是針對系統有可能存在的異常操作,軟硬體缺陷引起的故障進行分析,分析發生錯誤時系統對於錯誤的處理能力和恢復能力依此設計測試用例。

白盒測試:

白盒測試也稱為結構測試或邏輯驅動測試,是針對被測單元內部是如何進行工作的測試。它根據程式的控制結構設計測試用例,主要用於軟體或程式驗證。白盒測試法檢查程式內部邏輯結構,對所有的邏輯路徑進行測試,是一種窮舉路徑的測試方法,但即使每條路徑都測試過了,但仍然有可能存在錯誤。因為:窮舉路徑測試無法檢查出程式本身是否違反了設計規範,即程式是否是一個錯誤的程式;窮舉路徑測試不可能檢查出程式因為遺漏路徑而出錯;窮舉路徑測試發現不了一些與資料相關的錯誤。

白盒測試需要遵循的原則有:1. 保證一個模組中的所有獨立路徑至少被測試一次;2. 所有邏輯值均需要測試真(true)和假(false);兩種情況;3. 檢查程式的內部資料結構,保證其結構的有效性;4. 在上下邊界及可操作範圍內執行所有迴圈。

常用白盒測試方法:

靜態測試:不用執行程式的測試,包括程式碼檢查、靜態結構分析、程式碼質量度量、文件測試等等,它可以由人工進行,充分發揮人的邏輯思維優勢,也可以藉助軟體工具(Fxcop)自動進行。

動態測試:需要執行程式碼,通過執行程式找到問題,包括功能確認與介面測試、覆蓋率分析、效能分析、記憶體分析等。

白盒測試中的邏輯覆蓋包括語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。六種覆蓋標準發現錯誤的能力呈由弱到強的變化:

1.語句覆蓋每條語句至少執行一次。

2.判定覆蓋每個判定的每個分支至少執行一次。

3.條件覆蓋每個判定的每個條件應取到各種可能的值。

4.判定/條件覆蓋同時滿足判定覆蓋條件覆蓋。

5.條件組合覆蓋每個判定中各條件的每一種組合至少出現一次。

6.路徑覆蓋使程式中每一條可能的路徑至少執行一次。

● 請你說一說測試工程師的必備技能

參考回答:

需要的知識:

•    軟體測試基礎理論知識,如黑盒測試、白盒測試等;

•    程式語言基礎,如C/C++、java、python等;

•    自動化測試工具,如Selenium、Appium、Robotium等;

•    計算機基礎知識,如資料庫、Linux、計算機網路等;

•    測試框架,如JUnit等。

需要具備的能力:

•    業務分析能力,分析整體業務流程、分析被測業務資料、分析被測系統架構、分析被測業務模組、分析測試所需資源、分析測試完成目標;

•    缺陷洞察能力,一般缺陷的發現能力、隱性問題的發現能力、發現連帶問題的能力、發現問題隱患的能力、儘早發現問題的能力、發現問題根源的能力;

•    團隊協作能力,合理進行人員分工、協助組員解決問題、配合完成測試任務、配合開發重現缺陷、督促專案整體進度、出現問題勇於承擔;

•    專業技術能力,掌握測試基礎知識、掌握計算機知識、熟練運用測試工具;

•    邏輯思考能力,判斷邏輯的正確性、對可行性邏輯分析、站在客觀角度思考;

•    問題解決能力,技術上的問題、工作中的問題、溝通問題;

•    溝通表達能力,和技術人員、產品人員、上下級的溝通;

•    巨集觀把控能力,有效控制測試時間、有效控制測試成本、有效制定測試計劃、有效進行風險評估、有效控制測試方向。

● 請你說一下app效能測試的指標

參考回答:

1、記憶體:記憶體消耗測試節點的設計目標是為了讓應用不佔用過多的系統資源,且及時釋放記憶體,保障整個系統的穩定性。當然關於記憶體測試,在這裡我們需要引入幾個概念:空閒狀態、中等規格、滿規格。

空閒狀態指開啟應用後,點選home鍵讓應用後臺執行,此時應用處於的狀態叫做空閒;中等規格和滿規格指的是對應用的操作時間的間隔長短不一,中等規格時間較長,滿規格時間較短。

記憶體測試中存在很多測試子項,清單如下:

●空閒狀態下的應用記憶體消耗;

●中等規格狀態下的應用記憶體消耗;

●滿規格狀態下的應用記憶體消耗;

●應用記憶體峰值;

●應用記憶體洩露;

●應用是否常駐記憶體;

●壓力測試後的記憶體使用。

2、CPU:

使用Android提供的view plaincopy在CODE上檢視程式碼片派生到我的程式碼片

adbshell dumpsys CPUinfo |grep packagename >/address/CPU.txt來獲取;

使用top命令view plaincopy在CODE上檢視程式碼片派生到我的程式碼片

adbshell top |grep packagename>/address/CPU.txt來獲取。

3、流量:

網路流量測試是針對大部分應用而言的,可能還有部分應用會關注網速、弱網之類的測試。

流量測試包括以下測試項:

應用首次啟動流量提示;

應用後臺連續執行2小時的流量值;

應用高負荷執行的流量峰值。

4、電量:

●測試手機安裝目標APK前後待機功耗無明顯差異;

●常見使用場景中能夠正常進入待機,待機電流在正常範圍內;

●長時間連續使用應用無異常耗電現象。

5、啟動速度:

第一類:首次啟動--應用首次啟動所花費的時間;

第二類:非首次啟動--應用非首次啟動所花費的時間;

第三類:應用介面切換--應用介面內切換所花費的時間。

6、滑動速度、介面切換速度

7、與伺服器互動的網路速度

● 請你說一說app測試的工具

參考回答:

功能測試自動化

a) 輕量介面自動化測試

jmeter,

b) APP UI層面的自動化

android:UI Automator Viewer,Android Junit,Instrumentation,UIAutomator,

iOS:基於Instrument的iOS UI自動化,

效能測試

a) Web前端效能測試

網路抓包工具:Wireshark

網頁檔案大小

webpagetest

pagespeed insight

chrome adb

b) APP端效能測試

Android記憶體佔用分析:MAT

iOS記憶體問題分析:ARC模式

Android WebView效能分析:

iOS WebView效能分析

c) 後臺服務效能測試

負載,壓力,耐久性

可拓展性,基準

工具:apacheAB,Jmeter,LoadRunner,

專項測試

a) 相容性測試

手工測試:作業系統,解析度,rom,網路型別

雲平臺:testin,指令碼編寫,Android。

b) 流量測試

Android自帶的流量管理,

iOS自帶的Network

tcpdump抓包

WiFi代理抓包:Fiddler

流量節省方法:壓縮資料,json優於xml;WebP優於傳統的JPG,PNG;控制訪問的頻次;只獲取必要的資料;快取;

c) 電量測試

基於測試裝置的方法,購買電量表進行測試。

GSam Battery Monitoe Pro

iOS基於Instrument Energy工具

d) 弱網路測試

手機自帶的網路狀況模擬工具

基於代理的弱網路的模擬:

工具:windows:Network Delay Simulator

Mac:Network Link Conditioner

● 請你說一說bug的週期,以及描述一下不同類別的bug

參考回答:

1、New:(新的)

當某個“bug”被第一次發現的時候,測試人員需要與專案負責人溝通以確認發現的的確是一個bug,如果被確認是一個bug,就將其記錄下來,並將bug的狀態設為New

2、Assigned(已指派的)

當一個bug被指認為New之後,將其反饋給開發人員,開發人員將確認這是否是一個bug,如果是,開發組的負責人就將這個bug指定給某位開發人員處理,並將bug的狀態設定為“Assigned”

3、Open(開啟的)

一旦開發人員開始處理bug的時候,他(她)就將這個bug的狀態設定為“Open”,這表示開發人員正在處理這個“bug”

4、Fixed(已修復的)

當開發人員進行處理(並認為已經解決)之後,他就可以將這個bug的狀態設定為“Fixed”並將其提交給開發組的負責人,然後開發組的負責人將這個bug返還給測試組

5、Pending Reset(待在測試的)

當bug被返還到測試組後,我們將bug的狀態設定為Pending Reset”

6、Reset(再測試)

測試組的負責人將bug指定給某位測試人員進行再測試,並將bug的狀態設定為“Reset”

7、Closed(已關閉的)

如果測試人員經過再次測試之後確認bug 已經被解決之後,就將bug的狀態設定為“Closed”

8、Reopen(再次開啟的)

如果經過再次測試發現bug(指bug本身而不是包括因修復而引發的新bug)仍然存在的話,測試人員將bug再次傳遞給開發組,並將bug的狀態設定為“Reopen”

9、Pending Reject(拒絕中)

如果測試人員傳遞到開發組的bug被開發人員認為是正常行為而不是bug時,這種情況下開發人員可以拒絕,並將bug的狀態設定為“Pending Reject”

10、Rejected(被拒絕的)

測試組的負責人接到上述bug的時候,如果他(她)發現這是產品說明書中定義的正常行為或者經過與開發人員的討論之後認為這並不能算作bug的時候,開發組負責人就將這個bug的狀態設定為“Rejected”

11、Postponed(延期)

有些時候,對於一些特殊的bug的測試需要擱置一段時間,事實上有很多原因可能導致這種情況的發生,比如無效的測試資料,一些特殊的無效的功能等等,在這種情況下,bug的狀態就被設定為“Postponed“

不同類別的bug:

Bug型別

•    程式碼錯誤

•    介面優化

•    設計缺陷

•    配置相關

•    安裝部署

•    安全相關

•    效能問題

•    標準規範

•    測試指令碼

•    其他

● 請你說一說PC網路故障,以及如何排除障礙

參考回答:

(1)首先是排除接觸故障,即確保你的網線是可以正常使用的。然後禁用網絡卡後再啟用,排除偶然故障。開啟網路和共享中心視窗,單擊視窗左上側“更改介面卡設定”右擊其中的“本地連線“或”無線網路連線”,單擊快捷選單中的“禁用”命令,即可禁用所選網路。接下來重啟網路,只需右擊後單擊啟用即可。

(2)使用ipconfig檢視計算機的上網引數

1、單擊“開始|所有程式|附件|命令提示符“,開啟命令提示符視窗

2、輸入ipconfig,按Enter確認,可以看到機器的配置資訊,輸入ipconfig/all,可以看到IP地址和網絡卡實體地址等相關網路詳細資訊。

(3)使用ping命令測試網路的連通性,定位故障範圍

在命令提示符視窗中輸入”ping 127.0.0.1“,資料顯示本機分別傳送和接受了4個數據包,丟包率為零,可以判斷本機網路協議工作正常,如顯示”請求超時“,則表明本機網絡卡的安裝或TCP/IP協議有問題,接下來就應該檢查網絡卡和TCP/IP協議,解除安裝後重裝即可。

(4)ping本機IP

在確認127.0.0.1地址能被ping通的情況下,繼續使用ping命令測試本機的IP地址能否被ping通,如不能,說明本機的網絡卡驅動程式不正確,或者網絡卡與網線之間連線有故障,也有可能是本地的路由表面收到了破壞,此時應檢查本機網絡卡的狀態是否為已連線,網路引數是否設定正確,如果正確可是不能ping通,就應該重新安裝網絡卡驅動程式。丟失率為零,可以判斷網絡卡安裝配置沒有問題,工作正常。

(5)ping閘道器

閘道器地址能被ping通的話,表明本機網路連線以及正常,如果命令不成功,可能是閘道器裝置自身存在問題,也可能是本機上網引數設定有誤,檢查網路引數。

● 請你說一說測試的常用方法

參考回答:

黑盒測試:

黑盒測試也稱功能測試或資料驅動測試,它是在已知產品所應具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程式看作一個不能開啟的黑盆子,在完全不考慮程式內部結構和內部特性的情況下,測試者在程式介面進行測試,它只檢查程式功能是否按照需求規格說明書的規定正常使用,程式是否能適當地接收輸入數鋸而產生正確的輸出資訊,並且保持外部資訊(如資料庫或檔案)的完整性。

“黑盒”法著眼於程式外部結構、不考慮內部邏輯結構、針對軟體介面和軟體功能進行測試。“黑盒”法是窮舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程式中所有的錯誤。實際上測試情況有無窮多個,因此不僅要測試所有合法的輸入,而且還要對那些不合法但是可能的輸入進行測試。

常用的黑盒測試方法有:等價類劃分法;邊界值分析法;因果圖法;場景法;正交實驗設計法;判定表驅動分析法;錯誤推測法;功能圖分析法。

白盒測試:

白盒測試也稱為結構測試或邏輯驅動測試,是針對被測單元內部是如何進行工作的測試。它根據程式的控制結構設計測試用例,主要用於軟體或程式驗證。白盒測試法檢查程式內部邏輯結構,對所有的邏輯路徑進行測試,是一種窮舉路徑的測試方法,但即使每條路徑都測試過了,但仍然有可能存在錯誤。因為:窮舉路徑測試無法檢查出程式本身是否違反了設計規範,即程式是否是一個錯誤的程式;窮舉路徑測試不可能檢查出程式因為遺漏路徑而出錯;窮舉路徑測試發現不了一些與資料相關的錯誤。

白盒測試需要遵循的原則有:1. 保證一個模組中的所有獨立路徑至少被測試一次;2. 所有邏輯值均需要測試真(true)和假(false);兩種情況;3. 檢查程式的內部資料結構,保證其結構的有效性;4. 在上下邊界及可操作範圍內執行所有迴圈。

常用白盒測試方法:

靜態測試:不用執行程式的測試,包括程式碼檢查、靜態結構分析、程式碼質量度量、文件測試等等,它可以由人工進行,充分發揮人的邏輯思維優勢,也可以藉助軟體工具(Fxcop)自動進行。

動態測試:需要執行程式碼,通過執行程式找到問題,包括功能確認與介面測試、覆蓋率分析、效能分析、記憶體分析等。

白盒測試中的邏輯覆蓋包括語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。六種覆蓋標準發現錯誤的能力呈由弱到強的變化:

1.語句覆蓋每條語句至少執行一次。

2.判定覆蓋每個判定的每個分支至少執行一次。

3.條件覆蓋每個判定的每個條件應取到各種可能的值。

4.判定/條件覆蓋同時滿足判定覆蓋條件覆蓋。

5.條件組合覆蓋每個判定中各條件的每一種組合至少出現一次。

6.路徑覆蓋使程式中每一條可能的路徑至少執行一次。

● 請你說一下黑盒白盒

參考回答:

黑盒測試:

黑盒測試也稱功能測試或資料驅動測試,它是在已知產品所應具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程式看作一個不能開啟的黑盆子,在完全不考慮程式內部結構和內部特性的情況下,測試者在程式介面進行測試,它只檢查程式功能是否按照需求規格說明書的規定正常使用,程式是否能適當地接收輸入數鋸而產生正確的輸出資訊,並且保持外部資訊(如資料庫或檔案)的完整性。

“黑盒”法著眼於程式外部結構、不考慮內部邏輯結構、針對軟體介面和軟體功能進行測試。“黑盒”法是窮舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程式中所有的錯誤。實際上測試情況有無窮多個,因此不僅要測試所有合法的輸入,而且還要對那些不合法但是可能的輸入進行測試。

常用的黑盒測試方法有:等價類劃分法;邊界值分析法;因果圖法;場景法;正交實驗設計法;判定表驅動分析法;錯誤推測法;功能圖分析法。

白盒測試:

白盒測試也稱為結構測試或邏輯驅動測試,是針對被測單元內部是如何進行工作的測試。它根據程式的控制結構設計測試用例,主要用於軟體或程式驗證。白盒測試法檢查程式內部邏輯結構,對所有的邏輯路徑進行測試,是一種窮舉路徑的測試方法,但即使每條路徑都測試過了,但仍然有可能存在錯誤。因為:窮舉路徑測試無法檢查出程式本身是否違反了設計規範,即程式是否是一個錯誤的程式;窮舉路徑測試不可能檢查出程式因為遺漏路徑而出錯;窮舉路徑測試發現不了一些與資料相關的錯誤。

白盒測試需要遵循的原則有:1. 保證一個模組中的所有獨立路徑至少被測試一次;2. 所有邏輯值均需要測試真(true)和假(false);兩種情況;3. 檢查程式的內部資料結構,保證其結構的有效性;4. 在上下邊界及可操作範圍內執行所有迴圈。

常用白盒測試方法:

靜態測試:不用執行程式的測試,包括程式碼檢查、靜態結構分析、程式碼質量度量、文件測試等等,它可以由人工進行,充分發揮人的邏輯思維優勢,也可以藉助軟體工具(Fxcop)自動進行。

動態測試:需要執行程式碼,通過執行程式找到問題,包括功能確認與介面測試、覆蓋率分析、效能分析、記憶體分析等。

白盒測試中的邏輯覆蓋包括語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。六種覆蓋標準發現錯誤的能力呈由弱到強的變化:

1.語句覆蓋每條語句至少執行一次。

2.判定覆蓋每個判定的每個分支至少執行一次。

3.條件覆蓋每個判定的每個條件應取到各種可能的值。

4.判定/條件覆蓋同時滿足判定覆蓋條件覆蓋。

5.條件組合覆蓋每個判定中各條件的每一種組合至少出現一次。

6.路徑覆蓋使程式中每一條可能的路徑至少執行一次。

● 請你說一說你知道的自動化測試框架

參考回答:

1、模組化測試框架

模組化測試指令碼框架(TEST MODulARITY FRAMEWORK)需要建立小而獨立的可以描述的模組、片斷以及待測應用程式的指令碼。這些樹狀結構的小指令碼組合起來,就能組成能用於特定的測試用例的指令碼。在五種框架中,模組化框架是最容易掌握和使用的。在一個元件上方建立一個抽象層使其在餘下的應用中隱藏起來,這是眾所周知的程式設計技巧。這樣應用同組件中的修改隔離開來,提供了程式設計的模組化特性。模組化測試指令碼框架使用這一抽象或者封裝的原理來提高自動測試組合的可維護性和可升級性。

2、測試庫框架

測試庫框架(Test Library Architecture)與模組化測試指令碼框架很類似,並且具有同樣的優點。不同的是測試庫框架把待測應用程式分解為過程和函式而不是指令碼。這個框架需要建立描述模組、片斷以及待測應用程式的功能庫檔案。

3、關鍵字驅動或表驅動的測試框架

對於一個獨立於應用的自動化框架,關鍵字驅動(KEYWORD DRIVEN)I9LJJ試和表驅動(TABLE DRIVEN)測試是可以互換的術語。這個框架需要開發資料表和關鍵字。這些資料表和關鍵字獨立於執行它們的測試自動化工具,並可以用來“驅動"待測應用程式和資料的測試指令碼程式碼,關鍵宇驅動測試看上去與手工測試用例很類似。在一個關鍵字驅動測試中,把待測應用程式的功能和每個測試的執行步驟一起寫到一個表中。這個測試框架可以通過很少的程式碼來產生大量的測試用例。同樣的程式碼在用資料表來產生各個測試用例的同時被複用。

4、資料驅動測試框架

資料驅動(DATA DRIVEN),LJ試是一個框架。在這裡測試的輸入和輸出資料是從資料檔案中讀取(資料池,ODBC源,CSV檔案,EXCEL檔案,ADO物件等)並且通過捕獲工具生成或者手工生成的程式碼指令碼被載入到變數中。在這個框架中,變數不僅被用來存放輸入值還被用來存放輸出的驗證值。整個程式中,測試指令碼來讀取數值檔案,記載測試狀態和資訊。這類似於表驅動測試,在表驅動測 試中,它的測試用例是包含在資料檔案而不是在指令碼中,對於資料而言,指令碼僅僅是一個“驅動器”,或者是一個傳送機構。然而,資料驅動測試不同於表驅動測試,儘管導航資料並不包含在表結構中。在資料驅動測試中,資料檔案中只包含測試資料。這個框架意圖減少需要執行所有測試用例所需要的總的測試指令碼數。資料驅動需要很少的程式碼來產生大量的測試用例,這與表驅動極其類似。

5、混合測試自動化(Hybrid Test Automation)框架

最普遍的執行框架是上面介紹的所有技術的一個結合,取其長處,彌補其不足。這個混合測試框架是由大部分框架隨著時間並經過若干專案演化而來的

● 請你說一說web測試和app測試的不同點

參考回答:

系統架構方面:

web專案,一般都是b/s架構,基於瀏覽器的

app專案,則是c/s的,必須要有客戶端,使用者需要安裝客戶端。

web測試只要更新了伺服器端,客戶端就會同步會更新。App專案則需要客戶端和伺服器都更新。

效能方面:

web頁面主要會關注響應時間

而app則還需要關心流量、電量、CPU、GPU、Memory這些。

它們服務端的效能沒區別,都是一臺伺服器。

相容方面:

web是基於瀏覽器的,所以更傾向於瀏覽器和電腦硬體,電腦系統的方向的相容

app測試則要看解析度,螢幕尺寸,還要看裝置系統。

web測試是基於瀏覽器的所以不必考慮安裝解除安裝。

而app是客戶端的,則必須測試安裝、更新、解除安裝。除了常規的安裝、更新、解除安裝還要考慮到異常場景。包括安裝時的中斷、弱網、安裝後刪除安裝檔案 。

此外APP還有一些專項測試:如網路、適配性。

● 請問你瞭解什麼測試方法

參考回答:

等價類劃分,邊界值分析,錯誤推測,因果圖法,邏輯覆蓋法,程式插樁技術,基本路徑法,符號測試,錯誤驅動測試

● 請問黑盒測試和白盒測試有哪些方法

參考回答:

黑盒測試方法有等價類劃分,邊界值分析,錯誤推測,因果圖法

白盒測試方法有邏輯覆蓋法,程式插樁技術,基本路徑法,符號測試,錯誤驅動測試

● 請問你怎麼看待測試,知道哪些測試的型別,有用過哪些測試方法?

參考回答:

測試是軟體開發中不可或缺的一環,測試通過經濟,高效的方法,捕捉軟體中的錯誤,從而達到保重軟體內在質量的目的。

測試分為功能測試和非功能測試,非功能測試又可以分為效能測試、壓力測試、容量測試、健壯性測試、安全性測試、可靠性測試、恢復性測試、備份測試、協議測試、相容性測試、可用性測試、配置測試、GUI測試。

測試方法用過等價劃分法、邊值分析法、錯誤推測法、因果圖法。

● 請問你怎麼測試網路協議

參考回答:

協議測試包括四種類型的測試

1、一致性測試:檢測協議實現本身與協議規範的符合程度

2、互操作性測試:基於某一協議檢測不同協議實現間互操作互通訊的能力

3、效能測試:檢測協議實現的效能指標,比如資料傳輸速度,連線時間,執行速度,吞吐量,併發度,

4、健壯性測試:檢測協議是現在各種惡劣環境下執行的能力,比如注入干擾報文,通訊故障,通道被切斷

● 請你回答一下什麼是α測試和β測試,以及什麼時候用到他們

參考回答:

α測試:在受控的環境中進行,由使用者在開發者的場所進行,並且在開發者對使用者的指導下進行測試,開發者負責記錄發現的錯誤和使用中遇到的問題

β測試:在開發者不能控制的環境中的真實應用,由軟體的終端使用者們在一個或多個客戶場所下進行,由使用者記錄在測試中遇到的一系列問題,並定期報給開發者。