軟件測(cè)試工程師筆試題及答案
測(cè)試工程師筆試題一、計(jì)算機(jī)知識(shí)(30分)1、 在Linux 系統(tǒng)中,一個(gè)文件的訪問(wèn)權(quán)限是755,其含義是什么?參考答案:755表示該文件所有者對(duì)該文件具有讀、寫(xiě)、執(zhí)行權(quán)限,該文件所有者所在組用戶及其他
測(cè)試工程師筆試題
一、計(jì)算機(jī)知識(shí)(30分)
1、 在Linux 系統(tǒng)中,一個(gè)文件的訪問(wèn)權(quán)限是755,其含義是什么?
參考答案:
755表示該文件所有者對(duì)該文件具有讀、寫(xiě)、執(zhí)行權(quán)限,該文件所有者所在組用戶及其他用戶對(duì)該文件具有讀和執(zhí)行權(quán)限。
2、 Linux 中,如何從root 用戶切換到普通用戶?
參考答案:su
su user1 切換到user1,但切換后的當(dāng)前目錄還是root 訪問(wèn)的目錄
su – user1 切換到user1,并且當(dāng)前目錄切換到user1的根目錄下(/home/user1/)
3、 簡(jiǎn)述一下C/S模式和B/S模式的區(qū)別?
參考答案:
c/s 是客戶端/服務(wù)器 架構(gòu)
b/s 是瀏覽器/服務(wù)器 架構(gòu)
C/S模式有以下特點(diǎn):
1.C/S模式將應(yīng)用與服務(wù)分離, 系統(tǒng)具有穩(wěn)定性和靈活性
2.C/S模式配備的是點(diǎn)對(duì)點(diǎn)的結(jié)構(gòu)模式, 適用于局域網(wǎng), 有可靠的安全性
3. 由于客戶端實(shí)現(xiàn)與服務(wù)器端的直接連接, 沒(méi)有中間環(huán)節(jié), 因此響應(yīng)速度快
4. 在C/S模式中, 作為客戶機(jī)的計(jì)算機(jī)都要安裝客戶機(jī)程序, 一旦軟件系統(tǒng)升級(jí), 每臺(tái)客戶機(jī)都要安裝客戶機(jī)程序, 系統(tǒng)升級(jí)和維護(hù)較為復(fù)雜
B/S模式有以下特點(diǎn):
1. 系統(tǒng)開(kāi)發(fā)、維護(hù)、升級(jí)方便
每當(dāng)服務(wù)器應(yīng)用程序升級(jí)時(shí),只要在服務(wù)器上升級(jí)服務(wù)應(yīng)用程序即可,用戶計(jì)算機(jī)上的瀏覽器軟件不需要修改,系統(tǒng)開(kāi)發(fā)和升級(jí)維護(hù)方便
2.B/S模式具有很強(qiáng)的開(kāi)放性
在B/S模式下,用戶通過(guò)通用的瀏覽器進(jìn)行訪問(wèn),系統(tǒng)開(kāi)放性好
3.B/S模式的結(jié)構(gòu)易于擴(kuò)展
由于Web 的平臺(tái)無(wú)關(guān)性,B/S模式的結(jié)構(gòu)可以任意擴(kuò)展,可以從包含一臺(tái)服務(wù)器和幾個(gè)用戶的小型系統(tǒng)擴(kuò)展成為擁有成千上萬(wàn)個(gè)用戶的大型系統(tǒng)
4. 用戶使用方便
B/S模式的應(yīng)用軟件都是基于Web 瀏覽器的,而Web 瀏覽器的界面是類似的。對(duì)于無(wú)用戶交換功能的頁(yè)面。用戶接觸的界面都是一致的,用戶使用方便
4、 Windows 操作系統(tǒng)中PATH 環(huán)境變量的作用是什么?
參考答案:
PATH 是Windows 操作系統(tǒng)環(huán)境變量,PATH 作用是用戶在命令行窗口執(zhí)行一個(gè)命令,則在PATH 變量設(shè)置的目錄下依次尋找該命令或?qū)?yīng)的執(zhí)行文件,若找到,則執(zhí)行,若沒(méi)有找到,則命令行窗口返回?zé)o效命令。
5、 TCP 和UDP 有什么區(qū)別?
參考答案:
TCP-有連接, 所以握手過(guò)程會(huì)消耗資源, 過(guò)程為可靠連接, 不會(huì)丟失數(shù)據(jù), 適合大數(shù)據(jù)量交換
6、 DNS 是什么?它是如何工作的?
參考答案:
域名解析服務(wù)。用于將域名解析為IP ,或反和將IP 解析為域名。
客戶機(jī)可指定DNS 服務(wù)器來(lái)解析,或用本機(jī)hosts 文件進(jìn)行解析。
7、 說(shuō)出4種及以上常用的操作系統(tǒng)及其主要的應(yīng)用范圍(微軟的操作系統(tǒng)除外)。 參考答案:
Linux (Red Hat、SUSE 、Debian 、Trubo Linux):主要用于搭建各類服務(wù)器
MAC OS:蘋(píng)果機(jī)的操作系統(tǒng),用于圖像處理
Unix (AIX :IBM 服務(wù)器的專用操作系統(tǒng);
Solaris :Sun 操作系統(tǒng);FreeBSD 、NetBSD )
8面向?qū)ο蟪绦蛟O(shè)計(jì)有哪些特點(diǎn)?
參考答案:
面向?qū)ο蟪绦蛟O(shè)計(jì)以需求當(dāng)中的數(shù)據(jù)作為中心,來(lái)進(jìn)行設(shè)計(jì),具有良好的代碼重用性。 封裝性:也叫數(shù)據(jù)隱藏,用戶無(wú)需知道內(nèi)部工作流程,只要知道接口和操作就可以的,C 中一般用類來(lái)實(shí)現(xiàn)封裝。
繼承性: 一種支持重用的思想,在現(xiàn)有的類型派生出新的子類,例如新型電視機(jī)在原有型號(hào)的電視機(jī)上增加若干中功能而得到,新型電視機(jī)是原有電視機(jī)的派生,繼承了原有電視機(jī)的屬性,并增加了新的功能。
多態(tài)性:指在一般類中定義的屬性或行為,被特殊類繼承之后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。
動(dòng)態(tài)聯(lián)編:指一個(gè)計(jì)算機(jī)程序自身彼此關(guān)聯(lián)的過(guò)程,按照聯(lián)編所進(jìn)行的階段不同,可分為兩種不同的聯(lián)編方法:靜態(tài)聯(lián)編和動(dòng)態(tài)聯(lián)編。
9、一條軟件缺陷記錄都包含哪些內(nèi)容?
參考答案:
bug 編號(hào)
bug 發(fā)現(xiàn)人
bug 發(fā)現(xiàn)時(shí)間
bug 狀態(tài)
bug 嚴(yán)重程度
bug 所屬版本
bug 所屬模塊
bug 處理人
bug 修改日期
bug 簡(jiǎn)單描述
bug 詳細(xì)描述
bug 相關(guān)附件
bug 初步分析
10、一套完整的測(cè)試應(yīng)該由哪些階段組成?
參考答案:
,測(cè)試計(jì)劃、測(cè)試設(shè)計(jì)與開(kāi)發(fā)、測(cè)試實(shí)施、測(cè)試評(píng)審與測(cè)試結(jié)論
二、測(cè)試知識(shí)(50分)
1、您以往所從事的軟件測(cè)試工作中,是否使用了一些工具來(lái)進(jìn)行軟件缺陷(Bug )的管理?如果有,請(qǐng)結(jié)合該工具描述軟件缺陷(Bug )跟蹤管理的流程。(10分)
參考答案:
1. 拿到新版本
2. 進(jìn)行測(cè)試發(fā)現(xiàn)BUG 后提交SUBMIT (測(cè)試)
3. 由相應(yīng)人員置為NEW 的狀態(tài)
4. 修改BUG ,F(xiàn)IXED (開(kāi)發(fā))(當(dāng)然也有可能被判定為不是BUG 或者需要討論決定的)
5. 回歸測(cè)試,修改BUG 狀態(tài),F(xiàn)IXED VERIFIED或者REOPEN (測(cè)試)
6.REOPEN 的話開(kāi)發(fā)繼續(xù)修改,F(xiàn)IXED VERIFIED的話由相應(yīng)人員CLOSE 這個(gè)BUG 。
2、請(qǐng)?jiān)囍容^一下黑盒測(cè)試、白盒測(cè)試、單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試的區(qū)別與聯(lián)系。(10分)
參考答案:
黑盒測(cè)試:把測(cè)試對(duì)象當(dāng)成一個(gè)黑盒子,測(cè)試人員完全不考慮邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程式的需求說(shuō)明書(shū)來(lái)檢查程式的功能是否滿足它的功能說(shuō)明。
白盒測(cè)試:把測(cè)試對(duì)象當(dāng)成一個(gè)透明的盒子,允許測(cè)試人員利用程序內(nèi)部邏輯結(jié)構(gòu)及相關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程式所有邏輯路徑進(jìn)行測(cè)試。
單元測(cè)試:白盒測(cè)試的一種,對(duì)軟件設(shè)計(jì)中的單元模塊進(jìn)行測(cè)試。
集成測(cè)試:在單元測(cè)試的基礎(chǔ)上,對(duì)單元模塊之間的連接和組裝w 進(jìn)行測(cè)試。
系統(tǒng)測(cè)試:在所有都考慮的情況下,對(duì)系統(tǒng)進(jìn)行測(cè)試。
驗(yàn)收測(cè)試:第三方進(jìn)行的確認(rèn)軟件滿足需求的測(cè)試
3、你所熟悉的測(cè)試用例設(shè)計(jì)方法有哪些?分別以具體的例子說(shuō)明在實(shí)際測(cè)試中的應(yīng)用。(10分)
參考答案:
1.等價(jià)類劃分
劃分等價(jià)類: 等價(jià)類是指某個(gè)輸入域的子集合. 在該子集合中, 各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的. 并合理地假定:測(cè)試某等價(jià)類的代表值就等于對(duì)這一類其它值的測(cè)試. 因此, 可以把全部輸入數(shù)據(jù)合理劃分為若干等價(jià)類, 在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)作為測(cè)試的輸入條件, 就可以用少量代表性的測(cè)試數(shù)據(jù). 取得較好的測(cè)試結(jié)果. 等價(jià)類劃分可有兩種不同的情況:有效等價(jià)類和無(wú)效等價(jià)類.
2.邊界值分析法
邊界值分析方法是對(duì)等價(jià)類劃分方法的補(bǔ)充。測(cè)試工作經(jīng)驗(yàn)告訴我, 大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上, 而不是發(fā)生在輸入輸出范圍的內(nèi)部. 因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例, 可以查出更多的錯(cuò)誤.
使用邊界值分析方法設(shè)計(jì)測(cè)試用例, 首先應(yīng)確定邊界情況. 通常輸入和輸出等價(jià)類的邊界, 就是應(yīng)著重測(cè)試的邊界情況. 應(yīng)當(dāng)選取正好等于, 剛剛大于或剛剛小于邊界的值作為測(cè)試數(shù)據(jù), 而不是選取等價(jià)類中的典型值或任意值作為測(cè)試數(shù)據(jù).
3.錯(cuò)誤推測(cè)法
基于經(jīng)驗(yàn)和直覺(jué)推測(cè)程序中所有可能存在的各種錯(cuò)誤, 從而有針對(duì)性的設(shè)計(jì)測(cè)試用例的方法.
錯(cuò)誤推測(cè)方法的基本思想: 列舉出程序中所有可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況, 根據(jù)他們選擇測(cè)試用例. 例如, 在單元測(cè)試時(shí)曾列出的許多在模塊中常見(jiàn)的錯(cuò)誤. 以前產(chǎn)
,品測(cè)試中曾經(jīng)發(fā)現(xiàn)的錯(cuò)誤等, 這些就是經(jīng)驗(yàn)的總結(jié). 還有, 輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況. 輸入表格為空格或輸入表格只有一行. 這些都是容易發(fā)生錯(cuò)誤的情況. 可選擇這些情況下的例子作為測(cè)試用例.
4.因果圖方法
前面介紹的等價(jià)類劃分方法和邊界值分析方法, 都是著重考慮輸入條件, 但未考慮輸入條件之間的聯(lián)系, 相互組合等. 考慮輸入條件之間的相互組合, 可能會(huì)產(chǎn)生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價(jià)類, 他們之間的組合情況也相當(dāng)多. 因此必須考慮采用一種適合于描述對(duì)于多種條件的組合, 相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來(lái)考慮設(shè)計(jì)測(cè)試用例. 這就需要利用因果圖(邏輯模型). 因果圖方法最終生成的就是判定表. 它適合于檢查程序輸入條件的各種組合情況.
4、畫(huà)出軟件測(cè)試的V 模型圖。(5分)
參考答案:
5、軟件的安全性應(yīng)從哪幾個(gè)方面去測(cè)試?(5分)
參考答案:
(1)用戶認(rèn)證機(jī)制:如數(shù)據(jù)證書(shū)、智能卡、雙重認(rèn)證、安全電子交易協(xié)議
(2)加密機(jī)制
(3)安全防護(hù)策略:如安全日志、入侵檢測(cè)、隔離防護(hù)、漏洞掃描
(4)數(shù)據(jù)備份與恢復(fù)手段:存儲(chǔ)設(shè)備、存儲(chǔ)優(yōu)化、存儲(chǔ)保護(hù)、存儲(chǔ)管理
(5)防病毒系統(tǒng)
6、描述軟件產(chǎn)生內(nèi)存泄露的原因以及檢查方式。(可以結(jié)合一種開(kāi)發(fā)語(yǔ)言進(jìn)行描述)(5分) 參考答案:
內(nèi)存泄露的原因,主要是由于開(kāi)發(fā)過(guò)程當(dāng)中申請(qǐng)了計(jì)算機(jī)資源(例如對(duì)象、內(nèi)存等),但是使用資源完成以后沒(méi)有及時(shí)釋放資源導(dǎo)致的。例如在C 語(yǔ)言當(dāng)中使用了malloc 申請(qǐng)了內(nèi)存,但是未使用free 來(lái)釋放內(nèi)存。
7、簡(jiǎn)述軟件自動(dòng)化測(cè)試工具的原理。(5分)
參考答案:
測(cè)試工具的優(yōu)勢(shì)在于可部分地替代人工的測(cè)試過(guò)程,通過(guò)測(cè)試工具來(lái)模擬人的手工操作,這個(gè)過(guò)程中會(huì)記錄操作的對(duì)象和操作的順序,然后在回放時(shí)按照錄制的順序操作這些對(duì)象。 能重復(fù)不斷地執(zhí)行,能精確判斷數(shù)值和字符對(duì)象。自動(dòng)化測(cè)試工具把測(cè)試用例用自動(dòng)的方式執(zhí)行,例如,自動(dòng)地產(chǎn)生數(shù)據(jù),自動(dòng)地打開(kāi)應(yīng)用程序,自動(dòng)地查找控件, 自動(dòng)地輸入數(shù)據(jù),自動(dòng)地操作控件,自動(dòng)地收集測(cè)試結(jié)果,自動(dòng)地與預(yù)期結(jié)果進(jìn)行比較等。
三、數(shù)據(jù)庫(kù)(10分)
為管理業(yè)務(wù)培訓(xùn)信息,建立3個(gè)表:
S(S#,SN,SD,SA) S#,SN,SD,SA分別代表學(xué)號(hào),學(xué)員姓名,所屬單位,學(xué)員年齡
C(C#,CN) C#,CN分別代表課程編號(hào),課程名稱
SC(S#,C#,G) S#,C#,G分別代表學(xué)號(hào),所選的課程編號(hào),學(xué)習(xí)成績(jī)
(1) 使用標(biāo)準(zhǔn)SQL 嵌套語(yǔ)句查詢選修課程名稱為’稅收基礎(chǔ)’的學(xué)員學(xué)號(hào)和姓名?
答:select s# ,sn from s where S# in(select S# from c,sc where c.c#=sc.c# and cn=’稅收基礎(chǔ)’)
(2) 使用標(biāo)準(zhǔn)SQL 嵌套語(yǔ)句查詢選修課程編號(hào)為’C2’的學(xué)員姓名和所屬單位? 答:select sn,sd from s,sc where s.s#=sc.s# and sc.c#=’c2’
(3) 使用標(biāo)準(zhǔn)SQL 嵌套語(yǔ)句查詢不選修課程編號(hào)為’C5’的學(xué)員姓名和所屬單位? 答:select sn,sd from s where s# not in(select s# from sc where c#=’c5’)
(4) 查詢選修了課程的學(xué)員人數(shù)
答:select 學(xué)員人數(shù)=count(distinct s#) from sc
(5) 查詢選修課程超過(guò)5門(mén)的學(xué)員學(xué)號(hào)和所屬單位?
答:select sn,sd from s where s# in(select s# from sc group by s# having count(distinct c#)>5)
四、編程題(10分)
編程輸出1/1 1/3 1/5 …… 1/99的和。
參考答案:
public class Sum {
public static void main(String[] args) {
float sum = 0.0f;
for(float i=1.0f;i<=99.0f;i=i 2)
{
sum = 1/i sum;
}
System.out.println(sum);
}
}
附加題
談?wù)勡浖y(cè)試技術(shù),以及一個(gè)優(yōu)秀的軟件測(cè)試人員應(yīng)該具備的素質(zhì)。