1.請列舉你所了解的編程語言
java、python、c/c++、javascript
2.請列舉你了解的操作系統(tǒng)
window、unix,linux,蘋果
3.請簡要說明一下數(shù)組和鏈表的區(qū)別
1)數(shù)組便于查詢和修改,但是不方便新增和刪除
2)鏈表適合新增和刪除,但是不適合查詢,根據(jù)業(yè)務(wù)情況使用合適的數(shù)據(jù)結(jié)構(gòu)和算法是在大數(shù)據(jù)量和高并發(fā)時必須要考慮的問題
4.請分別解釋一下TCP/IP、FTP和HTTP的含義
5.針對軟件開發(fā)過程中的不同階段,應(yīng)該進(jìn)行哪些類型的軟件測試
單元測試(各個測試的基礎(chǔ),測試對象:最小可測試單元)
集成測試(測試關(guān)注最小可測試單元之間接口和子系統(tǒng)集成)
系統(tǒng)測試(整個系統(tǒng)組裝后置于真實運(yùn)行環(huán)境進(jìn)行全面評估)
驗收測試(用戶角度對系統(tǒng)進(jìn)行認(rèn)可驗收)
6.請列舉出白盒測試中的幾種邏輯覆蓋方法
定義:
白盒測試又稱結(jié)構(gòu)測試,透明盒測試、邏輯驅(qū)動測試或基于代碼的測試。白盒測試是一種測試用例設(shè)計方法,白盒指的是程序的內(nèi)部結(jié)構(gòu)和運(yùn)作機(jī)制是可見的。
白盒測試的目的:
通過檢查軟件內(nèi)部的邏輯結(jié)構(gòu),對軟件中的邏輯路徑進(jìn)行覆蓋測試;在程序不同地方設(shè)置檢查點,檢查程序的狀態(tài),以確定實際運(yùn)行狀態(tài)與預(yù)期狀態(tài)是否一致。
白盒測試的方法:大致分為靜態(tài)方法和動態(tài)方法兩大類。
A. 靜態(tài)分析:
是一種不執(zhí)行程序而進(jìn)行測試的技術(shù)。靜態(tài)分析的主要目的是檢查軟件的表示和描述是否一致,沒有沖突或者沒有歧義。
B. 動態(tài)分析:
當(dāng)軟件系統(tǒng)在模擬或真實的環(huán)境中執(zhí)行前、過程中和執(zhí)行后,對其行為分析。它顯示了一個系統(tǒng)在檢查狀態(tài)下是否正確。在動態(tài)分析技術(shù)中,最重要的技術(shù)是路徑和分支測試。下面要介紹的六種覆蓋測試方法屬于動態(tài)分析方法。
符號說明:
^ 代表邏輯運(yùn)算符 && 或者 ||
T 代表 True F 代表 False
A / B 代表條件表達(dá)式
(1)語句覆蓋
使程序中的每個可執(zhí)行語句都能執(zhí)行一次的測試用例
測試用例條件: A ^ B = Timage
(2)判定覆蓋(分支覆蓋)
對于判斷語句,在設(shè)計用例的時候,要設(shè)計判斷語句結(jié)果為True和False的兩種情況
測試用例條件:
A ^ B = T
A ^ B = Fimage
(3)條件覆蓋
設(shè)計用例時針對判斷語句里面每個條件表達(dá)式true 和 false各取值一次,不考判斷語句的計算結(jié)果
測試用例條件:
A=T A=F
B=T B=Fimage
(4)判定條件覆蓋(分支條件覆蓋)
設(shè)計測試用例時,使得判斷語句中每個條件表達(dá)式的所有可能結(jié)果至少出現(xiàn)一次,每個判斷語句本身所有可能結(jié)果也至少出現(xiàn)一次。
測試用例條件:
A ^ B = T A ^ B = F
A=T A=F
B=T B=Fimage
(5)條件組合覆蓋
設(shè)計測試用例時,使得每個判斷語句中條件結(jié)果的所有可能組合至少出現(xiàn)一次
測試用例條件:
A= T B= T
A= T B= F
A= F B= T
A= F B= Fimage
(6)路徑覆蓋
設(shè)計測試用例時,覆蓋程序中所有可能的執(zhí)行路徑
優(yōu)點:這種覆蓋方法可以對程序進(jìn)行徹底的測試用例覆蓋,比前面講的五種方法覆蓋度都要高。
缺點:于路徑覆蓋需要對所有可能的路徑進(jìn)行測試(包括循環(huán)、條件組合、分支選擇等),那么需要設(shè)計大量、復(fù)雜的測試用例,使得工作量呈指數(shù)級增長。路徑覆蓋雖然是一種比較強(qiáng)的覆蓋,但未必考慮判斷語句中條件表達(dá)式結(jié)果的組合,并不能代替條件覆蓋和條件組合覆蓋。
7.請列舉出黑盒測試中的幾種設(shè)計用例的方法,并選其中1中方法進(jìn)行簡單解釋
- 等價類
- 邊界值
邊界值分析法就是對輸入或輸出的邊界值進(jìn)行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補(bǔ)充,這種情況下,其測試用例來自等價類的邊界。
比如:
輸入框長度為1-11,取邊界值為:1、11、12、0
運(yùn)動員的參賽項目為1-3項,取邊界值為:0項、1項、3項、4項 3. 查詢面頁面有999行,每50行為一頁,取邊界值為:輸出0行、1行、50行、51行、999行
上面提到的注冊郵箱的軟件需求,用戶名要求長度為6-15位 。
邊界值上點為:5,6,15,16 全了嗎?
在實際的測試設(shè)計中,會將等價類和邊界值結(jié)合起來使用,那么我們最終可以確認(rèn)的用例設(shè)計為: 5,6,10,15,16五個長度的字符的輸入值
- 判定表
- 場景法
- 錯誤推測法
8.請簡要描述性能測試的目的,并列舉幾種常見的性能測試類型

