一、什么是軟件測試?軟件測試的目的是什么?
軟件測試是為了發(fā)現(xiàn)軟件的錯(cuò)誤而執(zhí)行程序的過程;
測試的目的是找出軟件產(chǎn)品中的錯(cuò)誤,讓軟件盡可能的符合用戶的要求
二、為什么要在一個(gè)團(tuán)隊(duì)中開展軟件測試工作?
因?yàn)闆]有經(jīng)過測試的軟件很難在發(fā)布之前知道該軟件的 質(zhì)量,就好比?ISO?質(zhì)量認(rèn)證一樣,測試同樣也需要質(zhì)量的保證,這個(gè)時(shí)候就需要在團(tuán)隊(duì)中開展軟件測試的工作。在測試的過程發(fā)現(xiàn)軟件中存在的問題,及時(shí)讓開發(fā)人員得知并修改問題,在即將發(fā)布時(shí),從測試報(bào)告中得出軟件的質(zhì)量情況
三、你認(rèn)為測試人員需要具備哪些素質(zhì)?
做測試應(yīng)該要有一定的協(xié)調(diào)能力,因?yàn)闇y試人員經(jīng)常要與開發(fā)接觸處理一些問題,如果處理不好的話會引起一些沖突,這樣的話工作上就會不好做。還有測試人員要有一定的耐心,有的時(shí)候做測試很枯燥乏味。除了耐心,測試人員不能放過每一個(gè)可能的錯(cuò)誤
四、你以往的測試工作中進(jìn)行過哪些工作?擅長什么?
我主要從事web測試,搭建環(huán)境,對程序進(jìn)行集成測試、系統(tǒng)測試、回歸測試。還有編寫測試用例,使用手冊,功能測試文檔。擅長功能測試。
五、說一下上家公司的軟件測試的流程
需求評審(需求是否合理、需求是否可測試)->測試計(jì)劃(人、時(shí)間、業(yè)務(wù)點(diǎn)、資源)->測試設(shè)計(jì)(寫標(biāo)題,測試用例)->冒煙測試(準(zhǔn)入測試)->全面開展測試(測試執(zhí)行:測試環(huán)境搭建,)->bug提交->新版本發(fā)布(bug有沒有驗(yàn)證,新功能測試、回歸測試)-》測試報(bào)告總結(jié)
1、需求評審-----產(chǎn)品記錄客戶的需求,轉(zhuǎn)化成需求文檔,召集開發(fā)、測試進(jìn)行需求評審,(測試人員對需求進(jìn)行測試,比如文檔中有沒有描述不準(zhǔn)確的地方,或者理解有困難的內(nèi)容)
2、測試計(jì)劃-----比如概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、參考文檔、背景、人員分工、時(shí)間安排、里程碑、風(fēng)險(xiǎn)評估等等
3、測試計(jì)劃評審-----時(shí)間安排是否合理、風(fēng)險(xiǎn)是否規(guī)避掉、測試機(jī)的準(zhǔn)備、系統(tǒng)的準(zhǔn)備、測試的方法、時(shí)間的限制、
4、編寫測試用例-----人員分工編寫不同模塊的測試用例
5、測試用例的評審
6、執(zhí)行測試用例
7、迭代測試
8、驗(yàn)收測試
9、編寫測試報(bào)告發(fā)布上線
六、軟件測試分哪兩種方法?分別適合什么情況?
軟件測試方法一般分為兩種:白盒測試與黑盒測試。白盒測試又稱為結(jié)構(gòu)測試、邏輯驅(qū)動(dòng)測試或基于程序本身的測試,它著重于程序的內(nèi)部結(jié)構(gòu)及算法,通常不關(guān)心功能與性能指標(biāo);黑盒測試又被稱為功能測試、數(shù)據(jù)驅(qū)動(dòng)測試或基于規(guī)格說明的測試,它實(shí)際上是站在最終用戶的立場,檢驗(yàn)輸入輸出信息及系統(tǒng)性能指標(biāo)是否符合規(guī)格說明書中有關(guān)功能需求及性能需求的規(guī)定
七、測試分為哪幾個(gè)階段?
一般來說分為5個(gè)階段:單元測試、集成測試、系統(tǒng)測試、回歸測試、驗(yàn)收測試
https://blog.csdn.net/lb838315586/article/details/85099064
八、單元測試的測試對象、目的、測試依據(jù)、測試方法?
測試對象是模塊內(nèi)部的程序錯(cuò)誤,目的是消除局部模塊邏輯和功能上的錯(cuò)誤和缺陷。測試依據(jù)是模塊的詳細(xì)設(shè)計(jì),測試方法是采用白盒測試
九、集成測試兩種不同的集成方式?
自頂向下集成:模塊集成的順序是首先集成主模塊,然后按照控制層次結(jié)構(gòu)向下進(jìn)行集成,隸屬于主模塊的模塊按照深度優(yōu)先或廣度優(yōu)先的方式集成到整個(gè)結(jié)構(gòu)中去。
自底向上集成:從原子模塊開始來進(jìn)行構(gòu)造和測試,因?yàn)槟K是自底向上集成的,進(jìn)行時(shí)要求所有隸屬于某個(gè)給頂層次的模塊總是存在的,也不再有使用穩(wěn)定測試樁的必要
十、系統(tǒng)測試的主要內(nèi)容?
所有功能需求得到滿足;所有性能測試得到滿足;其他需求(安全性、兼容性、容錯(cuò)性等)得到滿足
十一、回歸測試的方式?
1、覆蓋全部測試用例。選擇基線測試用例庫中的全部測試用例組成回歸測試包,測試成本最高
2、基于風(fēng)險(xiǎn)選擇測試??梢曰谝欢ǖ娘L(fēng)險(xiǎn)標(biāo)準(zhǔn)來從基線測試用例庫中選擇回歸測試包,首先運(yùn)行最重要的、最關(guān)鍵的和最可疑的測試用例,測試從主要特征到次要特征
3、基于操作剖面選擇測試。測試所使用的測試用例個(gè)數(shù)可以由測試預(yù)算確定,回歸測試可以優(yōu)先選擇那些最重要或最頻繁使用的功能的測試用例
4、重新測試修改的部分。當(dāng)測試者對修改的局部化有足夠信心時(shí),可以通過相依性分析識別軟件的修改情況并分析修改的影響,將回歸測試局限于被改變的模塊和他的接口上
十二、alpha測試和beta測試的區(qū)別
alpha測試是在用戶組織模擬軟件系統(tǒng)的運(yùn)行環(huán)境下的一種驗(yàn)收測試,由用戶或第三方測試公司進(jìn)行的測試,模擬各類用戶行為對即將面市的軟件產(chǎn)品進(jìn)行測試,試圖發(fā)現(xiàn)并修改錯(cuò)誤
beta測試時(shí)用戶公司組織各方面的典型終端用戶在日常工作中實(shí)際使用Beta版本,并要求用戶報(bào)告異常情況,提出批評意見
區(qū)別:
主要是測試場所不同,alpha是指把用戶請到開發(fā)方的場所來測試,beta測試是指在一個(gè)或多個(gè)用戶的場所進(jìn)行測試;alpha測試的環(huán)境是受開發(fā)方控制的,用戶的數(shù)量相對少,時(shí)間比較集中,beta測試環(huán)境不受開發(fā)方控制,用戶數(shù)量相對多,時(shí)間不集中
十三、什么樣的測試用例才合格?
能覆蓋到所有測試點(diǎn)的用例
十四、測試用例包括那些?
用例編號、測試項(xiàng)描述、操作步驟、輸入、預(yù)期結(jié)果、實(shí)際結(jié)果、測試人、測試時(shí)間、備注等
十五、缺陷測試報(bào)告組成?
缺陷編號、缺陷標(biāo)題、缺陷描述、缺陷優(yōu)先程度、缺陷所屬模塊、缺陷所屬版本、缺陷所屬開發(fā)人員、 輸入數(shù)據(jù)、輸出結(jié)果、缺陷分析等
十六、軟件測試類型有哪些?區(qū)別和聯(lián)系?
1.功能測試:占比最大,也叫黑盒測試(不看代碼)。進(jìn)行動(dòng)態(tài)測試時(shí),需要測試軟件功能,不需要測試軟件內(nèi)部結(jié)構(gòu)和處理過程。
技術(shù)方法有:等價(jià)類劃分法、邊界值分析、錯(cuò)誤推測、因果圖和綜合策略。
2.性能測試:通過自動(dòng)化測試工具模擬多種正常、異常、峰值條件,對系統(tǒng)各項(xiàng)性能指標(biāo)測試。 負(fù)載測試、壓力測試屬于此。負(fù)載測試:確定各項(xiàng)工作負(fù)載下的系統(tǒng)性能,目標(biāo)是負(fù)載主鍵增加時(shí),系統(tǒng)各項(xiàng)性能指標(biāo)變化;壓力測試:通過系統(tǒng)的瓶頸,獲得系統(tǒng)能提供的最大服務(wù)級別。
3.界面測試:界面好壞決定用戶對軟件第一印象。合理的界面帶來輕松愉悅感受,失敗界面有挫敗感,讓強(qiáng)大的功能付諸東流。
4.區(qū)別:功能測試關(guān)注軟件功能,每個(gè)功能可能存在的問題。性能測試軟件多用戶并發(fā)的穩(wěn)定性和強(qiáng)壯性。界面測試關(guān)注用戶體驗(yàn)和易用性。
https://blog.csdn.net/suifenglie/article/details/50040751
十七、靜態(tài)測試和動(dòng)態(tài)測試是什么?
所謂靜態(tài)測試(static testing)就是不實(shí)際運(yùn)行被測軟件,而只是檢查程序代碼、界面或文檔中可能存在的錯(cuò)誤的過程。 從概念中我們可以知道,其包括對代碼測試、界面測試和文檔測試三個(gè)方面: 對于代碼測試,主要測試代碼是否符合相應(yīng)的標(biāo)準(zhǔn)和規(guī)范。 對于界面測試,主要測試軟件的實(shí)際界面與需求中的說明是否相符。 對于文檔測試,主要測試用戶手冊和需求說明是否符合用戶的實(shí)際需求。
動(dòng)態(tài)測試(dynamic testing),指的是實(shí)際運(yùn)行被測程序,輸入相應(yīng)的測試數(shù)據(jù),檢查實(shí)際輸出結(jié)果和預(yù)期結(jié)果是否相符的過程,所以判斷一個(gè)測試屬于動(dòng)態(tài)測試還是靜態(tài)的,唯一的標(biāo)準(zhǔn)就是看是否運(yùn)行程序。 黑盒測試有可能是動(dòng)態(tài)測試(運(yùn)行程序,看輸入輸出),也有可能是靜態(tài)測試(不運(yùn)行,只看界面) 白盒測試有可能是動(dòng)態(tài)測試(運(yùn)行程序并分析代碼結(jié)構(gòu)),也有可能是靜態(tài)測試(不運(yùn)行程序,只靜態(tài)察看代碼) 動(dòng)態(tài)測試有可能是黑盒測試(運(yùn)行,只看輸入輸出),也有可能是白盒測試 (運(yùn)行并分析代碼結(jié)構(gòu)) 靜態(tài)測試有可能是黑盒測試(不運(yùn)行,只察看界面),也有可能是白盒測試(不運(yùn)行,只察看代碼)
十八、什么是兼容性測試?
檢查軟件在不同軟件、硬件平臺是否可以正常運(yùn)行。 即軟件的可移植性。
主要查看在不同操作系統(tǒng)、瀏覽器、數(shù)據(jù)庫、不同版本是否正常運(yùn)行
十九、軟件測試環(huán)境搭建的注意事項(xiàng)?
搭建測試環(huán)境前,確定測試目的;測試環(huán)境時(shí)盡可能的模擬真實(shí)環(huán)境;確保無毒環(huán)境;營造獨(dú)立的測試環(huán)境;構(gòu)建可復(fù)用的測試環(huán)境
http://www.itdecent.cn/writer#/notebooks/41407343/notes/44327158
二十、好的測試用例的關(guān)鍵點(diǎn)是什么?
白盒測試:較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果。
黑盒測試:較少的用例覆蓋模塊輸出和輸入接口。一最少用例在合理時(shí)間內(nèi)發(fā)現(xiàn)最多的問題
二十一、軟件開發(fā)過程和角色分工?
測試配合開發(fā)等進(jìn)行需求分析和討論,根據(jù)需求說明書指定《項(xiàng)目測試計(jì)劃》,編寫測試用例,建立測試環(huán)境。 測試負(fù)責(zé)新產(chǎn)品測試,原有產(chǎn)品的升級測試,負(fù)責(zé)軟件問題解決過程跟蹤,軟件開發(fā)文檔、開發(fā)工作的規(guī)范化,管理開發(fā)部門的產(chǎn)品文檔,制作用戶手冊、操作手冊,產(chǎn)品上限測試,監(jiān)督軟件開發(fā)過程執(zhí)行,提高軟件質(zhì)量
二十二、編寫測試用例的方法?
等價(jià)類,邊界值,因果圖,判定表,狀態(tài)遷移,正交,流程分析,輸入域覆蓋法,輸出域覆蓋法,錯(cuò)誤猜測法,異常分析法
https://blog.csdn.net/u014745194/article/details/79919756
二十三、軟件測試的方法?
從是否關(guān)心軟件內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)的角度劃分:白盒測試、黑盒測試、灰盒測試
從是否執(zhí)行代碼角度:靜態(tài)測試、動(dòng)態(tài)測試
從軟件開發(fā)的過程按階段劃分:單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試、驗(yàn)收測試、回歸測試
https://blog.csdn.net/fengluowusheng/article/details/90739316
二十四、軟件測試策略與測試類型的區(qū)別?
測試策略說的是如:黑盒測試,白盒測試,測試類型說的是如:性能測試,功能測試。策略是大范圍,策略包含了類型。
二十五、你們是如何編寫測試用例?根據(jù)什么來編寫的?如何確保用例的覆蓋度?
我們是根據(jù)需求(需求說明書、之前的產(chǎn)品、同品、軟件規(guī)范、經(jīng)驗(yàn)值)編寫用例(UI、功能、兼容性、安全、性能、穩(wěn)定性、易用性),用到什么方法(測試用例設(shè)計(jì)方法)。如果把上述的點(diǎn)都考慮并測試到了,那么覆蓋度就達(dá)到要求
二十六、根據(jù)你以前的工作或?qū)W習(xí)經(jīng)驗(yàn)描述一下軟件開發(fā)、測試過程,由哪些角色負(fù)責(zé),你做什么?
要有架構(gòu)師、開發(fā)經(jīng)理、測試經(jīng)理、程序員、測試員。我在里面主要是負(fù)責(zé)所分到的模塊執(zhí)行測試用例
二十七、B/S架構(gòu)和C/S架構(gòu)的區(qū)別?
(1) 硬件環(huán)境不同: C/S建立在專用網(wǎng)絡(luò)上,小范圍的網(wǎng)絡(luò)環(huán)境,局域網(wǎng)之間再通過專門服務(wù)器提供連接和數(shù)據(jù)交換服務(wù); B/S建立在廣域網(wǎng)上,不需要專門的網(wǎng)絡(luò)硬件環(huán)境
(2)安全要求不同: C/S一般面向相對固定的用戶群,對信息安全控制能力強(qiáng),一般高度機(jī)密的信息系統(tǒng)采用; B/S建立在廣域網(wǎng)上,對信息安全控制能力弱,面對不可知的用戶的用戶群
(3)系統(tǒng)維護(hù)不同 C/S程序由于整體性,必須整體考察,升級困難,多建立在windows上,表現(xiàn)方法有限, 對程序員要求較高; B/S系統(tǒng)無縫升級,維護(hù)開銷小,有更加豐富的表現(xiàn)形式,開發(fā)難度較低
(4)處理問題不同 C/S處理用戶固定,安全需求高,需求相同操作系統(tǒng) B/S面向所有用戶,分散廣,對系統(tǒng)要求小
二十八、軟件測試的原則?
所有的測試都應(yīng)追溯到用戶需求 (2)應(yīng)當(dāng)把“盡早和不斷地測試”作為座右銘 (3)測試工作應(yīng)當(dāng)由獨(dú)立的專業(yè)的軟件測試機(jī)構(gòu)來完成 (4)Pareto原則,測試發(fā)現(xiàn)的錯(cuò)誤中80%很可能起源于20%的模塊中(導(dǎo)入新的代碼的情況) (5)設(shè)計(jì)測試用例時(shí),應(yīng)該考慮各種情況 (6)對測試出的錯(cuò)誤結(jié)果一定要有一個(gè)確認(rèn)的過程(缺陷描述報(bào)告) (7)制定嚴(yán)格的測試計(jì)劃 (8)完全測試是不可能的,測試需要終止 (9)注意回歸測試的關(guān)聯(lián)性 (1) (10)妥善保存一切測試過程文檔
二十九、軟件產(chǎn)品質(zhì)量模型的特性?
功能性:是指軟件產(chǎn)品在指定條件下使用時(shí),提供滿足明確和隱含要求的功能的能力 2.可靠性:是指在特定條件下使用時(shí),軟件產(chǎn)品維持規(guī)定的性能級別能力。第一層:設(shè)備最好不要出故障;第二層:設(shè)備出現(xiàn)故障了不要影響主要的功能和業(yè)務(wù);第三層:如果影響了主要功能和業(yè)務(wù),系統(tǒng)可以盡快定位并恢復(fù) 3.易用性:是指用戶在指定條件下使用軟件產(chǎn)品時(shí),產(chǎn)品被用戶理解、學(xué)習(xí)、使用和吸引客戶的能力(易懂,易學(xué),易用,漂亮好看) 4.效率:是指在規(guī)定條件下,相對于所用資源的數(shù)量,軟件產(chǎn)品可提供適當(dāng)?shù)男阅艿哪芰?,通產(chǎn),效率就是我們常說的產(chǎn)品性能 5.可維持性:是指產(chǎn)品可被修改的能力,這里的修改是指糾正,改進(jìn)軟件產(chǎn)品和軟件產(chǎn)品對環(huán)境,功能規(guī)格變化的適應(yīng)性 1. 6.可移植性:是指軟件產(chǎn)品從一種環(huán)境遷移到另一種環(huán)境的能力,這里的環(huán)境,可以理解為硬件、軟件或組織等不同的環(huán)境
三十、QC和QA的區(qū)別?
QC:檢驗(yàn)產(chǎn)品的質(zhì)量,保證產(chǎn)品符合客戶的需求,是產(chǎn)品質(zhì)量檢查者 QA:審計(jì)過程的質(zhì)量,保證過程被正確執(zhí)行,是過程質(zhì)量審計(jì)者
QC進(jìn)行質(zhì)量控制,向管理層反饋質(zhì)量信息;QA則確保QC按照過程進(jìn)行質(zhì)量控制活動(dòng),按照過程將檢查結(jié)果向管理層匯報(bào),這就是QA和QC工作的關(guān)系