《軟體測試常見面試題十二》

兩三顆啤酒味的星☆~發表於2020-05-24

1.您認為在測試人員同開發人員的溝通過程中,如何提高溝通的效率和改善溝通的效果?維持測試人員同開發團隊中其他成員良好的人際關係的關鍵是什麼?

儘量面對面的溝通,其次是能直接通過電話溝通,如果只能通過Emial等非及時溝通工具的話,必須對要溝通的主題理解深刻以及能表達清楚。

運用一些測試管理工具進行管理也是較有效的方法,同時要注意在工具中對bug有準確的描述

在團隊中建立測試人員與開發人員良好的溝通中注意以下幾點:

一真誠、二是團隊精神、三是在專業上有共同語言、四是對事不對人、切勿情緒化、工作至上

當然也可以通過直接指出一些小問題,而不是進入bug跟蹤總統來增加對方的好感

2.你對測試最大的興趣在哪裡,為什麼?

沒有標準回答,僅供參考

最大的興趣,感覺這是一個有挑戰性的工作

測試是一個經驗行業,工作越久越能感覺到做好測試的難度和樂趣

通過自己的工作,能使軟體產品越來越完善,從中體會到樂趣

回答此類問題注意以下幾個方面:

儘可能的切合招牌企業的結束路線來表達你的興趣,例如該企業是資料庫應用的企業,阿麼表示你的興趣在資料庫的測試,並且希望通過測試提升自己的資料庫掌握能力

表明你做測試的目的是為了提升能力,也是為了更好的做好測試,提升能力不是為了以後轉開發或其他的,除非用人企業有這樣的安排

不要過多的表達你的興趣在招聘企業的範疇之外

比如招聘企業是做財務軟體的,可是你表現出來的是對遊戲軟體的興趣,或者照片是做Java開發的,而你的興趣是在C類語言程式的開發

3.什麼是測試覆蓋率

是指完成的測試工作目標量佔總目標量的百分比,有很多分類

軟體測試覆蓋率常用的計算公式

功能覆蓋率=至少被執行一次的功能測試點數/測試功能點總數

需求覆蓋率=被驗證到的需求數量/總的需求量

用例覆蓋率=至少被執行一次的測試用例數/應執行的測試用例總數

語句覆蓋率=至少被執行一次的語句數量/有效的程式程式碼行數

判定覆蓋率=判定結果被評價的次數/判定結果總數

條件覆蓋率=條件運算元值至少被評價一次的數量/條件運算元值的總數

4.一個號的測試用例,有哪些特點

a.用例要完整、簡潔、一致,至少含有編號、標題、操作步驟和預期結果

b.用例要表明測試目的

c.用例覆蓋程度要高

d.用例能夠使使工作量最小化

e.用例描述正確、規範,含有正確的規範的測試標題和編號

f.用例的分類以及描述要足夠清晰

g.用例要具有可測性,用例易於維護,如果被測隊形有所升級,測試用例的說明或者指令碼是不是容易維護呢、可複用、可重複性,不管誰執行用例,結果都一樣,可追蹤性,用例能追蹤到一個具體的需求

5.測試結束的標準是什麼?

全部測試用例都執行完成

未修改bug都被確認或置為應有狀態、暫緩修改的問題都有詳盡的解釋

測試報告編寫完成

測試收尾工作結束

測試總結完成

專案處於試執行或上線階段

在測試計劃中定義結束標準

如在計劃中規定:系統在一定的效能下平穩執行72小時,本版本沒有嚴重的bug,普通的bug的數量在3以下,bug修復率90%以上。

實際測試達到上述要求,然後由開發經理,測試經理,專案經理共同簽字,認同測試結束,版本即可釋出。

6.如何全面測試一款產品,請以手機簡訊功能為力來輔助說明,前提是手機自帶的簡訊功能,並非微信,QQ這種軟體

能正常開啟或者進入簡訊介面

簡訊可以正常編輯、修改、刪除

簡訊可以正常傳送和接收

簡訊頁面字型、顏色顯示正常

簡訊的字型可調整

給對人同時發簡訊

給特殊號碼發簡訊,如運營商、不存在的號碼、服務號

接收驗證碼

簡訊耗電量測試、簡訊不耗流(聯網、不聯網)

簡訊干擾測試,如編輯簡訊期間(已經編輯好,正在打字),電話進來,便捷簡訊期間,收到簡訊,掩藏到後臺,進行其他操作,再返回

7.你手中的這支筆有多少用途,請發揮你的想象力

