软件测试面试常见问题(1)
1、自我介紹
a. 基本信息:姓名、年齡、學(xué)歷信息、求職崗位。
b. 工作信息:由遠(yuǎn)及近的介紹公司、崗位,概述工作內(nèi)容,現(xiàn)在是否在職,考慮離職的原因。
c. 未來規(guī)劃:未來的行業(yè)和職業(yè)傾向,短期及中長期的計(jì)劃。對(duì)公司和崗位的了解,以及為何對(duì)該公司和該崗位感興趣。
您好!我是張三,2019年6月在清華大學(xué)取得了計(jì)算機(jī)信息技術(shù)學(xué)士學(xué)位。此次求職的崗位是軟件測試崗。目前是待業(yè)狀態(tài),2019年6月—至今,在上家xxx公司擔(dān)任軟件測試崗位,主要負(fù)責(zé)XXX模塊的測試;單線多次與xxx進(jìn)行聯(lián)系,分析、找到XXXbug問題并解決,推進(jìn)了公司xxx項(xiàng)目提前XXX天上線(溝通、執(zhí)行能力)。
我認(rèn)為軟件測試崗位就是保證軟件在上線前,沒有嚴(yán)重的bug,不能夠給公司帶來損失,并且給用戶好的體驗(yàn)。我對(duì)這個(gè)崗位的工作內(nèi)容非常喜歡,希望可以通過努力未來成為這個(gè)測試專家,從近期來看,如果有幸被錄用,我希望可以在最短的時(shí)間內(nèi)熟悉工作內(nèi)容,然后不斷優(yōu)化自己的工作模式,在1-2年能夠在正常完成工作的情況下,提升自動(dòng)化方向的能力。在3-5年往測試開發(fā)方向發(fā)展,更好的完成本職工作,給公司帶來更大的價(jià)值。
2、軟件測試流程?
a. 需求分析:需求評(píng)審(RPD、產(chǎn)品原型圖) —產(chǎn)品經(jīng)理和開發(fā)經(jīng)理討論制定需求細(xì)節(jié),開發(fā)人員和測試人員參與評(píng)審
b. 制定測試計(jì)劃:產(chǎn)品項(xiàng)目計(jì)劃,人員安排、任務(wù)安排—測試人員根據(jù)開發(fā)人員的設(shè)計(jì)文檔,和開發(fā)人員多交流,得知產(chǎn)品的細(xì)節(jié)功能。包括系統(tǒng)的細(xì)節(jié)功能、界面原型,這些是寫測試用例的依據(jù)。有條件的,甚至應(yīng)該了解系統(tǒng)內(nèi)部設(shè)計(jì),比如分為一個(gè)大的子系統(tǒng),之間接口,如何通訊。
c. 制定測試方案:測試需求點(diǎn)分析,測試模塊劃分,流程圖分析,制定測試規(guī)程
d. 設(shè)計(jì)測試用例:測試環(huán)境、測試步驟、測試數(shù)據(jù)和預(yù)期結(jié)果。–原則是盡量以最少的測試用例達(dá)到最大測試覆蓋率。
e. 執(zhí)行測試用例:功能點(diǎn)測試、腳本測試
f. 回歸測試:出階段性測試報(bào)告(跟蹤bug修改情況,缺陷修復(fù)進(jìn)度)
g. 驗(yàn)收測試:出驗(yàn)收測試報(bào)告(完成測試環(huán)境測試,提交生產(chǎn)環(huán)境進(jìn)行驗(yàn)收測試)
h. 產(chǎn)品上線后跟蹤與維護(hù):收集用戶反饋問題
測試報(bào)告要點(diǎn):
① 引言:測試報(bào)告編寫目的、報(bào)告中出現(xiàn)的專業(yè)術(shù)語解釋及參考資料等。
②測試概要:介紹項(xiàng)目背景、測試時(shí)間、測試地點(diǎn)及測試人員等信息。
③ 測試內(nèi)容及執(zhí)行情況:描述本次測試模塊的版本、測試類型,使用的測試用例設(shè)計(jì)方法及測試通過覆蓋率,依據(jù)測試的通過情況提供對(duì)測試執(zhí)行過程的評(píng)估結(jié)論,并給出測試執(zhí)行活動(dòng)的改進(jìn)建議,以供后續(xù)測試執(zhí)行活動(dòng)借鑒參考。
④缺陷統(tǒng)計(jì)與分析:統(tǒng)計(jì)本次測試所發(fā)現(xiàn)的缺陷數(shù)目、類型等,分析缺陷產(chǎn)生的原因給出規(guī)避措施等建議,同時(shí)還要記錄殘留缺陷與未解決問題。
⑤ 測試結(jié)論與建議:從需求符合度、功能正確性、性能指標(biāo)等多個(gè)維度對(duì)版本質(zhì)量進(jìn)行總體評(píng)價(jià),給出具體明確的結(jié)論。
總結(jié):測試報(bào)告的數(shù)據(jù)是真實(shí)的,每一條結(jié)論的得出都要有評(píng)價(jià)依據(jù),不能是主觀臆斷的。
3、軟件測試用例設(shè)計(jì)的方法?
1)白盒測試:邏輯覆蓋、循環(huán)覆蓋、基本路徑覆蓋
2)黑盒測試:等價(jià)類劃分、邊界值分析法、錯(cuò)誤猜測法、因果圖法、狀態(tài) 圖法、測試大綱法、隨機(jī)測試、場景法
4、需求分析的方法?
What:用戶可以用這個(gè)產(chǎn)品或功能能做什么?產(chǎn)品或功能為用戶解決什么問題?
Where:用戶在哪里會(huì)用這個(gè)產(chǎn)品或功能?
Why:用戶為什么用你的產(chǎn)品,而不用別的產(chǎn)品?為什么需要這個(gè)功能?和其它產(chǎn)品有什么區(qū)別?
When:用戶在什么時(shí)候會(huì)用這個(gè)產(chǎn)品或功能?
Who:誰是我們的用戶群?產(chǎn)品或功能為誰設(shè)計(jì)?
How:用戶如何使用這個(gè)產(chǎn)品或功能?
Value :產(chǎn)品的價(jià)值?
即
6、軟件測試工程師的職責(zé):
1、依據(jù)需求文檔及設(shè)計(jì)文檔,編寫測試用例;
2、完成產(chǎn)品的集成測試與系統(tǒng)測試;
3、根據(jù)測試計(jì)劃,搭建測試環(huán)境;
4、依據(jù)測試用例執(zhí)行手工測試,反饋跟蹤產(chǎn)品BUG及用例缺陷;
5、測試工具/系統(tǒng)的研究和應(yīng)用;
7、什么是軟件質(zhì)量?
軟件質(zhì)量:“軟件與明確的和隱含的定義的需求相一致的程度”。
軟件質(zhì)量是軟件符合明確敘述的功能和性能需求、文檔中明確描述的開發(fā)標(biāo)準(zhǔn)、以及所有專業(yè)開發(fā)的軟件都應(yīng)具有的隱含特征的程度。影響軟件質(zhì)量的主要因素,這些因素是從管理角度對(duì)軟件質(zhì)量的度量。
可劃分為三組,分別反應(yīng)用戶在使用軟件產(chǎn)品時(shí)的三種觀點(diǎn),正確性、健壯性、效率、完整性、可用性、風(fēng)險(xiǎn)(產(chǎn)品運(yùn)行);可理解性、可維修性、靈活性、可測試性(產(chǎn)品修改);可移植性、可再用性、互運(yùn)行性(產(chǎn)品轉(zhuǎn)移)。
8、你在測試中發(fā)現(xiàn)了一個(gè)bug,但是開發(fā)經(jīng)理認(rèn)為這不是一個(gè)bug, 你應(yīng)該怎樣解決?
1、將問題提交到缺陷管理庫里面進(jìn)行備案。
2、要獲取判斷的依據(jù)和標(biāo)準(zhǔn):
根據(jù)需求說明書、產(chǎn)品說明、設(shè)計(jì)文檔等,確認(rèn)實(shí)際結(jié)果是否與計(jì)劃有不一致的地方,提供缺陷是否確認(rèn)的直接依據(jù);
如果沒有文檔依據(jù),可以根據(jù)類似軟件的一般特性來說明是否存在不一致的地方,來確認(rèn)是否是缺陷;
根據(jù)用戶的一般使用習(xí)慣,來確認(rèn)是否是缺陷;
3、與設(shè)計(jì)人員、開發(fā)人員和客戶代表等相關(guān)人員探討,確認(rèn)是否是缺陷;
4、合理的論述,向測試經(jīng)理說明自己的判斷的理由,注意客觀、嚴(yán)謹(jǐn),不參雜個(gè)人情緒。
等待測試經(jīng)理做出最終決定,如果仍然存在爭議,可以通過公司政策所提供的渠道,向上級(jí)反映,并有上級(jí)做出決定。
9、給你一個(gè)網(wǎng)站,你如何測試?
首先,查找需求說明、網(wǎng)站設(shè)計(jì)等相關(guān)文檔,分析測試需求。制定測試計(jì)劃,確定測試范圍和測試策略,一般包括以下幾個(gè)部分:功能性測試、界面測試、性能測試、數(shù)據(jù)庫測試、安全性測試、兼容性測試、設(shè)計(jì)測試用例:功能性測試,可以包括但不限于以下幾個(gè)方面:
a. 頁面是否風(fēng)格統(tǒng)一,美觀
b. 頁面布局是否合理,重點(diǎn)內(nèi)容和熱點(diǎn)內(nèi)容是否突出
c. 控件是否正常使用
d. 對(duì)于必須但未安裝的控件,是否提供自動(dòng)下載并安裝的功能
e. 文字檢查
a. 基本的登錄功能的檢查
b. 是否存在溢出錯(cuò)誤,導(dǎo)致系統(tǒng)崩潰或者權(quán)限泄露
c. 相關(guān)開發(fā)語言的常見安全性問題檢查,例如SQL注入等
d. 如果需要高級(jí)的安全性測試,確定獲得專業(yè)安全公司的幫助,外 包測試,或者獲取支持
a. 瀏覽器的兼容性;
b. 操作系統(tǒng)的兼容性;
c. 軟件平臺(tái)的兼容性;
d. 數(shù)據(jù)庫的兼容性
開展測試,并記錄缺陷。合理的安排調(diào)整測試進(jìn)度,提前獲取測試所需 的資源,建立管理體系(例如,需求變更、風(fēng)險(xiǎn)、配置、測試文檔、缺 陷報(bào)告、人力資源等內(nèi)容)。定期評(píng)審,對(duì)測試進(jìn)行評(píng)估和總結(jié),調(diào)整測試的內(nèi)容。
10、軟件的概念和特點(diǎn)?軟件復(fù)用的含義?構(gòu)件包括哪些?
軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,與計(jì)算機(jī)系統(tǒng)操作有 關(guān)的計(jì)算機(jī)程序、規(guī)程、規(guī)則,以及可能有的文件、文檔及數(shù)據(jù)。軟件復(fù)用(SoftWare Reuse)是將已有軟件的各種有關(guān)知識(shí)用于建立新 的軟件,以縮減軟件開發(fā)和維護(hù)的花費(fèi)。軟件復(fù)用是提高軟件生產(chǎn)力和 質(zhì)量的一種重要技術(shù)。
早期的軟件復(fù)用主要是代碼級(jí)復(fù)用,被復(fù)用的知識(shí)專指程序,后來擴(kuò)大到包括領(lǐng)域知識(shí)、開發(fā)經(jīng)驗(yàn)、設(shè)計(jì)決定、體系結(jié) 構(gòu)、需求、設(shè)計(jì)、代碼和文檔等一切有關(guān)方面。可以被復(fù)用的軟件成分一般稱作可復(fù)用構(gòu)件
11、軟件生存周期生命周期階段:
軟件生存周期(Software life cycle)又稱為軟件生命期,生存期。是 指從形成開發(fā)軟件概念起,所開發(fā)的軟件使用以后,直到失去使用價(jià)值 消亡為止的整個(gè)過程。一般來說,整個(gè)生存周期包括計(jì)劃(定義)、開發(fā)、運(yùn)行(維護(hù))三個(gè)時(shí)期,每個(gè)時(shí)期又劃分為若干個(gè)階段。
a. 軟件計(jì)劃與可行性分析
b. 需求分析
c. 軟件設(shè)計(jì)
d. 編碼
e. 軟件測試
f. 運(yùn)行與維護(hù)
12、軟件測試模型是什么?
軟件生存周期每個(gè)階段有明確的任務(wù)。
周期模型(典型的幾種):
1)瀑布模型
2)快速原型模型:快速原型模型允許在需求分析階段對(duì)軟件的需求 進(jìn)行初步而非完全的分析和定義,快速設(shè)計(jì)開發(fā)出軟件系統(tǒng)的原型,該
原型向用戶展示待開發(fā)軟件的全部或部分功能和性能;用戶對(duì)該原型進(jìn) 行測試評(píng)定,給出具體改進(jìn)意見以豐富細(xì)化軟件需求;開發(fā)人員據(jù)此對(duì)
軟件進(jìn)行修改完善,直至用戶滿意認(rèn)可之后,進(jìn)行軟件的完整實(shí)現(xiàn)及測 試、維護(hù)。
3)迭代模型:迭代包括產(chǎn)生產(chǎn)品發(fā)布(穩(wěn)定、可執(zhí)行的產(chǎn)品版本) 的全部開發(fā)活動(dòng)和要使用該發(fā)布必需的所有其他外圍元素。在某種程度
上,開發(fā)迭代是一次完整地經(jīng)過所有工作流程的過程:需求分析、設(shè)計(jì)、 實(shí)施和測試工作流程。實(shí)質(zhì)上,它類似小型的瀑布式項(xiàng)目。
RUP認(rèn)為, 所有的階段都可以細(xì)分為迭代。每一次的迭代都會(huì)產(chǎn)生一個(gè)可以發(fā)布的 產(chǎn)品,這個(gè)產(chǎn)品是最終產(chǎn)品的一個(gè)子集。
13、什么是軟件測試?
軟件測試的目的與原則在規(guī)定的條件下對(duì)程序進(jìn)行操作,以發(fā)現(xiàn)程序錯(cuò)誤,衡量軟件質(zhì)量,并 對(duì)其是否能滿足設(shè)計(jì)要求進(jìn)行評(píng)估的過程。
軟件測試的目的:
測試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯(cuò)誤
一個(gè)成功的測試用例在于發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤
一個(gè)成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測試
確保產(chǎn)品完成了它所承諾或公布的功能,并且用戶可以訪問到的 功能都有明確的書面說明。
確保產(chǎn)品滿足性能和效率的要求
確保產(chǎn)品是健壯的和適應(yīng)用戶環(huán)境的
軟件測試的原則:
a. 測試用例中一個(gè)必須部分是對(duì)預(yù)期輸出或結(jié)果進(jìn)行定義
b. 程序員應(yīng)避免測試自己編寫的程序
c. 編寫軟件的組織不應(yīng)當(dāng)測試自己編寫的軟件
d. 應(yīng)當(dāng)徹底檢查每個(gè)測試的執(zhí)行結(jié)果
e. 測試用例的編寫不僅應(yīng)當(dāng)根據(jù)有效和預(yù)料到的輸入情況,而且也應(yīng)當(dāng)根據(jù)無效和未預(yù)料到的輸入情況
f. 檢擦程序是否“未做其應(yīng)該做的”僅是測試的一半,測試的另一半是檢查程序是否“做了其不應(yīng)該做的”
g. 應(yīng)避免測試用例用后即棄,除非軟件本身就是個(gè)一次性的軟件
h. 計(jì)劃測試工作時(shí)不應(yīng)默許假定不會(huì)發(fā)現(xiàn)錯(cuò)誤
i. 程序某部分存在更多錯(cuò)誤的可能性,與該部分已經(jīng)發(fā)現(xiàn)錯(cuò)誤的數(shù)量成正比
j.軟件測試是一項(xiàng)極富創(chuàng)造性,極具智力的挑戰(zhàn)性的工作
14、軟件配置管理的作用?軟件配置包括什么?
軟件配置管理(Software Configuration Management,SCM)是一種 標(biāo)識(shí)、組織和控制修改的技術(shù)。軟件配置管理應(yīng)用于整個(gè)軟件工程過程。在軟件建立時(shí)變更是不可避免的,而變更加劇了項(xiàng)目中軟件開發(fā)者之間 的混亂。SCM活動(dòng)的目標(biāo)就是為了標(biāo)識(shí)變更、控制變更、確保變更正 確實(shí)現(xiàn)并向其他有關(guān)人員報(bào)告變更。從某種角度講,SCM是一種標(biāo)識(shí)、 組織和控制修改的技術(shù),目的是使錯(cuò)誤降為最小并最有效地提高生產(chǎn)效 率。軟件配置包括如下內(nèi)容:配置項(xiàng)識(shí)別、工作空間管理、版本控制、變更 控制、狀態(tài)報(bào)告、配置審計(jì)。
15、BUG的八要素:
缺陷編號(hào):缺陷的唯一標(biāo)識(shí)符
缺陷狀態(tài):缺陷跟蹤過程的進(jìn)展情況
缺陷標(biāo)題:缺陷的概述,描述問題的本質(zhì)
重現(xiàn)步驟:一步一步描述再現(xiàn)缺陷的操作步驟
嚴(yán)重程度:缺陷對(duì)軟件系統(tǒng)的影響程度
優(yōu)先級(jí):修復(fù)缺陷的重要性或緊迫性
缺陷類型:根據(jù)缺陷產(chǎn)生的來源和根據(jù)劃分出的種類
測試環(huán)境:測試環(huán)境配置,包括操作系統(tǒng)和瀏覽器
16、BUG的生命周期
提交bug—分配bug—處理bug—驗(yàn)證bug—關(guān)閉bug
新建,確認(rèn),解決,重新驗(yàn)證,關(guān)閉,重新打開
17、數(shù)據(jù)庫知識(shí)(若有筆試一定會(huì)考)
1、在工作中一般用數(shù)據(jù)庫驗(yàn)證什么
2、多表查詢多不多,左右連接代表什么意思;
3、存儲(chǔ)過程是否了解,簡單說下存儲(chǔ)過程的語法;
18、Linux+部署
linux基本命令,考察了解哪些方面的命令,文件操作、部署相關(guān)、權(quán)限、查看性能;
19、項(xiàng)目情況+測試基礎(chǔ)知識(shí)
1、設(shè)計(jì)用例的方法(面試官會(huì)讓你舉例說明),測試方案包含哪些內(nèi)容bug如何跟蹤,如何進(jìn)行bug分析
2、每個(gè)版本是否有遺留bug,如何解決?bug如何管理?
3、開發(fā)不改的bug怎么辦?如何定位bug?任務(wù)如何分配,工作量怎么評(píng)估
4、軟件測試方法有哪些
5、接口測試關(guān)注哪些
6、UI測試關(guān)注點(diǎn)
7、公司系統(tǒng)有多少個(gè)接口
8、項(xiàng)目組成員有多少(了解開發(fā)與測試比例,看能否承擔(dān)起入職后項(xiàng)目工作)
20、c/s與b/s架構(gòu)
A端是開發(fā)界面。即管理員所接觸的界面。
B端是商家界面。即瀏覽器界面,依托于web界面–企業(yè)端用戶。
C端是用戶界面。即app的界面,用戶所接觸最為廣泛的界面。
B端客戶:B2B(Business-to-Business)中的企業(yè)之間的網(wǎng)絡(luò)營銷!
C端客戶:C代表consumer (消費(fèi)者),所以C端用戶指的是消費(fèi)者,即產(chǎn)品的最終使用者。
我的另一個(gè)博客總結(jié):https://blog.csdn.net/Y1730008223CONG/article/details/125146275?spm=1001.2014.3001.5501
21、什么是測試用例?什么是測試腳本?兩者關(guān)系?
1> 測試用例:為實(shí)現(xiàn)測試而向被測試系統(tǒng)提供的輸入數(shù)據(jù)、操作或各種環(huán)境設(shè)置以及期望結(jié)果的一個(gè)特定的合集
2> 測試腳本:為了進(jìn)行自動(dòng)化測試而編寫的腳本
關(guān)系:測試腳本的編寫必須對(duì)應(yīng)相應(yīng)的測試用例
22、簡述靜態(tài)測試、動(dòng)態(tài)測試、黑盒測試、白盒測試、α測試 、β測試
1、靜態(tài)測試:不運(yùn)行程序本身而尋找程序代碼中可能存在的錯(cuò)誤或評(píng)估程序代碼的過程
2、動(dòng)態(tài)測試:實(shí)際運(yùn)行被測程序,輸入相應(yīng)的測試實(shí)例,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,判定執(zhí)行結(jié)果是否符合要求,從而檢測程序的正確性、可靠性、有效性、并分析系統(tǒng)運(yùn)行效率和健壯性等性能
3、黑盒測試:一般用來確認(rèn)軟件功能的正確性和可操作性,目的是檢測軟件的各個(gè)功能是否得以實(shí)現(xiàn),把北側(cè)程序當(dāng)作一個(gè)黑盒,不考慮其內(nèi)部結(jié)構(gòu),在知道該程序的輸入和輸出之間的關(guān)系或程序功能的情況下,依靠軟件規(guī)格說明書來確定測試用例和推斷測試結(jié)果的正確性
4、白盒測試:根據(jù)軟件內(nèi)部的邏輯結(jié)構(gòu)分析來進(jìn)行測試,是基于代碼的測試,測試人員通過閱讀程序代碼或者通過使用開發(fā)工具中的單步調(diào)試來判斷軟件的質(zhì)量,一般黑盒測試由項(xiàng)目經(jīng)理在程序員開發(fā)中來實(shí)現(xiàn)。
5、α測試:由一個(gè)用戶在開發(fā)環(huán)境下進(jìn)行的測試,也可以是公司內(nèi)部的用戶在模擬實(shí)際操作環(huán)境下進(jìn)行的受控測試,Alpha測試不能由程序員或測試員完成
6、 β測試: 軟件的多個(gè)用戶在一個(gè)或多個(gè)用戶的實(shí)際使用環(huán)境下進(jìn)行的測試,開發(fā)者通常不在測試現(xiàn)場,Beta測試不能由程序員或測試員完成
23、軟件測試分為幾個(gè)階段,各階段的測試策略和要求是什么?
測試過程會(huì)依次經(jīng)歷單元測試、集成測試、系統(tǒng)測試、驗(yàn)收測試四個(gè)主要階段:
1、單元測試:單元測試是針對(duì)軟件設(shè)計(jì)的最小單位––程序模塊甚至代碼段進(jìn)行正確性檢驗(yàn)的測試工作,通常由開發(fā)人員進(jìn)行。
2、集成測試:集成測試是將模塊按照設(shè)計(jì)要求組裝起來進(jìn)行測試,主要目的是發(fā)現(xiàn)與接口有關(guān)的問題。由于在產(chǎn)品提交到測試部門前,產(chǎn)品開發(fā)小組都要進(jìn)行聯(lián)合調(diào)試,因此在大部分企業(yè)中集成測試是由開發(fā)人員來完成的。
3、系統(tǒng)測試:系統(tǒng)測試是在集成測試通過后進(jìn)行的,目的是充分運(yùn)行系統(tǒng),驗(yàn)證各子系統(tǒng)是否都能正常工作并完成設(shè)計(jì)的要求。它主要由測試部門進(jìn)行,是測試部門最大最重要的一個(gè)測試,對(duì)產(chǎn)品的質(zhì)量有重大的影響。
4、驗(yàn)收測試:驗(yàn)收測試以需求階段的《需求規(guī)格說明書》為驗(yàn)收標(biāo)準(zhǔn),測試時(shí)要求模擬實(shí)際用戶的運(yùn)行環(huán)境。對(duì)于實(shí)際項(xiàng)目可以和客戶共同進(jìn)行,對(duì)于產(chǎn)品來說就是最后一次的系統(tǒng)測試。測試內(nèi)容為對(duì)功能模塊的全面測試,尤其要進(jìn)行文檔測試。
單元測試測試策略:
自頂向下的單元測試策略:比孤立單元測試的成本高很多,不是單元測試的一個(gè)好的選擇。
自底向上的單元測試策略:比較合理的單元測試策略,但測試周期較長。
孤立單元測試策略:最好的單元測試策略。
集成測試的測試策略:
大爆炸集成:適應(yīng)于一個(gè)維護(hù)型項(xiàng)目或被測試系統(tǒng)較小
自頂向下集成:適應(yīng)于產(chǎn)品控制結(jié)構(gòu)比較清晰和穩(wěn)定;高層接口變化較小;底層接口未定義或經(jīng)常可能被修改;產(chǎn)口控制組件具有較大的技術(shù)風(fēng)險(xiǎn),需要盡早被驗(yàn)證;希望盡早能看到產(chǎn)品的系統(tǒng)功能行為。
自底向上集成:適應(yīng)于底層接口比較穩(wěn)定;高層接口變化比較頻繁;底層組件較早被完成。
基于進(jìn)度的集成
優(yōu)點(diǎn):具有較高的并行度;能夠有效縮短項(xiàng)目的開發(fā)進(jìn)度。
缺點(diǎn):樁和驅(qū)動(dòng)工作量較大;有些接口測試不充分;有些測試重復(fù)和浪費(fèi)。
系統(tǒng)測試的測試策略:
數(shù)據(jù)和數(shù)據(jù)庫完整性測試;功能測試;用戶界面測試;性能評(píng)測;負(fù)載測試;強(qiáng)度測試;容量測試;安全性和訪問控制測試;故障轉(zhuǎn)移和恢復(fù)測試;配置測試;安裝測試;加密測試;可用性測試;版本驗(yàn)證測試;文檔測試
24、黑盒測試和白盒測試各自的優(yōu)點(diǎn)和缺點(diǎn)!
黑盒測試
白盒測試
25、測試人員在軟件開發(fā)過程中的任務(wù)是什么?
1、盡可能早的找出系統(tǒng)中的Bug;
2、避免軟件開發(fā)過程中缺陷的出現(xiàn);
3、衡量軟件的品質(zhì),保證系統(tǒng)的質(zhì)量;
4、關(guān)注用戶的需求,并保證系統(tǒng)符合用戶需求。
總的目標(biāo)是:確保軟件的質(zhì)量。
26、在您以往的工作中,一條軟件缺陷(或者叫Bug)記錄都包含了哪些內(nèi)容?如何提交高質(zhì)量的軟件缺陷(Bug)記錄?
bug編號(hào);
bug嚴(yán)重級(jí)別,優(yōu)先級(jí);
bug產(chǎn)生的模塊;
首先要有bug摘要,闡述bug大體的內(nèi)容;
bug對(duì)應(yīng)的版本;
bug詳細(xì)現(xiàn)象描述,包括一些截圖、錄像…等等;
bug出現(xiàn)時(shí)的測試環(huán)境,產(chǎn)生的條件即對(duì)應(yīng)操作步驟;
高質(zhì)量的Bug記錄:
缺陷報(bào)告的UI要與測試的軟件UI保持一致,便于查找定位。
使用業(yè)界慣用的表達(dá)術(shù)語和表達(dá)方法,保證表達(dá)準(zhǔn)確,體現(xiàn)專業(yè)化。
每條缺陷報(bào)告只包括一個(gè)缺陷,可以使缺陷修正者迅速定位一個(gè)缺陷,集中精力每次只修正一個(gè)缺陷。校驗(yàn)者每次只校驗(yàn)一個(gè)缺陷是否已經(jīng)正確修正。
首先缺陷報(bào)告必須展示重現(xiàn)缺陷的能力。不可重現(xiàn)的缺陷要盡力重現(xiàn),若盡力之后仍不能重現(xiàn),仍然要報(bào)告此缺陷,但在報(bào)告中要注明無法再現(xiàn),缺陷出現(xiàn)的頻率。
根據(jù)缺陷的現(xiàn)象,總結(jié)判斷缺陷的類型。例如,即功能缺陷、界面缺陷、數(shù)據(jù)缺陷,合理化建議這是最常見的缺陷或缺陷類型,其他形式的缺陷或缺陷也從屬于其中某種形式。
時(shí)刻明確嚴(yán)重等級(jí)和優(yōu)先等級(jí)之間的差別。高嚴(yán)重問題可能不值得解決,小裝飾性問題可能被當(dāng)作高優(yōu)先級(jí)。
描述要準(zhǔn)確反映缺陷的本質(zhì)內(nèi)容,簡短明了。為了便于在軟件缺陷管理數(shù)據(jù)庫中尋找制定的測試缺陷,包含缺陷發(fā)生時(shí)的用戶界面(UI)是個(gè)良好的習(xí)慣。例如記錄對(duì)話框的標(biāo)題、菜單、按鈕等控件的名稱。
短行之間使用自動(dòng)數(shù)字序號(hào),使用相同的字體、字號(hào)、行間距,可以保證各條記錄格式一致,做到規(guī)范專業(yè)。
保證簡潔、條理井然,容易重復(fù)操作步驟。
保證快速準(zhǔn)確的重復(fù)缺陷,“完整”即沒有缺漏,“準(zhǔn)確”即步驟正確,“簡短”即沒有多余的步驟。
為了直觀的觀察缺陷或缺陷現(xiàn)象,通常需要附加缺陷或缺陷出現(xiàn)的界面,以圖片的形式作為附件附著在記錄的“附件”部分。為了節(jié)省空間,又能真實(shí)反映缺陷或缺陷本質(zhì),可以捕捉缺陷或缺陷產(chǎn)生時(shí)的全屏幕,活動(dòng)窗口和局部區(qū)域。為了迅速定位、修正缺陷或缺陷位置,通常要求附加中文對(duì)照?qǐng)D。
? 附加必要的特殊文檔和個(gè)人建議和注解
如果打開某個(gè)特殊的文檔而產(chǎn)生的缺陷或缺陷,則必須附加該文檔,從而可以迅速再現(xiàn)缺陷或缺陷。有時(shí),為了使缺陷或缺陷修正者進(jìn)一步明確缺陷或缺陷的表現(xiàn),可以附加個(gè)人的修改建議或注解。
在提交每條缺陷或缺陷之前,檢查拼寫和語法,確保內(nèi)容正確,正確的描述缺陷。
軟件缺陷管理數(shù)據(jù)庫的目的是便于定位缺陷,因此,要求客觀的描述操作步驟,不需要修飾性的詞匯和復(fù)雜的句型,增強(qiáng)可讀性。
以上概括了報(bào)告測試缺陷的規(guī)范要求,隨著軟件的測試要求不同,測試者經(jīng)過長期測試,積累了相應(yīng)的測試經(jīng)驗(yàn),將會(huì)逐漸養(yǎng)成良好的專業(yè)習(xí)慣,不斷補(bǔ)充新的規(guī)范書寫要求。此外,經(jīng)常閱讀、學(xué)習(xí)其他測試工程師的測試缺陷報(bào)告,結(jié)合自己以前的測試缺陷報(bào)告進(jìn)行對(duì)比和思考,可以不斷提高技巧。
缺陷描述的內(nèi)容可以包含缺陷操作步驟,實(shí)際結(jié)果和期望結(jié)果。操作步驟可以方便開發(fā)人員再現(xiàn)缺陷進(jìn)行修正,有些開發(fā)的再現(xiàn)缺陷能力很差,雖然他明白你所指的缺陷,但就是無法再現(xiàn)特別是對(duì)系統(tǒng)不熟悉的新加入開發(fā)人員,介紹步驟可以方便他們?cè)佻F(xiàn)。實(shí)際結(jié)果可以讓開發(fā)明白錯(cuò)誤是什么,期望結(jié)果可以讓開發(fā)了解正確的結(jié)果應(yīng)該是如何。
27、測試計(jì)劃工作的目的是什么?測試計(jì)劃文檔的內(nèi)容應(yīng)該包括什么?其中哪些是最重要的?
軟件測試計(jì)劃是指導(dǎo)測試過程的綱領(lǐng)性文件:
領(lǐng)導(dǎo)能夠根據(jù)測試計(jì)劃進(jìn)行宏觀調(diào)控,進(jìn)行相應(yīng)資源配置等
測試人員能夠了解整個(gè)項(xiàng)目測試情況以及項(xiàng)目測試不同階段的所要進(jìn)行的工作等
便于其他人員了解測試人員的工作內(nèi)容,進(jìn)行有關(guān)配合工作
包含了產(chǎn)品概述、測試策略、測試方法、測試區(qū)域、測試配置、測試周期、測試資源、測試交流、風(fēng)險(xiǎn)分析等內(nèi)容。借助軟件測試計(jì)劃,參與測試的項(xiàng)目成員,尤其是測試管理人員,可以明確測試任務(wù)和測試方法,保持測試實(shí)施過程的順暢溝通,跟蹤和控制測試進(jìn)度,應(yīng)對(duì)測試過程中的各種變更。
測試計(jì)劃編寫6要素(5W1H):
why——為什么要進(jìn)行這些測試;
what—測試哪些方面,不同階段的工作內(nèi)容;
when—測試不同階段的起止時(shí)間;
where—相應(yīng)文檔,缺陷的存放位置,測試環(huán)境等;
who—項(xiàng)目有關(guān)人員組成,安排哪些測試人員進(jìn)行測試;
how—如何去做,使用哪些測試工具以及測試方法進(jìn)行測試
測試計(jì)劃和測試詳細(xì)規(guī)格、測試用例之間是戰(zhàn)略和戰(zhàn)術(shù)的關(guān)系,測試計(jì)劃主要從宏觀上規(guī)劃測試活動(dòng)的范圍、方法和資源配置,而測試詳細(xì)規(guī)格、測試用例是完成測試任務(wù)的具體戰(zhàn)術(shù)。所以其中最重要的是測試測試策略和測試方法(最好是能先評(píng)審)。
28、詳細(xì)的描述一個(gè)測試活動(dòng)完整的過程
(以瀑布模型為例)
總結(jié)
以上是生活随笔為你收集整理的软件测试面试常见问题(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 男人与女人
- 下一篇: 计算机二级excle函数大全