9.請列舉你了解或熟悉的中間件
中間件位于客戶機(jī)/ 服務(wù)器的操作系統(tǒng)之上,管理計算機(jī)資源和網(wǎng)絡(luò)通訊。是連接兩個獨立應(yīng)用程序或獨立系統(tǒng)的軟件。相連接的系統(tǒng),即使它們具有不同的接口,但通過中間件相互之間仍能交換信息。執(zhí)行中間件的一個關(guān)鍵途徑是信息傳遞。通過中間件,應(yīng)用程序可以工作于多平臺或OS環(huán)境。
Tomcat是Sun的JSWDK(JavaServer Web Development Kit)中Servlet的運(yùn)行環(huán)境(servlet容器)。Tomcat是Apache Jakarta軟件組織的一個子項目,Tomcat是一個JSP/Servlet容器,它是在SUN公司的JSWDK(Java Server Web Development Kit)基礎(chǔ)上發(fā)展起來的一個JSP和Servlet規(guī)范的標(biāo)準(zhǔn)實現(xiàn),使用Tomcat可以體驗JSP和Servlet的最新規(guī)范。經(jīng)過多年的發(fā)展,Tomcat不僅是JSP和Servlet規(guī)范的標(biāo)準(zhǔn)實現(xiàn),而且具備了很多商業(yè)Java Servlet容器的特性,并被一些企業(yè)用于商業(yè)用途。
10.請列舉你了解或熟悉的linux中的命令及含義
11.如果需要對QQ或者M(jìn)SN中‘發(fā)送文件’功能進(jìn)行測試的話,你能從哪些方面進(jìn)行測試
QQ 傳文件 ,擴(kuò)展下這個詞語: QQ通過網(wǎng)絡(luò)傳文件, 我們來分析下里面的名詞和動詞
名詞: QQ 文件 網(wǎng)絡(luò) 動詞: 傳
QQ的屬性:好友 非好友 QQ版本 在線 不在線
文件屬性:文件 文件夾 文件大小 文件類型 文件數(shù)量
網(wǎng)絡(luò)屬性:網(wǎng)絡(luò)好,網(wǎng)絡(luò)差, 跨網(wǎng)
根據(jù)我們提取出來的屬性,分析出下面需要測試的場景
1、給在線非好友傳文件
2、給不在線非好友傳文件
3、給不支持傳文件版本的QQ的在線用戶傳文件
4、給在線的好友傳文件
5、給不在線的好友傳文件
6、假如QQ支持單個QQ同時給5個用戶傳文件, 那么同時給5個用戶和6個用戶傳文件
7、傳文件夾
8、傳文件
9、文件大小最大支持XXG, 傳XXG的文件和比XXG大一點的文件
10、傳不允許的文件類型
11、同時支持傳XX個文件, 那么測試同時傳XX個文件, 測試同時傳XX+1個文件
12、支持文件的最大傳輸速率XX,需要測試是否有限制
13、單個用戶每天最大傳輸XXG文件,需要測試是否有限制
14、 單個用戶每天最多給XX人傳輸文件
15、單個用戶每天最多傳輸XX個文件
16、傳輸過程中斷網(wǎng), 如何處理
17、傳輸過程中網(wǎng)絡(luò)很差,是否能夠成功
18、傳輸過程中取消
19、傳輸時沒有網(wǎng)絡(luò)
20、 傳文件時對方拒絕
軟件測試筆試題
一、選擇題
1.對計算機(jī)軟件和硬件資源進(jìn)行管理和控制的軟件是____D__。
A.文件管理程序
B.輸入輸出管理程序
C.命令處理程序
D.操作系統(tǒng)
2、在沒有需求文檔和產(chǎn)品說明書的情況下只有哪一種測試方法可以進(jìn)行的(A)
A.錯誤推測法測試
B.路勁分析測試
C.語句覆蓋測試
D.條件覆蓋測試
3、某測試人員通過執(zhí)行測試軟件測試的方法對當(dāng)前功能進(jìn)行了測試,該測試人員使用的測試方法為(C)
A.靜態(tài)測試
B.單元測試
C.黑盒測試
4、編寫測試計劃的目的是(ABC)多選題
A.使測試工作順利進(jìn)行
B.使項目參與人員溝通更舒暢
C.使測試工作更加系統(tǒng)化
D.軟件工程以及軟件過程的需要
E.軟件過程規(guī)范化的要求
F.控制軟件質(zhì)量
5、關(guān)于軟件測試與軟件開發(fā)的認(rèn)識,不正確的是(B)
A.軟件生命周期各個階段都可能產(chǎn)生測試
B.軟件測試是獨立于軟件開發(fā)的一個工作
C.軟件開發(fā)的需求分析和設(shè)計階段就應(yīng)開始測試工作
D.測試越早進(jìn)行,越有助于提高被測軟件的質(zhì)量
6、當(dāng)一個應(yīng)用程序窗口被最小化后該應(yīng)用的程序?qū)霈F(xiàn)一下哪種情況(D)
A.被終止執(zhí)行
B.繼續(xù)在前臺執(zhí)行
C.被暫停執(zhí)行
D.被轉(zhuǎn)入后臺執(zhí)行
7、下列方法中,不屬于黑盒測試的是?(A)
A.基本路勁測試法
B.等價類測試法
C.邊界值分析法
D.基于場景的測試方法
8、對于維護(hù)軟件的人員來說,使用質(zhì)量是【】的結(jié)果(C)
A.功能性
B.可靠性
C.可維護(hù)性
D.效率
9、下列軟件屬性中,軟件產(chǎn)品首要滿足的應(yīng)該是(A)
A.功能需求
B.性能需求
C.可擴(kuò)展性和靈活性
D.容錯、糾錯能力
10、單元測試中設(shè)計測試用例的依據(jù)是(D)
A.概要設(shè)計規(guī)格說明書
B.用戶需求規(guī)格說明書
C.項目計劃說明書
D.詳細(xì)設(shè)計規(guī)格說明書
二、判斷題
1、單元測試通常應(yīng)該先進(jìn)行“人工走查”,再以白盒法為主,輔以黑盒法進(jìn)行動態(tài)測試。(√)
2、軟件測試就是為了驗證軟件功能實現(xiàn)的是否正確,是否完成既定目標(biāo)的活動,所以軟件測試在軟件工程的后期才開始具體的工作( × )
3、發(fā)現(xiàn)錯誤多的模塊,殘留在模塊中的錯誤也多。( √ )
4、測試人員在測試過程中發(fā)現(xiàn)一處問題,如果問題影響不大,而自己又可以修改,應(yīng)立即將此問題正確修改,以加快、提高開發(fā)的進(jìn)程。( × )
5、單元測試通常應(yīng)該先進(jìn)行“人工走查”,再以白盒法為主,輔以黑盒法進(jìn)行動態(tài)測試。( √ )
6、功能測試是系統(tǒng)測試的主要內(nèi)容,檢查系統(tǒng)的功能、性能是否與需求規(guī)格說明相同。( √ )
7、軟件質(zhì)量管理即QM由QA和QC構(gòu)成,軟件測試屬于QC的核心工作內(nèi)容。(√)
8、軟件測試只能發(fā)現(xiàn)錯誤,但不能保證測試后的軟件沒有錯誤。(√)
9、軟件就是程序。(X)
10、測試只要做到語句覆蓋和分支覆蓋,就可以發(fā)現(xiàn)程序中的所有錯誤。(X)
三、問答題
1、在您以往的工作中,一條軟件缺陷(或者叫BUG)記錄都包含了哪些內(nèi)容?如果提交高質(zhì)量的軟件缺陷(bug)記錄?
答:一條BUG記錄最基本應(yīng)包含:編號、BU所屬模塊、BUG描述、BUG級別、發(fā)現(xiàn)日期、發(fā)現(xiàn)人、修改日期、修改人、修改方法、回歸結(jié)果等等;要有效的發(fā)現(xiàn)bUG需要參加需求以及詳細(xì)的設(shè)計等前期文檔設(shè)計出高效的測試用例,然后嚴(yán)格執(zhí)行測試用例,對發(fā)現(xiàn)的問題要充分確認(rèn)肯定,然后再向外發(fā)布,這樣才能提高提交BUG的質(zhì)量。
2、測試分為那幾個階段?
答:按照開發(fā)階段劃分,軟件測試可分為單元測試、集成測試、系統(tǒng)測試和驗收測試
集成測試:針對每個單元的測試,以確保每個模塊能正常工作為目標(biāo)
集成測試:對已經(jīng)測試過的模塊進(jìn)行組裝,進(jìn)行集成測試。目的就是在于檢驗與軟件設(shè)計相關(guān)的程序結(jié)構(gòu)問題。
系統(tǒng)測試:檢驗軟件產(chǎn)品能夠與系統(tǒng)的其他部分(比如:硬件、數(shù)據(jù)庫及操作人員)協(xié)調(diào)工作。
驗收測試:檢驗軟件產(chǎn)品質(zhì)量的最后一道工序,主要突出用戶的作用,同時軟件開發(fā)人員也有一定程度的參與。
3、了解哪些測試工具?你是用過和知道的測試工具有哪些?各有什么用途?
答:Jmeter:接口測試、壓力測試
soapui:接口測試
xshell、xftp:管理linux系統(tǒng)
禪道:管理BUG
navictt:管理數(shù)據(jù)庫
4、先有一個程序,頁面提供3個輸入框a、b、c,一個輸出框d,根據(jù)a、b、c的輸入判斷數(shù)據(jù)層是否只能組成一個三角形(三角形兩邊之和大于第三邊),在d中輸出:是,否
答:等價類劃分法:
有效等價類:a、b、c的值都大于0
a+b>c且b+c>a且a+c>b
無效等價類:
a/b/c為0或負(fù)數(shù)
a/b/c為空
a/b/c為非數(shù)字
a+b<=c b+c<=a a+b<=b
邏輯題測試部分
1.小柯一家過一座橋,過橋時是黑夜,所以必須有燈,現(xiàn)在小柯過橋要1秒,弟弟要3秒,爸爸要6秒,媽媽要8秒,爺爺要12秒,當(dāng)2個人一起過橋時所用時間只能按慢的那個人計算。問小明一家怎樣才能在30秒之內(nèi)通過這座橋。
設(shè)小明是A,小明的弟弟是B,小明的爸爸是C,小明的媽媽是D,小明的爺爺是E,----是橋.
步驟 已用秒數(shù) 位置狀況
1.小明和小明的弟弟先過去. 0+3=3秒 AB----CDE
2.小明的弟弟回來. 3+3=6秒 A----BCDE
3.小明的媽媽和爺爺過去. 6+12=18秒 ADE----BC
4.小明回來. 18+1=19秒 DE----ABC
5.小明和他的爸爸過去. 19+6=25秒 ACDE----B
6.小明回來. 25+1=26秒 CDE----AB
7.小明和他的弟弟過去. 26+3=29秒 ABCDE----全部通過
答:.小明和小明的弟弟先過去----.小明的弟弟回來----小明的媽媽和爺爺過去-------小明回來---小明和他的爸爸過去------小明回來--------小明和他的弟弟過去
2.如果電動剃須刀中的電池用完了,剃須刀就不能工作。我的剃須刀不能工作,因此電池一定是用完了。以下哪項與以上論證具有相同的結(jié)構(gòu)(C)
A.如果馬拉多納上場,阿根廷隊就一定會贏。阿根廷隊輸了,所以馬拉多納肯定沒上場。
B.所有的證據(jù)都可被接受除非它被破壞。這個證據(jù)不能被接受,因此,它被破壞了。
C.如果某甲犯罪了,他的指印可以在現(xiàn)場找到。某甲的指印在現(xiàn)場被找到了,所以,某甲犯罪了。
D.老葛是我的叔叔,小菲是老葛的侄女。因此,小菲是我的姐姐。
3.有甲、乙、丙三個學(xué)生,一個出生在北京,一個出生在上海,一個出生在武漢;他們中一個學(xué)國際金融專業(yè),一個學(xué)工商管理專業(yè),一個學(xué)外語。其中:
①甲不是學(xué)國際金融的,乙不是學(xué)外語的;
②學(xué)國際金融的不出生在上海;
③學(xué)外語的出生在北京;
④乙不出生在武漢。
請根據(jù)上述條件,判斷甲的專業(yè)是(C)
A . 國際金融
B . 工商管理
C . 外語
D . 3種專業(yè)都可能
答案解析
由“學(xué)國際金融的不出生在上?!焙汀皩W(xué)外語的出生在北京”可以推出“學(xué)國際金融的出生在武漢”和“學(xué)工商管理的出生在上海”。由“乙不是學(xué)外語的”、“學(xué)國際金融的出生在武漢”和“乙不出生在武漢”可以推知“乙是學(xué)工商管理的”。甲不是學(xué)國際金融的,也不是學(xué)工商管理的,所以甲的專業(yè)是外語。三人的情況是:甲出生在北京,學(xué)的是外語。乙出生在上海,學(xué)的是工商管理。丙出生在武漢,學(xué)的是國際金融。
4.小楊、小方和小孫在一起,一位是經(jīng)理,一位是教師,一位是醫(yī)生。小孫比醫(yī)生年齡大,小楊和教師不同歲,教師比小方年齡小。根據(jù)上述資料可以推理出的結(jié)論是_ D____。
A.小楊是經(jīng)理,小方是教師,小孫是醫(yī)生
B.小楊是教師,小方是經(jīng)理,小孫是醫(yī)生
C.小楊是教師,小方是醫(yī)生,小孫是經(jīng)理
D.小楊是醫(yī)生,小方是經(jīng)理,小孫是教師
答案解析
仔細(xì)推理一下,就可以得出答案D:因為教師不是小楊,也不是小方,所以是小孫;小孫比小方小,比醫(yī)生大,所以醫(yī)生是小楊,經(jīng)理是小方。D選項正確。