寫、畫、染色、稱重、當書籤、當筷子、用來扎人、用來掏掉進筆記本鍵盤的小東西、用來去除縫隙裡的灰塵、當做燃料、拿在手裡轉折玩、消遣一下,用來按電梯、塑料閉館用來當吸管等等

8.判斷字串迴文

迴文序列是指正序和反序都相同的字串,如“A",“BAB”,“BFFB”。實現一個函式,
判斷輸入的字串是否為迴文,並寫出測試用例。如有可能請使用你最熟悉的程式語言實現
這個函式。
需求分析:迴文是一個字串,正反都一樣
舉例子找規律:
奇數個字元:A BAB BADAB
012 01 234
[0] =[2] [0]=[4]、[1]=[3]
總共 n 個字元,第 i 個=第 n-1-i 個,需要判斷[n/2 下取整]次
下一個是 1,結束 下一個是 2,結束
偶數個字元:AA ABBA ABCCBA
01 0123 012 345
[0]=[1] [0]=[3]、[1]=[2] [0]=[5]、[1]=[4]、[2]=[3]
總共 n 個字元,第 i 個=第 n-1-i 個,需要判斷 n/2 次
總體的規律:
總共 n 個字元,第 i 個=第 n-1-i 個,需要判斷 n/2 下取整次
思路:
需要一個字串引數,表示迴文
迴圈判斷,迴圈次數=n/2
如果第 i 個=第 n-1-i 個,下一個是 n/2 結束
否則,直接退出
測試:
空串、一個字元、兩個字元(對稱、不對稱)、五個字元(對稱、不對稱)
AA AB ABCBA、ABCBW、ABCWA、ABCDE
java 程式碼:
public static boolean message(String s){
int n=s.length();
boolean jg=false;
if(n!=0)
for(int i=0;i<=n/2;i++)
if(s.charAt(i)==s.charAt(n-1-i)){
//System.out.println(i+" "+s.charAt(i)+" "+s.charAt(n-1-i));
if(i==n/2)
jg=true;
}
else{
jg=false;
break;
}
return jg;
}
白盒角度:
這裡的條件覆蓋等價於判定覆蓋,n!=0 成立與不成立均測到
for:迴圈 0 次不現實,所以不需要測,1 次以上
s.charAt(i)==s.charAt(n-1-i)的條件覆蓋等價於判定覆蓋
i==n/2 的條件覆蓋等價於判定覆蓋
python 程式碼:
s="ABCVE"
n=len(s)
if(n==0):
print("空字串不是迴文")
else:
#print(int(n/2))
for i in range(0,int(n/2)+1):
if(s[i]==s[n-1-i]):
if(i==int(n/2)):
print(s+"是迴文")
else:
print((s+"不是迴文"))
break

9.Function (A ,B ,C )是一個判斷三角形形狀的函式,其中 A ,

B ,C 是三個變數,分別代表三角形的三個邊,請設計一組測試
用例,來測試這個函式是否正確。如有可能,請使用你最熟悉的
程式語言實現這個函式。
思路:
三個引數(double)
使用異常解決輸入的不是數的問題
三個邊都是正的
三邊符合關係
三角形型別(等邊、等腰、直角、普通)
java 程式碼:
public static String function(double a,double b,double c){
String jg;
if(a>0 && b>0 && c>0)
if(a+b>c && a+c>b && b+c>a)
if(a==b && a==c)
jg="等邊三角形";
else if(a==b || a==c || b==c)
jg="等腰三角形";
else if(a*a+b*b==c*c || a*a+c*c==b*b || c*c+b*b==a*a)
jg="直角三角形";
else
jg="普通三角形";
else
jg="不能構成三角形";
else
jg="三邊必須都是正數";
return jg;
}
用例設計:
場景:
三邊非全正(1、2、3 為 0 或負數)
三邊關係不滿足(相等,小於)
三邊等
兩邊等(3 條)
直角(3 條)
普通
基本流用例:
3 3 3
3 3 4
3 4 3
4 3 3
3 4 5
3 5 4
5 3 4
3 4 6
1 2 3
1 2 4
1 3 2
1 4 2
3 1 2
4 1 2
備選流用例:
1 1 0
1 1 -1
1 0 1
1 -1 1
0 1 1
-1 1 1
1 0 0
1 0 -1
1 -1 0
1 -1 -1
0 0 1
-1 0 1
0 -1 1
-1 -1 1
0 1 0
0 1 -1
-1 1 0
-1 1 -1

10.常見的效能測試策略有哪些?

負載測試、壓力測試、併發測試、記憶體洩露測試、基準測試、配置測試、資料容量測試、疲勞強度測試

 

相關文章