軟件的生命周期(prdctrm)
計(jì)劃階段(planning)-〉需求分析(requirement)-〉設(shè)計(jì)階段(design)-〉編碼(coding)->測試(testing)->運(yùn)行與維護(hù)(running maintrnacne)
測試用例
用例編號? 測試項(xiàng)目? 測試標(biāo)題? 重要級別? 預(yù)置條件 ?輸入數(shù)據(jù)? 執(zhí)行步驟 ?預(yù)期結(jié)果
1速侈、問:你在測試中發(fā)現(xiàn)了一個(gè)bug董习,但是開發(fā)經(jīng)理認(rèn)為這不是一個(gè)bug循未,你應(yīng)該怎樣解決窒所?
首先挤庇,將問題提交到缺陷管理庫里面進(jìn)行備案寂祥。
然后顷啼,要獲取判斷的依據(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)是否是缺陷偏陪;
與設(shè)計(jì)人員、開發(fā)人員和客戶代表等相關(guān)人員探討煮嫌,確認(rèn)是否是缺陷笛谦;
合理的論述,向測試經(jīng)理說明自己的判斷的理由昌阿,注意客觀饥脑、嚴(yán)謹(jǐn),不參雜個(gè)人情緒懦冰。
等待測試經(jīng)理做出最終決定灶轰,如果仍然存在爭議,可以通過公司政策所提供的渠道刷钢,向上級反映笋颤,并有上級做出決定。
2、問:給你一個(gè)網(wǎng)站伴澄,你如何測試赋除?
首先,查找需求說明非凌、網(wǎng)站設(shè)計(jì)等相關(guān)文檔举农,分析測試需求。
制定測試計(jì)劃敞嗡,確定測試范圍和測試策略颁糟,一般包括以下幾個(gè)部分:功能性測試;界面測試喉悴;性能測試棱貌;數(shù)據(jù)庫測試;安全性測試粥惧;兼容性測試
設(shè)計(jì)測試用例:
功能性測試可以包括键畴,但不限于以下幾個(gè)方面:
鏈接測試。鏈接是否正確跳轉(zhuǎn)突雪,是否存在空頁面和無效頁面起惕,是否有不正確的出錯信息返回。
提交功能的測試咏删。
多媒體元素是否可以正確加載和顯示惹想。
多語言支持是否能夠正確顯示選擇的語言等。
界面測試可以包括但不限于一下幾個(gè)方面:
頁面是否風(fēng)格統(tǒng)一督函,美觀
頁面布局是否合理嘀粱,重點(diǎn)內(nèi)容和熱點(diǎn)內(nèi)容是否突出
控件是否正常使用
對于必須但未安裝的控件,是否提供自動下載并安裝的功能
文字檢查
性能測試一般從以下兩個(gè)方面考慮:
壓力測試辰狡;負(fù)載測試锋叨;強(qiáng)度測試
數(shù)據(jù)庫測試要具體決定是否需要開展。數(shù)據(jù)庫一般需要考慮連結(jié)性宛篇,對數(shù)據(jù)的存取操作娃磺,數(shù)據(jù)內(nèi)容的驗(yàn)證等方面魁索。
安全性測試:
基本的登錄功能的檢查
是否存在溢出錯誤湾宙,導(dǎo)致系統(tǒng)崩潰或者權(quán)限泄露
相關(guān)開發(fā)語言的常見安全性問題檢查,例如SQL注入等
如果需要高級的安全性測試姆钉,確定獲得專業(yè)安全公司的幫助吆倦,外包測試听诸,或者獲取支持
兼容性測試,根據(jù)需求說明的內(nèi)容蚕泽,確定支持的平臺組合:
瀏覽器的兼容性晌梨;
操作系統(tǒng)的兼容性;
軟件平臺的兼容性;
數(shù)據(jù)庫的兼容性
開展測試仔蝌,并記錄缺陷砸逊。合理的安排調(diào)整測試進(jìn)度,提前獲取測試所需的資源掌逛,建立管理體系(例如,需求變更司倚、風(fēng)險(xiǎn)豆混、配置、測試文檔动知、缺陷報(bào)告皿伺、人力資源等內(nèi)容)。
定期評審盒粮,對測試進(jìn)行評估和總結(jié)鸵鸥,調(diào)整測試的內(nèi)容。
3丹皱、在搜索引擎中輸入漢字就可以解析到對應(yīng)的域名妒穴,請問如何用LoadRunner進(jìn)行測試。
建立測試計(jì)劃摊崭,確定測試標(biāo)準(zhǔn)和測試范圍
設(shè)計(jì)典型場景的測試用例讼油,覆蓋常用業(yè)務(wù)流程和不常用的業(yè)務(wù)流程等
根據(jù)測試用例,開發(fā)自動測試腳本和場景:
錄制測試腳本:新建一個(gè)腳本(Web/HTML協(xié)議)呢簸;點(diǎn)擊錄制按鈕矮台,在彈出的對話框的URL中輸入”about:blank”;在打開的瀏覽器中進(jìn)行正常操作流程后根时,結(jié)束錄制瘦赫;調(diào)試腳本并保存,可能要注意到字符集的關(guān)聯(lián)蛤迎。
設(shè)置測試場景:針對性能設(shè)置測試場景确虱,主要判斷在正常情況下,系統(tǒng)的平均事務(wù)響應(yīng)時(shí)間是否達(dá)標(biāo)忘苛;針對壓力負(fù)載設(shè)置測試場景蝉娜,主要判斷在長時(shí)間處于滿負(fù)荷或者超出系統(tǒng)承載能力的條件下,系統(tǒng)是否會崩潰扎唾;執(zhí)行測試召川,獲取測試結(jié)果,分析測試結(jié)果
4胸遇、問:一臺客戶端有三百個(gè)客戶與三百個(gè)客戶端有三百個(gè)客戶對服務(wù)器施壓荧呐,有什么區(qū)別?
300個(gè)用戶在一個(gè)客戶端上,會占用客戶機(jī)更多的資源,而影響測試的結(jié)果倍阐。線程之間可能發(fā)生干擾概疆,而產(chǎn)生一些異常。
300個(gè)用戶在一個(gè)客戶端上峰搪,需要更大的帶寬岔冀。
IP地址的問題,可能需要使用IP Spoof來繞過服務(wù)器對于單一IP地址最大連接數(shù)的限制概耻。
所有用戶在一個(gè)客戶端上使套,不必考慮分布式管理的問題;而用戶分布在不同的客戶端上鞠柄,需要考慮使用控制器來整體調(diào)配不同客戶機(jī)上的用戶侦高。同時(shí),還需要給予相應(yīng)的權(quán)限配置和防火墻設(shè)置厌杜。
5奉呛、試述軟件的概念和特點(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)知識用于建立新的軟件,以縮減軟件開發(fā)和維護(hù)的花費(fèi)赠堵。軟件復(fù)用是提高軟件生產(chǎn)力和質(zhì)量的一種重要技術(shù)小渊。早期的軟件復(fù)用主要是代碼級復(fù)用,被復(fù)用的知識專指程序茫叭,后來擴(kuò)大到包括領(lǐng)域知識酬屉、開發(fā)經(jīng)驗(yàn)、設(shè)計(jì)決定揍愁、體系結(jié)構(gòu)呐萨、需求、設(shè)計(jì)莽囤、代碼和文檔等一切有關(guān)方面谬擦。
可以被復(fù)用的軟件成分一般稱作可復(fù)用構(gòu)件
6、軟件生存周期及其模型是什么朽缎?
軟件生存周期(Software life cycle)又稱為軟件生命期惨远,生存期谜悟。是指從形成開發(fā)軟件概念起,所開發(fā)的軟件使用以后北秽,知道失去使用價(jià)值消亡為止的整個(gè)過程葡幸。一般來說,整個(gè)生存周期包括計(jì)劃(定義)贺氓、開發(fā)蔚叨、運(yùn)行(維護(hù))三個(gè)時(shí)期,每個(gè)時(shí)期又劃分為若干個(gè)階段辙培。每個(gè)階段有明確的任務(wù)缅叠。
周期模型(典型的幾種):
瀑布模型
快速原型模型:快速原型模型允許在需求分析階段對軟件的需求進(jìn)行初步而非完全的分析和定義,快速設(shè)計(jì)開發(fā)出軟件系統(tǒng)的原型虏冻,該原型向用戶展示待開發(fā)軟件的全部或部分功能和性能;用戶對該原型進(jìn)行測試評定弹囚,給出具體改進(jìn)意見以豐富細(xì)化軟件需求厨相;開發(fā)人員據(jù)此對軟件進(jìn)行修改完善,直至用戶滿意認(rèn)可之后鸥鹉,進(jìn)行軟件的完整實(shí)現(xiàn)及測試蛮穿、維護(hù)。
迭代模型:迭代包括產(chǎn)生產(chǎn)品發(fā)布(穩(wěn)定毁渗、可執(zhí)行的產(chǎn)品版本)的全部開發(fā)活動和要使用該發(fā)布必需的所有其他外圍元素践磅。在某種程度上,開發(fā)迭代是一次 完整地經(jīng)過所有工作流程的過程:需求分析灸异、設(shè)計(jì)府适、實(shí)施和測試工作流程。實(shí)質(zhì)上肺樟,它類似小型的瀑布式項(xiàng)目檐春。RUP認(rèn)為,所有的階段都可以細(xì)分為迭代么伯。每一次 的迭代都會產(chǎn)生一個(gè)可以發(fā)布的產(chǎn)品疟暖,這個(gè)產(chǎn)品是最終產(chǎn)品的一個(gè)子集。
生命周期階段:
軟件計(jì)劃與可行性分析
需求分析
軟件設(shè)計(jì)
編碼
軟件測試
運(yùn)行與維護(hù)
7田柔、什么是軟件測試俐巴?軟件測試的目的與原則
在規(guī)定的條件下對程序進(jìn)行操作,以發(fā)現(xiàn)程序錯誤硬爆,衡量軟件質(zhì)量欣舵,并對其是否能滿足設(shè)計(jì)要求進(jìn)行評估的過程。
軟件測試的目的:
測試是程序的執(zhí)行過程缀磕,目的在于發(fā)現(xiàn)錯誤
一個(gè)成功的測試用例在于發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤
一個(gè)成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試
確保產(chǎn)品完成了它所承諾或公布的功能邻遏,并且用戶可以訪問到的功能都有明確的書面說明糠亩。
確保產(chǎn)品滿足性能和效率的要求
確保產(chǎn)品是健壯的和適應(yīng)用戶環(huán)境的
軟件測試的原則:
測試用例中一個(gè)必須部分是對預(yù)期輸出或接過進(jìn)行定義
程序員應(yīng)避免測試自己編寫的程序
編寫軟件的組織不應(yīng)當(dāng)測試自己編寫的軟件
應(yīng)當(dāng)徹底檢查每個(gè)測試的執(zhí)行結(jié)果
測試用例的編寫不僅應(yīng)當(dāng)根據(jù)有效和預(yù)料到的輸入情況,而且也應(yīng)當(dāng)根據(jù)無效和未預(yù)料到的輸入情況
檢擦程序是否“未做其應(yīng)該做的”僅是測試的一半准验,測試的另一半是檢查程序是否“做了其不應(yīng)該做的”
應(yīng)避免測試用例用后即棄赎线,除非軟件本身就是個(gè)一次性的軟件
計(jì)劃測試工作時(shí)不應(yīng)默許假定不會發(fā)現(xiàn)錯誤
程序某部分存在更多錯誤的可能性,與該部分已經(jīng)發(fā)現(xiàn)錯誤的數(shù)量成正比
軟件測試是一項(xiàng)極富創(chuàng)造性糊饱,極具智力的挑戰(zhàn)性的工作
8垂寥、軟件配置管理的作用?軟件配置包括什么另锋?
軟件配置管理(Software Configuration Management滞项,SCM)是一種標(biāo)識、組織和控制修改的技術(shù)夭坪。軟件配置管理應(yīng)用于整個(gè)軟件工程過程文判。在軟件建立時(shí)變更是不可避免的,而變更加劇了項(xiàng)目中軟件開發(fā)者之間的混亂室梅。SCM活動的目標(biāo)就是為了標(biāo)識變更戏仓、控制變更、確保變更正確實(shí)現(xiàn)并向其他有關(guān)人員報(bào)告變更亡鼠。從某種角度講赏殃,SCM是一種標(biāo)識、組織和控制修改的技術(shù)间涵,目的是使錯誤降為最小并最有效地提高生產(chǎn)效率仁热。
軟件配置包括如下內(nèi)容:配置項(xiàng)識別、工作空間管理勾哩、版本控制抗蠢、變更控制、狀態(tài)報(bào)告思劳、配置審計(jì)
9物蝙、什么是軟件質(zhì)量?
概括地說敢艰,軟件質(zhì)量就是“軟件與明確的和隱含的定義的需求相一致的程度”诬乞。具體地說,軟件質(zhì)量是軟件符合明確敘述的功能和性能需求钠导、文檔中明確描述 的開發(fā)標(biāo)準(zhǔn)震嫉、以及所有專業(yè)開發(fā)的軟件都應(yīng)具有的隱含特征的程度。 影響軟件質(zhì)量的主要因素牡属,這些因素是從管理角度對軟件質(zhì)量的度量票堵。可劃分為三組逮栅,分別反應(yīng)用戶在使用軟件產(chǎn)品時(shí)的三種觀點(diǎn)悴势。正確性窗宇、健壯性、效率特纤、完整性军俊、可用性、風(fēng)險(xiǎn)(產(chǎn)品運(yùn)行)捧存;可理解性粪躬、可維修性、靈活性昔穴、可測試性(產(chǎn)品修改)镰官;可移植性、可再用性吗货、互運(yùn)行性(產(chǎn)品轉(zhuǎn)移)泳唠。
10、目前主要的測試用例設(shè)計(jì)方法是什么宙搬?
白盒測試:邏輯覆蓋笨腥、循環(huán)覆蓋、基本路徑覆蓋
黑盒測試:邊界值分析法害淤、等價(jià)類劃分、錯誤猜測法拓售、因果圖法窥摄、狀態(tài)圖法、測試大綱法础淤、隨機(jī)測試崭放、場景法
11、軟件的安全性應(yīng)從哪幾個(gè)方面去測試鸽凶?
軟件安全性測試包括程序币砂、數(shù)據(jù)庫安全性測試。根據(jù)系統(tǒng)安全指標(biāo)不同測試策略也不同玻侥。
用戶認(rèn)證安全的測試要考慮問題: 明確區(qū)分系統(tǒng)中不同用戶權(quán)限 决摧、系統(tǒng)中會不會出現(xiàn)用戶沖突 、系統(tǒng)會不會因用戶的權(quán)限的改變造成混亂 凑兰、用戶登陸密碼是否是可見掌桩、可復(fù)制 、是否可以通過絕對途徑登陸系統(tǒng)(拷貝用戶登陸后的鏈接直接進(jìn)入系統(tǒng))姑食、用戶退出系統(tǒng)后是否刪除了所有鑒權(quán)標(biāo)記波岛,是否可以使用后退鍵而不通過輸入口令進(jìn)入 系統(tǒng) 、系統(tǒng)網(wǎng)絡(luò)安全的測試要考慮問題 音半、測試采取的防護(hù)措施是否正確裝配好则拷,有關(guān)系統(tǒng)的補(bǔ)丁是否打上 贡蓖、模擬非授權(quán)攻擊,看防護(hù)系統(tǒng)是否堅(jiān)固 煌茬、采用成熟的網(wǎng)絡(luò)漏洞檢查工具檢查系統(tǒng)相關(guān)漏洞(即用最專業(yè)的黑客攻擊工具攻擊試一下斥铺,現(xiàn)在最常用的是 NBSI 系列和 IPhacker IP ) 、采用各種木馬檢查工具檢查系統(tǒng)木馬情況 宣旱、采用各種防外掛工具檢查系統(tǒng)各組程序的外掛漏洞
數(shù)據(jù)庫安全考慮問題: 系統(tǒng)數(shù)據(jù)是否機(jī)密(比如對銀行系統(tǒng)仅父,這一點(diǎn)就特別重要,一般的網(wǎng)站就沒有太高要求)浑吟、系統(tǒng)數(shù)據(jù)的完整性(我剛剛結(jié)束的企業(yè)實(shí)名核查服務(wù)系統(tǒng)中就曾存在數(shù)據(jù) 的不完整笙纤,對于這個(gè)系統(tǒng)的功能實(shí)現(xiàn)有了障礙) 、系統(tǒng)數(shù)據(jù)可管理性 组力、系統(tǒng)數(shù)據(jù)的獨(dú)立性 省容、系統(tǒng)數(shù)據(jù)可備份和恢復(fù)能力(數(shù)據(jù)備份是否完整,可否恢復(fù)燎字,恢復(fù)是否可以完整)
12腥椒、什么是測試用例?什么是測試腳本?兩者的關(guān)系是什么?
為實(shí)施測試而向被測試系統(tǒng)提供的輸入數(shù)據(jù)候衍、操作或各種環(huán)境設(shè)置以及期望結(jié)果的一個(gè)特定的集合笼蛛。
測試腳本是為了進(jìn)行自動化測試而編寫的腳本。
測試腳本的編寫必須對應(yīng)相應(yīng)的測試用例
13蛉鹿、簡述什么是靜態(tài)測試滨砍、動態(tài)測試、黑盒測試妖异、白盒測試惋戏、α測試?β測試
靜態(tài)測試是不運(yùn)行程序本身而尋找程序代碼中可能存在的錯誤或評估程序代碼的過程。
動態(tài)測試是實(shí)際運(yùn)行被測程序他膳,輸入相應(yīng)的測試實(shí)例响逢,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,判定執(zhí)行結(jié)果是否符合要求棕孙,從而檢驗(yàn)程序的正確性舔亭、可靠性和有效性,并分析系統(tǒng)運(yùn)行效率和健壯性等性能蟀俊。
黑盒測試一般用來確認(rèn)軟件功能的正確性和可操作性,目的是檢測軟件的各個(gè)功能是否能得以實(shí)現(xiàn),把被測試的程序當(dāng)作一個(gè)黑盒,不考慮其內(nèi)部結(jié)構(gòu),在知道該程序的輸入和輸出之間的關(guān)系或程序功能的情況下,依靠軟件規(guī)格說明書來確定測試用例和推斷測試結(jié)果的正確性分歇。
白盒測試根據(jù)軟件內(nèi)部的邏輯結(jié)構(gòu)分析來進(jìn)行測試,是基于代碼的測試,測試人員通過閱讀程序代碼或者通過使用開發(fā)工具中的單步調(diào)試來判斷軟件的質(zhì)量欧漱,一般黑盒測試由項(xiàng)目經(jīng)理在程序員開發(fā)中來實(shí)現(xiàn)职抡。
α測試是由一個(gè)用戶在開發(fā)環(huán)境下進(jìn)行的測試,也可以是公司內(nèi)部的用戶在模擬實(shí)際操作環(huán)境下進(jìn)行的受控測試误甚,Alpha測試不能由程序員或測試員完成缚甩。
β測試是軟件的多個(gè)用戶在一個(gè)或多個(gè)用戶的實(shí)際使用環(huán)境下進(jìn)行的測試谱净。開發(fā)者通常不在測試現(xiàn)場,Beta測試不能由程序員或測試員完成擅威。
14壕探、軟件質(zhì)量保證體系是什么?國家標(biāo)準(zhǔn)中與質(zhì)量保證管理相關(guān)的幾個(gè)標(biāo)準(zhǔn)是什么?他們的編號和全稱是什么?
SQA由一套軟件工程過程和方法組成,以保證(軟件的)質(zhì)量郊丛。SQA貫穿整個(gè)軟件開發(fā)過程李请,(它)應(yīng)包括需求文檔評審、代碼控制厉熟、代碼評審导盅、變更管理、配置管理揍瑟、版本管理和軟件測試白翻。
軟件質(zhì)量保證(SQA-Software Quality Assurance)是建立一套有計(jì)劃,有系統(tǒng)的方法绢片,來向管理層保證擬定出的標(biāo)準(zhǔn)滤馍、步驟、實(shí)踐和方法能夠正確地被所有項(xiàng)目所采用底循。軟件質(zhì)量保證的目的是使軟件過程對于管理人員來說是可見的巢株。它通過對軟件產(chǎn)品和活動進(jìn)行評審和審計(jì)來驗(yàn)證軟件是合乎標(biāo)準(zhǔn)的。軟件質(zhì)量保證組在項(xiàng)目開始時(shí)就一起參與建立計(jì)劃熙涤、標(biāo)準(zhǔn)和過程阁苞。這些將使軟件項(xiàng)目滿足機(jī)構(gòu)方針的要求。
15灭袁、軟件產(chǎn)品質(zhì)量特性是什么?
功能性:適應(yīng)性猬错、準(zhǔn)確性窗看、互操作性茸歧、依從性、安全性显沈。
可靠性:成熟性软瞎、容錯性、易恢復(fù)性拉讯。
可使用性:易理解性涤浇、易學(xué)習(xí)性、易操作性魔慷。
效率:時(shí)間特性只锭、資源特性。
可維護(hù)性:易分析性院尔、易變更性蜻展、穩(wěn)定性喉誊、易測試性。
可移植性: 適應(yīng)性纵顾、易安裝性伍茄、遵循性、易替換性
16施逾、軟件測試的策略是什么?
軟件測試策略:在一定的軟件測試標(biāo)準(zhǔn)敷矫、測試規(guī)范的指導(dǎo)下,依據(jù)測試項(xiàng)目的特定環(huán)境約束而規(guī)定的軟件測試的原則汉额、方式曹仗、方法的集合。
17闷愤、軟件測試分為幾個(gè)階段?各階段的測試策略和要求是什么?
和開發(fā)過程相對應(yīng)整葡,測試過程會依次經(jīng)歷單元測試、集成測試讥脐、系統(tǒng)測試遭居、驗(yàn)收測試四個(gè)主要階段:
單元測試:單元測試是針對軟件設(shè)計(jì)的最小單位––程序模塊甚至代碼段進(jìn)行正確性檢驗(yàn)的測試工作,通常由開發(fā)人員進(jìn)行旬渠。
集成測試:集成測試是將模塊按照設(shè)計(jì)要求組裝起來進(jìn)行測試俱萍,主要目的是發(fā)現(xiàn)與接口有關(guān)的問題。由于在產(chǎn)品提交到測試部門前告丢,產(chǎn)品開發(fā)小組都要進(jìn)行聯(lián)合調(diào)試枪蘑,因此在大部分企業(yè)中集成測試是由開發(fā)人員來完成的。
系統(tǒng)測試:系統(tǒng)測試是在集成測試通過后進(jìn)行的岖免,目的是充分運(yùn)行系統(tǒng)蔼卡,驗(yàn)證各子系統(tǒng)是否都能正常工作并完成設(shè)計(jì)的要求。它主要由測試部門進(jìn)行几于,是測試部門最大最重要的一個(gè)測試佛析,對產(chǎn)品的質(zhì)量有重大的影響。
驗(yàn)收測試:驗(yàn)收測試以需求階段的《需求規(guī)格說明書》為驗(yàn)收標(biāo)準(zhǔn)闯参,測試時(shí)要求模擬實(shí)際用戶的運(yùn)行環(huán)境瞻鹏。對于實(shí)際項(xiàng)目可以和客戶共同進(jìn)行,對于產(chǎn)品來說就是最后一次的系統(tǒng)測試鹿寨。測試內(nèi)容為對功能模塊的全面測試新博,尤其要進(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ū)動工作量較大;有些接口測試不充分想际;有些測試重復(fù)和浪費(fèi)培漏。
系統(tǒng)測試的測試策略:
數(shù)據(jù)和數(shù)據(jù)庫完整性測試;功能測試胡本;用戶界面測試牌柄;性能評測;負(fù)載測試侧甫;強(qiáng)度測試珊佣;容量測試;安全性和訪問控制測試披粟;故障轉(zhuǎn)移和恢復(fù)測試咒锻;配置測試;安裝測試守屉;加密測試惑艇;可用性測試;版本驗(yàn)證測試胸梆;文檔測試
18敦捧、軟件測試各個(gè)階段通常完成什么工作须板?各個(gè)階段的結(jié)果文件是什么碰镜?包括什么內(nèi)容?
單元測試階段:各獨(dú)立單元模塊在與系統(tǒng)地其他部分相隔離的情況下進(jìn)行測試习瑰,單元測試針對每一個(gè)程序模塊進(jìn)行正確性校驗(yàn)绪颖,檢查各個(gè)程序模塊是否正確地實(shí)現(xiàn)了規(guī)定的功能。生成單元測試報(bào)告,提交缺陷報(bào)告柠横。
集成測試階段:集成測試是在單元測試的基礎(chǔ)上窃款,測試在將所有的軟件單元按照概要設(shè)計(jì)規(guī)格說明的要求組裝成模塊、子系統(tǒng)或系統(tǒng)的過程中各部分工作是否達(dá)到或?qū)崿F(xiàn)相應(yīng)技術(shù)指標(biāo)及要求的活動牍氛。該階段生成集成測試報(bào)告晨继,提交缺陷報(bào)告。
系統(tǒng)測試階段:將通過確認(rèn)測試的軟件搬俊,作為整個(gè)給予計(jì)算機(jī)系統(tǒng)的一個(gè)元素紊扬,與計(jì)算機(jī)硬件、外設(shè)唉擂、某些支持軟件餐屎、數(shù)據(jù)和人員等其他系統(tǒng)元素結(jié)合在一起,在實(shí)際運(yùn)行環(huán)境下玩祟,對計(jì)算機(jī)系統(tǒng)進(jìn)行全面的功能覆蓋腹缩。該階段需要提交測試總結(jié)和缺陷報(bào)告。
19空扎、測試人員在軟件開發(fā)過程中的任務(wù)是什么藏鹊?
1、盡可能早的找出系統(tǒng)中的Bug转锈;
2伙判、避免軟件開發(fā)過程中缺陷的出現(xiàn);
3黑忱、衡量軟件的品質(zhì)宴抚,保證系統(tǒng)的質(zhì)量;
4甫煞、關(guān)注用戶的需求菇曲,并保證系統(tǒng)符合用戶需求。
總的目標(biāo)是:確保軟件的質(zhì)量抚吠。
20常潮、在您以往的工作中,一條軟件缺陷(或者叫Bug)記錄都包含了哪些內(nèi)容楷力?如何提交高質(zhì)量的軟件缺陷(Bug)記錄喊式?
一條Bug記錄最基本應(yīng)包含:
bug編號;
bug嚴(yán)重級別萧朝,優(yōu)先級岔留;
bug產(chǎn)生的模塊;
首先要有bug摘要检柬,闡述bug大體的內(nèi)容献联;
bug對應(yīng)的版本;
bug詳細(xì)現(xiàn)象描述,包括一些截圖里逆、錄像....等等进胯;
bug出現(xiàn)時(shí)的測試環(huán)境,產(chǎn)生的條件即對應(yīng)操作步驟原押;
高質(zhì)量的Bug記錄:
1) 通用UI要統(tǒng)一胁镐、準(zhǔn)確
缺陷報(bào)告的UI要與測試的軟件UI保持一致,便于查找定位诸衔。
2) 盡量使用業(yè)界慣用的表達(dá)術(shù)語和表達(dá)方法
使用業(yè)界慣用的表達(dá)術(shù)語和表達(dá)方法希停,保證表達(dá)準(zhǔn)確,體現(xiàn)專業(yè)化署隘。
3) 每條缺陷報(bào)告只包括一個(gè)缺陷
每條缺陷報(bào)告只包括一個(gè)缺陷宠能,可以使缺陷修正者迅速定位一個(gè)缺陷,集中精力每次只修正一個(gè)缺陷磁餐。校驗(yàn)者每次只校驗(yàn)一個(gè)缺陷是否已經(jīng)正確修正违崇。
4) 不可重現(xiàn)的缺陷也要報(bào)告
首先缺陷報(bào)告必須展示重現(xiàn)缺陷的能力。不可重現(xiàn)的缺陷要盡力重現(xiàn)诊霹,若盡力之后仍不能重現(xiàn)羞延,仍然要報(bào)告此缺陷,但在報(bào)告中要注明無法再現(xiàn)脾还,缺陷出現(xiàn)的頻率伴箩。
5) 明確指明缺陷類型
根據(jù)缺陷的現(xiàn)象,總結(jié)判斷缺陷的類型鄙漏。例如嗤谚,即功能缺陷、界面缺陷怔蚌、數(shù)據(jù)缺陷巩步,合理化建議這是最常見的缺陷或缺陷類型,其他形式的缺陷或缺陷也從屬于其中某種形式桦踊。
6) 明確指明缺陷嚴(yán)重等級和優(yōu)先等級
時(shí)刻明確嚴(yán)重等級和優(yōu)先等級之間的差別椅野。高嚴(yán)重問題可能不值得解決,小裝飾性問題可能被當(dāng)作高優(yōu)先級籍胯。
7) 描述 (Description) 竟闪,簡潔、準(zhǔn)確杖狼,完整炼蛤,揭示缺陷實(shí)質(zhì),記錄缺陷或缺陷出現(xiàn)的位置
描述要準(zhǔn)確反映缺陷的本質(zhì)內(nèi)容本刽,簡短明了鲸湃。為了便于在軟件缺陷管理數(shù)據(jù)庫中尋找制定的測試缺陷,包含缺陷發(fā)生時(shí)的用戶界面(UI)是個(gè)良好的習(xí)慣子寓。例如記錄對話框的標(biāo)題暗挑、菜單、按鈕等控件的名稱斜友。
8) 短行之間使用自動數(shù)字序號炸裆,使用相同的字體、字號鲜屏、行間距
短行之間使用自動數(shù)字序號烹看,使用相同的字體、字號洛史、行間距惯殊,可以保證各條記錄格式一致,做到規(guī)范專業(yè)也殖。
9) 每一個(gè)步驟盡量只記錄一個(gè)操作
保證簡潔土思、條理井然,容易重復(fù)操作步驟忆嗜。
10) 確認(rèn)步驟完整己儒,準(zhǔn)確,簡短
保證快速準(zhǔn)確的重復(fù)缺陷捆毫,“完整”即沒有缺漏闪湾,“準(zhǔn)確”即步驟正確,“簡短”即沒有多余的步驟绩卤。
11) 根據(jù)缺陷途样,可選擇是否進(jìn)行圖象捕捉
為了直觀的觀察缺陷或缺陷現(xiàn)象,通常需要附加缺陷或缺陷出現(xiàn)的界面濒憋,以圖片的形式作為附件附著在記錄的“附件”部分娘纷。為了節(jié)省空間,又能真實(shí)反映缺陷或缺陷本質(zhì)跋炕,可以捕捉缺陷或缺陷產(chǎn)生時(shí)的全屏幕赖晶,活動窗口和局部區(qū)域。為了迅速定位辐烂、修正缺陷或缺陷位置遏插,通常要求附加中文對照圖。
? 附加必要的特殊文檔和個(gè)人建議和注解
如果打開某個(gè)特殊的文檔而產(chǎn)生的缺陷或缺陷纠修,則必須附加該文檔胳嘲,從而可以迅速再現(xiàn)缺陷或缺陷。有時(shí)扣草,為了使缺陷或缺陷修正者進(jìn)一步明確缺陷或缺陷的表現(xiàn)了牛,可以附加個(gè)人的修改建議或注解颜屠。
12) 檢查拼寫和語法缺陷
在提交每條缺陷或缺陷之前,檢查拼寫和語法鹰祸,確保內(nèi)容正確甫窟,正確的描述缺陷。
13) 盡量使用短語和短句蛙婴,避免復(fù)雜句型句式
軟件缺陷管理數(shù)據(jù)庫的目的是便于定位缺陷粗井,因此,要求客觀的描述操作步驟街图,不需要修飾性的詞匯和復(fù)雜的句型浇衬,增強(qiáng)可讀性。
以上概括了報(bào)告測試缺陷的規(guī)范要求餐济,隨著軟件的測試要求不同耘擂,測試者經(jīng)過長期測試,積累了相應(yīng)的測試經(jīng)驗(yàn)絮姆,將會逐漸養(yǎng)成良好的專業(yè)習(xí)慣梳星,不斷補(bǔ)充新的規(guī)范書寫要求。此外滚朵,經(jīng)常閱讀冤灾、學(xué)習(xí)其他測試工程師的測試缺陷報(bào)告,結(jié)合自己以前的測試缺陷報(bào)告進(jìn)行對比和思考辕近,可以不斷提高技巧韵吨。
14) 缺陷描述內(nèi)容
缺陷描述的內(nèi)容可以包含缺陷操作步驟,實(shí)際結(jié)果和期望結(jié)果移宅。操作步驟可以方便開發(fā)人員再現(xiàn)缺陷進(jìn)行修正归粉,有些開發(fā)的再現(xiàn)缺陷能力很差,雖然他明白你所指的缺陷漏峰,但就是無法再現(xiàn)特別是對系統(tǒng)不熟悉的新加入開發(fā)人員糠悼,介紹步驟可以方便他們再現(xiàn)。實(shí)際結(jié)果可以讓開發(fā)明白錯誤是什么浅乔,期望結(jié)果可以讓開發(fā)了解正確的結(jié)果應(yīng)該是如何倔喂。
21、黑盒測試和白盒測試是軟件測試的兩種基本方法靖苇,請分別說明各自的優(yōu)點(diǎn)和缺點(diǎn)席噩! ??
黑盒測試的優(yōu)點(diǎn)有:比較簡單,不需要了解程序內(nèi)部的代碼及實(shí)現(xiàn)贤壁;與軟件的內(nèi)部實(shí)現(xiàn)無關(guān)悼枢;? 從用戶角度出發(fā),能很容易的知道用戶會用到哪些功能脾拆,會遇到哪些問題馒索;基于軟件開發(fā)文檔莹妒,所以也能知道軟件實(shí)現(xiàn)了文檔中的哪些功能;在做軟件自動化測試時(shí)較為方便绰上。
黑盒測試的缺點(diǎn)有:不可能覆蓋所有的代碼旨怠,覆蓋率較低,大概只能達(dá)到總代碼量的30%渔期;自動化測試的復(fù)用性較低运吓。
白盒測試的優(yōu)點(diǎn)有:幫助軟件測試人員增大代碼的覆蓋率渴邦,提高代碼的質(zhì)量疯趟,發(fā)現(xiàn)代碼中隱??? 藏的問題。
白盒測試的缺點(diǎn)有:程序運(yùn)行會有很多不同的路徑谋梭,不可能測試所有的運(yùn)行路徑信峻;測試基于代碼,只能測試開發(fā)人員做的對不對瓮床,而不能知道設(shè)計(jì)的正確與否盹舞,可能會漏掉一些功能需求;系統(tǒng)龐大時(shí)隘庄,測試開銷會非常大踢步。
22、如何測試一個(gè)紙杯丑掺?
功能度:用水杯裝水看漏不漏获印;水能不能被喝到
安全性:杯子有沒有毒或細(xì)菌
可靠性:杯子從不同高度落下的損壞程度
可移植性:杯子在不同的地方、溫度等環(huán)境下是否都可以正常使用
兼容性:杯子是否能夠容納果汁街州、白水兼丰、酒精、汽油等
易用性:杯子是否燙手唆缴、是否有防滑措施鳍征、是否方便飲用
用戶文檔:使用手冊是否對杯子的用法、限制面徽、使用條件等有詳細(xì)描述
疲勞測試:將杯子盛上水(案例一)放24小時(shí)檢查泄漏時(shí)間和情況艳丛;盛上汽油(案例二)放24小時(shí)檢查泄漏時(shí)間和情況等
壓力測試:用根針并在針上面不斷加重量,看壓強(qiáng)多大時(shí)會穿透
22趟紊、測試計(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)對測試過程中的各種變更。
測試計(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ī)劃測試活動的范圍嘀掸、方法和資源配置紫岩,而測試詳細(xì)規(guī)格、測試用例是完成測試任務(wù)的具體戰(zhàn)術(shù)睬塌。所以其中最重要的是測試測試策略和測試方法(最好是能先評審)泉蝌。
23、黑盒測試的測試用例常見設(shè)計(jì)方法都有哪些揩晴?請分別以具體的例子來說明這些方法在測試用例設(shè)計(jì)工作中的應(yīng)用勋陪。
1)等價(jià)類劃分: 等價(jià)類是指某個(gè)輸入域的子集合.在該子集合中,各個(gè)輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的.并合理地假定:測試某等價(jià)類的代表值就等于對這一類其它值的測試.因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價(jià)類,在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)作為測試的輸入條件,就可以用少量代表性的測試數(shù)據(jù).取得較好的測試結(jié)果.等價(jià)類劃分可有兩種不同的情況:有效等價(jià)類和無效等價(jià)類.
2)邊界值分析法:是對等價(jià)類劃分方法的補(bǔ)充。測試工作經(jīng)驗(yàn)告訴我,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對各種邊界情況設(shè)計(jì)測試用例,可以查出更多的錯誤.
使用邊界值分析方法設(shè)計(jì)測試用例,首先應(yīng)確定邊界情況.通常輸入和輸出等價(jià)類的邊界,就是應(yīng)著重測試的邊界情況.應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值作為測試數(shù)據(jù).
3)錯誤猜測法:基于經(jīng)驗(yàn)和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設(shè)計(jì)測試用例的方法.
錯誤推測方法的基本思想: 列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)他們選擇測試用例. 例如, 在單元測試時(shí)曾列出的許多在模塊中常見的錯誤. 以前產(chǎn)品測試中曾經(jīng)發(fā)現(xiàn)的錯誤等, 這些就是經(jīng)驗(yàn)的總結(jié). 還有, 輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況. 輸入表格為空格或輸入表格只有一行. 這些都是容易發(fā)生錯誤的情況. 可選擇這些情況下的例子作為測試用例.
4)因果圖方法:前面介紹的等價(jià)類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系, 相互組合等. 考慮輸入條件之間的相互組合,可能會產(chǎn)生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價(jià)類,他們之間的組合情況也相當(dāng)多. 因此必須考慮采用一種適合于描述對于多種條件的組合,相應(yīng)產(chǎn)生多個(gè)動作的形式來考慮設(shè)計(jì)測試用例. 這就需要利用因果圖(邏輯模型). 因果圖方法最終生成的就是判定表. 它適合于檢查程序輸入條件的各種組合情況.
5)正交表分析法:可能因?yàn)榇罅康膮?shù)的組合而引起測試用例數(shù)量上的激增硫兰,同時(shí)诅愚,這些測試用例并沒有明顯的優(yōu)先級上的差距,而測試人員又無法完成這么多數(shù)量的測試劫映,就可以通過正交表來進(jìn)行縮減一些用例违孝,從而達(dá)到盡量少的用例覆蓋盡量大的范圍的可能性刹前。
6)場景分析方法:指根據(jù)用戶場景來模擬用戶的操作步驟,這個(gè)比較類似因果圖雌桑,但是可能執(zhí)行的深度和可行性更好喇喉。?
7)狀態(tài)圖法:通過輸入條件和系統(tǒng)需求說明得到被測系統(tǒng)的所有狀態(tài),通過輸入條件和狀態(tài)得出輸出條件校坑;通過輸入條件拣技、輸出條件和狀態(tài)得出被測系統(tǒng)的測試用例。
8)大綱法:大綱法是一種著眼于需求的方法耍目,為了列出各種測試條件膏斤,就將需求轉(zhuǎn)換為大綱的形式。大綱表示為樹狀結(jié)構(gòu)制妄,在根和每個(gè)葉子結(jié)點(diǎn)之間存在唯一的路徑掸绞。大綱中的每條路徑定義了一個(gè)特定的輸入條件集合泵三,用于定義測試用例耕捞。樹中葉子的數(shù)目或大綱中的路徑給出了測試所有功能所需測試用例的大致數(shù)量。
24烫幕、詳細(xì)的描述一個(gè)測試活動完整的過程俺抽。(供參考,本答案主要是瀑布模型的做法)
項(xiàng)目經(jīng)理通過和客戶的交流较曼,完成需求文檔磷斧,由開發(fā)人員和測試人員共同完成需求文檔的評審,評審的內(nèi)容包括:需求描述不清楚的地方和可能有明顯沖突或者無法實(shí)現(xiàn)的功能的地方捷犹。項(xiàng)目經(jīng)理通過綜合開發(fā)人員弛饭,測試人員以及客戶的意見,完成項(xiàng)目計(jì)劃萍歉。然后SQA進(jìn)入項(xiàng)目侣颂,開始進(jìn)行統(tǒng)計(jì)和跟蹤
開發(fā)人員根據(jù)需求文檔完成需求分析文檔,測試人員進(jìn)行評審枪孩,評審的主要內(nèi)容包括是否有遺漏或雙方理解不同的地方憔晒。測試人員完成測試計(jì)劃文檔,測試計(jì)劃包括的內(nèi)容上面有描述蔑舞。
測試人員根據(jù)修改好的需求分析文檔開始寫測試用例拒担,同時(shí)開發(fā)人員完成概要設(shè)計(jì)文檔,詳細(xì)設(shè)計(jì)文檔攻询。此兩份文檔成為測試人員撰寫測試用例的補(bǔ)充材料从撼。
測試用例完成后,測試和開發(fā)需要進(jìn)行評審钧栖。
測試人員搭建環(huán)境
開發(fā)人員提交第一個(gè)版本低零,可能存在未完成功能呆馁,需要說明。測試人員進(jìn)行測試毁兆,發(fā)現(xiàn)BUG后提交給BugZilla浙滤。
開發(fā)提交第二個(gè)版本把跨,包括Bug Fix以及增加了部分功能恒傻,測試人員進(jìn)行測試璧坟。
重復(fù)上面的工作娇斑,一般是3-4個(gè)版本后BUG數(shù)量減少碰凶,達(dá)到出貨的要求瘦癌。
如果有客戶反饋的問題疮蹦,需要測試人員協(xié)助重現(xiàn)并重新測試姿锭。
26梅桩、BUG管理工具的跟蹤過程(用BugZilla為例子)
測試人員發(fā)現(xiàn)了BUG壹粟,提交到Bugzilla中,狀態(tài)為new宿百,BUG的接受者為開發(fā)接口人員
開發(fā)接口將BUG分配給相關(guān)的模塊的開發(fā)人員趁仙,狀態(tài)修改為已分配,開發(fā)人員和測試確認(rèn)BUG垦页,如果是本人的BUG雀费,則設(shè)置為接收;如果是別的開發(fā)人員的問題痊焊,則轉(zhuǎn)發(fā)出去盏袄,由下一個(gè)開發(fā)人員來進(jìn)行此行為;如果認(rèn)為不是問題薄啥,則需要大家討論并確認(rèn)后辕羽,拒絕這個(gè)BUG,然后測試人員關(guān)閉此問題垄惧。
如果開發(fā)人員接受了BUG刁愿,并修改好以后,將BUG狀態(tài)修改為已修復(fù)赘艳,并告知測試在哪個(gè)版本中可以測試酌毡。
測試人員在新版本中測試,如果發(fā)現(xiàn)問題依然存在蕾管,則拒絕驗(yàn)證枷踏;如果已經(jīng)修復(fù),則關(guān)閉BUG掰曾。
27旭蠕、您認(rèn)為在測試人員同開發(fā)人員的溝通過程中,如何提高溝通的效率和改善溝通的效果?維持測試人員同開發(fā)團(tuán)隊(duì)中其他成員良好的人際關(guān)系的關(guān)鍵是什么掏熬?
盡量面對面的溝通佑稠,其次是能直接通過電話溝通,如果只能通過Email等非及時(shí)溝通工具的話旗芬,強(qiáng)調(diào)必須對特性的理解深刻以及能表達(dá)清楚舌胶。
運(yùn)用一些測試管理工具如TestDirector進(jìn)行管理也是較有效的方法,同時(shí)要注意在TestDirector中對BUG有準(zhǔn)確的描述疮丛。
在團(tuán)隊(duì)中建立測試人員與開發(fā)人員良好溝通中注意以下幾點(diǎn):
一真誠幔嫂、二是團(tuán)隊(duì)精神、三是在專業(yè)上有共同語言誊薄、四是要對事不對人履恩,工作至上
當(dāng)然也可以通過直接指出一些小問題,而不是進(jìn)入BUG Tracking System來增加對方的好感呢蔫。
28切心、你對測試最大的興趣在哪里?為什么片吊?
回答這個(gè)面試題绽昏,沒有固定統(tǒng)一的答案,但可能是許多企業(yè)都會問到的定鸟。提供以下答案供考:
最大的興趣而涉,感覺這是一個(gè)有挑戰(zhàn)性的工作著瓶;
測試是一個(gè)經(jīng)驗(yàn)行業(yè)联予,工作越久越能感覺到做好測試的難度和樂趣
通過自己的工作,能使軟件產(chǎn)品越來越完善材原,從中體會到樂趣
回答此類問題注意以下幾個(gè)方面:
盡可能的切合招聘企業(yè)的技術(shù)路線來表達(dá)你的興趣沸久,例如該企業(yè)是數(shù)據(jù)庫應(yīng)用的企業(yè),那么表示你的興趣在數(shù)據(jù)庫的測試余蟹,并且希望通過測試提升自己的數(shù)據(jù)庫掌握能力卷胯。
表明你做測試的目的是為了提升能力,也是為了更好的做好測試威酒;提升能力不是為了以后轉(zhuǎn)開發(fā)或其他的窑睁,除非用人企業(yè)有這樣的安排。
不要過多的表達(dá)你的興趣在招聘企業(yè)的范疇這外葵孤。比如招聘企業(yè)是做財(cái)務(wù)軟件的担钮,可是你表現(xiàn)出來的是對游戲軟件的興趣;或招聘是做JAVA開發(fā)的尤仍,而你的興趣是在C類語言程序的開發(fā)箫津。
29、你自認(rèn)為測試的優(yōu)勢在哪里?
該面試也沒有固定不變的答案苏遥,但可參考以下幾點(diǎn)饼拍,并結(jié)合自身特點(diǎn):
有韌性、有耐心田炭、做事有條理性师抄、喜歡面對挑戰(zhàn)、有信心做好每一件事情教硫、較強(qiáng)的溝通能力司澎、從以前的經(jīng)理處都得到了很好的評價(jià)表明我做的很好
33、簡述你在以前的工作中做過哪些事情栋豫,比較熟悉什么挤安。參考答案如下。
我過去的主要工作是系統(tǒng)測試和自動化測試丧鸯。在系統(tǒng)測試中蛤铜,主要是對BOSS系統(tǒng)的業(yè)務(wù)邏輯功能,以及軟交換系統(tǒng)的Class 5特性進(jìn)行測試丛肢。性能測試中围肥,主要是進(jìn)行的壓力測試,在各個(gè)不同數(shù)量請求的情況下蜂怎,獲取系統(tǒng)響應(yīng)時(shí)間以及系統(tǒng)資源消耗情況穆刻。自動化測試主要是通過自己寫腳本以及一些第三方工具的結(jié)合來測試軟交換的特性測試。
在測試中杠步,我感覺對用戶需求的完全準(zhǔn)確的理解非常重要氢伟。另外,就是對BUG的管理幽歼,要以需求為依據(jù)朵锣,并不是所有BUG均需要修改。
測試工作需要耐心和細(xì)致甸私,因?yàn)樵谛掳姹局谐闲m然多數(shù)原來發(fā)現(xiàn)的BUG得到了修復(fù),但原來正確的功能也可能變得不正確皇型。因此要注重迭代測試和回歸測試诬烹。
34、在C/C++中static有什么用途弃鸦?(請至少說明兩種)
1)在函數(shù)體绞吁,一個(gè)被聲明為靜態(tài)的變量在這一函數(shù)被調(diào)用過程中維持其值不變。
2) 在模塊內(nèi)(但在函數(shù)體外)寡键,一個(gè)被聲明為靜態(tài)的變量可以被模塊內(nèi)所用函數(shù)訪問掀泳,但不能被模塊外其它函數(shù)訪問雪隧。它是一個(gè)本地的全局變量。
3) 在模塊內(nèi)员舵,一個(gè)被聲明為靜態(tài)的函數(shù)只可被這一模塊內(nèi)的其它函數(shù)調(diào)用脑沿。那就是,這個(gè)函數(shù)被限制在聲明它的模塊的本地范圍內(nèi)使用
35马僻、引用與指針有什么區(qū)別庄拇?
1) 引用必須被初始化,指針不必韭邓。
2) 引用初始化以后不能被改變措近,指針可以改變所指的對象。
3) 不存在指向空值的引用女淑,但是存在指向空值的指針瞭郑。
36、Internet采用哪種網(wǎng)絡(luò)協(xié)議鸭你?該協(xié)議的主要層次結(jié)構(gòu)屈张?Internet物理地址和IP地址轉(zhuǎn)換采用什么協(xié)議?
TCP/IP協(xié)議主要層次結(jié)構(gòu)為: 應(yīng)用層/傳輸層/網(wǎng)絡(luò)層/數(shù)鏈路層袱巨。
ARP (Address Resolution Protocol)(地?fù)?jù)址解析協(xié)議)
37阁谆、說說你對集成測試中自頂向下集成和自底向上集成兩個(gè)策略的理解,要談出它們各自的優(yōu)缺點(diǎn)和主要適應(yīng)于哪種類型測試愉老;
自頂向下集成
優(yōu)點(diǎn):較早地驗(yàn)證了主要控制和判斷點(diǎn)场绿;按深度優(yōu)先可以首先實(shí)現(xiàn)和驗(yàn)證一個(gè)完整的軟件功能;功能較早證實(shí)嫉入,帶來信心焰盗;只需一個(gè)驅(qū)動,減少驅(qū)動器開發(fā)的費(fèi)用劝贸;支持故障隔離姨谷。
缺點(diǎn):柱的開發(fā)量大;底層驗(yàn)證被推遲映九;底層組件測試不充分。
適應(yīng)于產(chǎn)品控制結(jié)構(gòu)比較清晰和穩(wěn)定瞎颗;高層接口變化較屑;底層接口未定義或經(jīng)澈甙危可能被修改引有;產(chǎn)口控制組件具有較大的技術(shù)風(fēng)險(xiǎn),需要盡早被驗(yàn)證倦逐;希望盡早能看到產(chǎn)品的系統(tǒng)功能行為譬正。
2、自底向上集成
優(yōu)點(diǎn):對底層組件行為較早驗(yàn)證;工作最初可以并行集成曾我,比自頂向下效率高粉怕;減少了樁的工作量;支持故障隔離抒巢。
缺點(diǎn):驅(qū)動的開發(fā)工作量大贫贝;對高層的驗(yàn)證被推遲,設(shè)計(jì)上的錯誤不能被及時(shí)發(fā)現(xiàn)蛉谜。
適應(yīng)于底層接口比較穩(wěn)定稚晚;高層接口變化比較頻繁;底層組件較早被完成型诚。
38客燕、軟件驗(yàn)收測試包括正式驗(yàn)收測試、alpha測試狰贯、beta測試三種測試幸逆。
39、系統(tǒng)測試的策略有很多種的暮现,有性能測試还绘、負(fù)載測試、強(qiáng)度測試栖袋、易用性測試拍顷、安全測試、配置測試塘幅、安裝測試昔案、文檔測試、故障恢復(fù)測試电媳、用戶界面測試踏揣、恢復(fù)測試、分布測試匾乓、可用性測試捞稿。
40、設(shè)計(jì)系統(tǒng)測試計(jì)劃需要參考的項(xiàng)目文檔有軟件測試計(jì)劃拼缝、軟件需求工件娱局、和迭代計(jì)劃
41.通過畫因果圖來寫測試用例的步驟為___、___咧七、___衰齐、___及把因果圖轉(zhuǎn)換為狀態(tài)圖共五個(gè)步驟。?利用因果圖生成測試用例的基本步驟是:
§ 分析軟件規(guī)格說明描述中继阻,哪些是原因(即輸入條件或輸入條件的等價(jià)類)耻涛,哪些是結(jié)果(即輸出條件)废酷,并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識符。
§ 分析軟件規(guī)格說明描述中的語義抹缕,找出原因與結(jié)果之間澈蟆,原因與原因之間對應(yīng)的是什么關(guān)系? 根據(jù)這些關(guān)系,畫出因果圖歉嗓。
§ 由于語法或環(huán)境限制丰介,有些原因與原因之間,原因與結(jié)果之間的組合情況不可能出現(xiàn)鉴分。為表明這些特殊情況哮幢,在因果圖上用一些記號標(biāo)明約束或限制條件。 § 把因果圖轉(zhuǎn)換成判定表志珍。
§ 把判定表的每一列拿出來作為依據(jù)橙垢,設(shè)計(jì)測試用例。
43伦糯、請說出這些測試最好由那些人員完成柜某,測試的是什么?
代碼敛纲、函數(shù)級測試一般由白盒測試人員完成喂击,他們針對每段代碼或函數(shù)進(jìn)行正確性檢驗(yàn),檢查其是否正確的實(shí)現(xiàn)了規(guī)定的功能淤翔。
模塊翰绊、組件級測試主要依據(jù)是程序結(jié)構(gòu)設(shè)計(jì)測試模塊間的集成和調(diào)用關(guān)系,一般由測試人員完成旁壮。
系統(tǒng)測試在于模塊測試與單元測試的基礎(chǔ)上進(jìn)行測試监嗜。了解系統(tǒng)功能與性能,根據(jù)測試用例進(jìn)行全面的測試抡谐。
44裁奇、?設(shè)計(jì)測試用例時(shí)應(yīng)該考慮哪些方面,即不同的測試用例針對那些方面進(jìn)行測試麦撵?
設(shè)計(jì)測試用例時(shí)需要注意的是刽肠,除了對整體流程及功能注意外,還要注意強(qiáng)度測試厦坛、性能測試五垮、壓力測試、邊界值測試杜秸、穩(wěn)定性測試、安全性測試等多方面润绎。(測試用例需要考慮的四個(gè)基本要素是輸入撬碟、輸出诞挨、操作和測試環(huán)境;另外呢蛤,測試用例需要考慮的是測試類型(功能惶傻、性能、安全……)其障,這部分可以參照TP做答银室。此外,還需要考慮用例的重要性和優(yōu)先級)
45励翼、?在windows下保存一個(gè)文本文件時(shí)會彈出保存對話框蜈敢,如果為文件名建立測試用例,等價(jià)類應(yīng)該怎樣劃分汽抚?
單字節(jié)抓狭,如A;雙字節(jié)造烁, AA否过、我我;特殊字符 /‘惭蟋∶绻穑‘;告组、=-等煤伟;保留字,如com惹谐;文件格式為8.3格式的持偏;文件名格式為非8.3格式的;/,\,*等九個(gè)特殊字符氨肌。
46鸿秆、假設(shè)有一個(gè)文本框要求輸入10個(gè)字符的郵政編碼,對于該文本框應(yīng)該怎樣劃分等價(jià)類怎囚?
特殊字符卿叽,如10個(gè)*或¥;英文字母恳守,如ABCDefghik考婴;小于十個(gè)字符,如123催烘;大于十個(gè)字符沥阱,如11111111111;數(shù)字和其他混合伊群,如123AAAAAAA考杉;空字符策精;保留字符
47.軟件測試項(xiàng)目從什么時(shí)候開始,崇棠?為什么咽袜?
軟件測試應(yīng)該在需求分析階段就介入,因?yàn)闇y試的對象不僅僅是程序編碼,應(yīng)該對軟件開發(fā)過程中產(chǎn)生的所有產(chǎn)品都測試,并且軟件缺陷存在放大趨勢.缺陷發(fā)現(xiàn)的越晚,修復(fù)它所花費(fèi)的成本就越大.
48、什么是回歸測試?
回歸測試: (regression ? testing): 回歸測試有兩類:用例回歸和錯誤回歸枕稀;用例回歸是過一段時(shí)間以后再回頭對以前使用過的用例在重新進(jìn)行測試询刹,看看會重新發(fā)現(xiàn)問題。錯誤回歸萎坷,就是在新版本中凹联,對以前版本中出現(xiàn)并修復(fù)的缺陷進(jìn)行再次驗(yàn)證,并以缺陷為核心食铐,對相關(guān)修改的部分進(jìn)行測試的方法匕垫。
49.單元測試、集成測試虐呻、系統(tǒng)測試的側(cè)重點(diǎn)是什么象泵??
單元測試針對的是軟件設(shè)計(jì)的最小單元--程序模塊(面向過程中是函數(shù)、過程斟叼;面向?qū)ο笾惺穷惻蓟荨#?進(jìn)行正確性檢驗(yàn)的測試工作,在于發(fā)現(xiàn)每個(gè)程序模塊內(nèi)部可能存在的差錯.一般有兩個(gè)步驟:人工靜態(tài)檢查\動態(tài)執(zhí)行跟蹤
集成測試針對的是通過了單元測試的各個(gè)模塊所集成起來的組件進(jìn)行檢驗(yàn),其主要內(nèi)容是各個(gè)單元模塊之間的接口,以及各個(gè)模塊集成后所實(shí)現(xiàn)的功能.
系統(tǒng)測試針對的是集成好的軟件系統(tǒng),作為整個(gè)計(jì)算機(jī)系統(tǒng)的一個(gè)元素,與計(jì)算機(jī)硬件\外設(shè)\某些支持軟件\數(shù)據(jù)和人員等其他系統(tǒng)元素結(jié)合在一起,要在實(shí)際的運(yùn)行環(huán)境中,對計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的集成測試和確認(rèn)測試.
51.一個(gè)測試工程師應(yīng)具備那些素質(zhì)朗涩?
1忽孽、責(zé)任心2、溝通能力3谢床、團(tuán)隊(duì)合作精神4兄一、耐心、細(xì)心识腿、信心5出革、時(shí)時(shí)保持懷疑態(tài)度,并且有缺陷預(yù)防的意識6渡讼、具備一定的編程經(jīng)驗(yàn)
53:你所了解的的軟件測試類型都有哪些骂束,簡單介紹一下。
按測試策略分類:1成箫、靜態(tài)與動態(tài)測試2展箱、黑盒與白盒測試 3、手工和自動測試 4蹬昌、冒煙測試 5混驰、回歸測試;
按測試階段分類:單元測試、集成測試账胧、系統(tǒng)測試竞慢;
其他常見測試方法:1先紫、功能測試 2治泥、性能測試 3、壓力測試 4遮精、負(fù)載測試 5居夹、易用性測試 6、安裝測試 7本冲、界面測試 8准脂、配置測試 9、文檔測試 10檬洞、兼容性測試 11狸膏、安全性測試 12、恢復(fù)測試
54:你認(rèn)為做好測試計(jì)劃工作的關(guān)鍵是什么添怔?
明確測試的目標(biāo)湾戳,增強(qiáng)測試計(jì)劃的實(shí)用性
編寫軟件測試計(jì)劃得重要目的就是使測試過程能夠發(fā)現(xiàn)更多的軟件缺陷,因此軟件測試計(jì)劃的價(jià)值取決于它對幫助管理測試項(xiàng)目广料,并且找出軟件潛在的缺陷砾脑。因此,軟件測試計(jì)劃中的測試范圍必須高度覆蓋功能需求艾杏,測試方法必須切實(shí)可行韧衣,測試工具并且具有較高的實(shí)用性,便于使用购桑,生成的測試結(jié)果直觀畅铭、準(zhǔn)確
堅(jiān)持“5W”規(guī)則,明確內(nèi)容與過程
“5W”規(guī)則指的是“What(做什么)”勃蜘、“Why(為什么做)”硕噩、“When(何時(shí)做)”、“Where(在哪里)”元旬、“How(如何做)”榴徐。利用“5W”規(guī)則創(chuàng)建軟件測試計(jì)劃,可以幫助測試團(tuán)隊(duì)理解測試的目的(Why)匀归,明確測試的范圍和內(nèi)容(What)坑资,確定測試的開始和結(jié)束日期(When),指出測試的方法和工具(How)穆端,給出測試文檔和軟件的存放位置(Where)袱贮。
采用評審和更新機(jī)制,保證測試計(jì)劃滿足實(shí)際需求
測試計(jì)劃寫作完成后体啰,如果沒有經(jīng)過評審攒巍,直接發(fā)送給測試團(tuán)隊(duì)嗽仪,測試計(jì)劃內(nèi)容的可能不準(zhǔn)確或遺漏測試內(nèi)容,或者軟件需求變更引起測試范圍的增減柒莉,而測試計(jì)劃的內(nèi)容沒有及時(shí)更新闻坚,誤導(dǎo)測試執(zhí)行人員。
分別創(chuàng)建測試計(jì)劃與測試詳細(xì)規(guī)格兢孝、測試用例
應(yīng)把詳細(xì)的測試技術(shù)指標(biāo)包含到獨(dú)立創(chuàng)建的測試詳細(xì)規(guī)格文檔窿凤,把用于指導(dǎo)測試小組執(zhí)行測試過程的測試用例放到獨(dú)立創(chuàng)建的測試用例文檔或測試用例管理數(shù)據(jù)庫中。測試計(jì)劃和測試詳細(xì)規(guī)格跨蟹、測試用例之間是戰(zhàn)略和戰(zhàn)術(shù)的關(guān)系雳殊,測試計(jì)劃主要從宏觀上規(guī)劃測試活動的范圍、方法和資源配置窗轩,而測試詳細(xì)規(guī)格怖亭、測試用例是完成測試任務(wù)的具體戰(zhàn)術(shù)难咕。
55:您認(rèn)為做好測試用例設(shè)計(jì)工作的關(guān)鍵是什么锨推?
白盒測試用例設(shè)計(jì)的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果
黑盒法用例設(shè)計(jì)的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口座韵。不可能做到完全測試,以最少的用例在合理的時(shí)間內(nèi)發(fā)現(xiàn)最多的問題?
56:你的測試職業(yè)發(fā)展目標(biāo)是什么腹备?
測試經(jīng)驗(yàn)越多衬潦,測試能力越高。所以我的職業(yè)發(fā)展是需要時(shí)間累積的植酥,一步步向著高級測試工程師奔去镀岛。而且我也有初步的職業(yè)規(guī)劃,前3年累積測試經(jīng)驗(yàn)友驮,不斷的更新自己改正自己漂羊,做好測試任務(wù)。
57:測試結(jié)束的標(biāo)準(zhǔn)是什么卸留?
從微觀上來說走越,在測試計(jì)劃中定義,比如系統(tǒng)在一定性能下平穩(wěn)運(yùn)行72小時(shí)耻瑟,目前Bug Tracking System中旨指,本版本中沒有一般嚴(yán)重的BUG,普通BUG的數(shù)量在3以下喳整,BUG修復(fù)率90%以上等等參數(shù)谆构,然后由開發(fā)經(jīng)理,測試經(jīng)理框都,項(xiàng)目經(jīng)理共同簽字認(rèn)同版本Release搬素。
如果說宏觀的,則是當(dāng)這個(gè)軟件徹底的消失以后,測試就結(jié)束了熬尺。
59摸屠、一套完整的測試應(yīng)該由哪些階段組成?
可行性分析粱哼、需求分析季二、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)皂吮、編碼戒傻、單元測試、集成測試蜂筹、系統(tǒng)測試、驗(yàn)收測試
61芦倒、您是否了解以往所工作的企業(yè)的軟件開發(fā)過程艺挪?如果了解,請?jiān)囀鲆粋€(gè)完整的開發(fā)過程需要完成哪些工作兵扬?分別由哪些不同的角色來完成這些工作麻裳?您在以往的測試工作中都曾經(jīng)具體從事過哪些工作?其中最擅長哪部分工作器钟?
開發(fā)過程---需求調(diào)研(需求人員)津坑、需求分析(需求人員)、概要設(shè)計(jì)(設(shè)計(jì)人員)傲霸、詳細(xì)設(shè)計(jì)(設(shè)計(jì)人員)疆瑰、編碼(開發(fā)人員)
測試過程---需求評審、系統(tǒng)測試設(shè)計(jì)昙啄、概要設(shè)計(jì)評審穆役、集成測試設(shè)計(jì)、詳細(xì)設(shè)計(jì)評審梳凛、單元測試設(shè)計(jì)耿币、測試執(zhí)行
測試工作的整個(gè)過程都做過,擅長做測試設(shè)計(jì)
過程決定質(zhì)量韧拒,軟件的過程改進(jìn)正是為了提高軟件的質(zhì)量淹接,將過往的種種經(jīng)驗(yàn)教訓(xùn)積累起來。
62叛溢、測試用例設(shè)計(jì)的原則是什么塑悼?目前主要的測試用例設(shè)計(jì)方法有哪些?
代表性:能夠代表并覆蓋各種合理的和不合理雇初、合法的和非法的拢肆、邊界的和越界的、以及極限的輸入數(shù)據(jù)、操作和環(huán)境設(shè)置等.
可判定性:即測試執(zhí)行結(jié)果的正確性是可判定的郭怪,每一個(gè)測試用例都應(yīng)有相應(yīng)的期望結(jié)果.
可再現(xiàn)性:即對同樣的測試用例支示,系統(tǒng)的執(zhí)行結(jié)果應(yīng)當(dāng)是相同的。
方法有等價(jià)類鄙才、邊界值颂鸿、因果圖、狀態(tài)圖攒庵、正交法嘴纺、大綱法
63、面向?qū)ο蟮臏y試用例設(shè)計(jì)有幾種方法浓冒?如何實(shí)現(xiàn)栽渴?
給類中的每個(gè)構(gòu)造函數(shù)設(shè)計(jì)一組測試用例
組合類中的類變量、實(shí)例變量
組合類中的各種方法
根據(jù)前置條件和后置條件設(shè)計(jì)測試用例
根據(jù)代碼設(shè)計(jì)測試用例
64稳懒、LoadRunner分為哪三個(gè)模塊闲擦?請簡述各模塊的主要功能。
Virtual User Generator:用于錄制腳步
Mercury LoadRunner Controller:用于創(chuàng)建场梆、運(yùn)行和監(jiān)控場景
Mercury LoadRunner Analysis:用于分析測試結(jié)果
65墅冷、你對測試最大的興趣在哪里?為什么或油?
最大的興趣就是測試有難度寞忿,有挑戰(zhàn)性!做測試越久越能感覺到做好測試有多難顶岸。曾經(jīng)在無憂測試網(wǎng)上看到一篇文章腔彰,是關(guān)于如何做好一名測試工程師。一共羅列了11蜕琴,12點(diǎn)萍桌,有部分是和人的性格有關(guān),有部分需要后天的努力凌简。但除了性格有關(guān)的1上炎,2點(diǎn)我沒有把握,其他點(diǎn)我都很有信心做好它雏搂。
剛開始進(jìn)入測試行業(yè)時(shí)藕施,對測試的認(rèn)識是從無憂測試網(wǎng)上了解到的一些資料,當(dāng)時(shí)是沖著做測試需要很多技能才能做的好凸郑,雖然入門容易裳食,但做好很難,比開發(fā)更難芙沥,雖然當(dāng)時(shí)我很想做開發(fā)(學(xué)校專業(yè)課我基本上不缺席诲祸,因?yàn)槲蚁矚g我的專業(yè))浊吏,但看到測試比開發(fā)更難更有挑戰(zhàn)性,想做好測試的意志就更堅(jiān)定了救氯。
我覺得做測試整個(gè)過程中有2點(diǎn)讓我覺得很有難度(對我來說找田,有難度的東西我就非常感興趣),第一是測試用例的設(shè)計(jì)着憨,因?yàn)闇y試的精華就在測試用例的設(shè)計(jì)上了墩衙,要在版本出來之前,把用例寫好甲抖,用什么測試方法寫漆改?(也就是測試計(jì)劃或測試策略),如果你剛測試一個(gè)新任務(wù)時(shí)准谚,你得花一定的時(shí)間去消化業(yè)務(wù)需求和技術(shù)基礎(chǔ)挫剑,業(yè)務(wù)需求很好理解(多和產(chǎn)品經(jīng)理和開發(fā)人員溝通就能達(dá)到目的),而技術(shù)基礎(chǔ)可就沒那么簡單了氛魁,這需要你自覺的學(xué)習(xí)能力暮顺,比如說網(wǎng)站吧,最基本的技術(shù)知識你要知道網(wǎng)站內(nèi)部是怎么運(yùn)作的的秀存,后臺是怎么響應(yīng)用戶請求的?測試環(huán)境如何搭建羽氮?這些都需要最早的學(xué)好或链。至少在開始測試之前能做好基本的準(zhǔn)備,可能會遇到什么難題档押?需求細(xì)節(jié)是不是沒有確定好澳盐?這些問題都能在設(shè)計(jì)用例的時(shí)候發(fā)現(xiàn)。
第二是發(fā)現(xiàn)BUG的時(shí)候了令宿,這應(yīng)該是測試人員最基本的任務(wù)了叼耙,一般按測試用例開始測試就能發(fā)現(xiàn)大部分的bug,還有一部分bug需要測試的過程中更了解所測版本的情況獲得更多信息粒没,補(bǔ)充測試用例筛婉,測試出bug。還有如何發(fā)現(xiàn)bug癞松?這就需要在測試用例有效的情況下爽撒,通過細(xì)心和耐心去發(fā)現(xiàn)bug了,每個(gè)用例都有可能發(fā)現(xiàn)bug响蓉,每個(gè)地方都有可能出錯硕勿,所以測試過程中思維要清晰(測試過程數(shù)據(jù)流及結(jié)果都得看仔細(xì)了,bug都在里面發(fā)現(xiàn)的)枫甲。如何描述bug也很有講究源武,bug在什么情況下會產(chǎn)生扼褪,如果條件變化一點(diǎn)點(diǎn),就不會有這個(gè)bug粱栖,以哪些最少的操作步驟就能重現(xiàn)這個(gè)bug话浇,這個(gè)bug產(chǎn)生的規(guī)律是什么?如果你夠厲害的話查排,可以幫開發(fā)人員初步定位問題凳枝。
66、您所熟悉的軟件測試類型都有哪些跋核?請?jiān)囍謩e比較這些不同的測試類型的區(qū)別與聯(lián)系(如功能測試岖瑰、性能測試……)
測試類型有:功能測試,性能測試砂代,界面測試蹋订。
功能測試在測試工作中占的比例最大,功能測試也叫黑盒測試刻伊。是把測試對象看作一個(gè)黑盒子露戒。利用黑盒測試法進(jìn)行動態(tài)測試時(shí),需要測試軟件產(chǎn)品的功能捶箱,不需測試軟件產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過程智什。采用黑盒技術(shù)設(shè)計(jì)測試用例的方法有:等價(jià)類劃分、邊界值分析丁屎、錯誤推測荠锭、因果圖和綜合策略。
性能測試是通過自動化的測試工具模擬多種正常晨川、峰值以及異常負(fù)載條件來對系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測試证九。負(fù)載測試和壓力測試都屬于性能測試,兩者可以結(jié)合進(jìn)行共虑。通過負(fù)載測試愧怜,確定在各種工作負(fù)載下系統(tǒng)的性能,目標(biāo)是測試當(dāng)負(fù)載逐漸增加時(shí)妈拌,系統(tǒng)各項(xiàng)性能指標(biāo)的變化情況拥坛。壓力測試是通過確定一個(gè)系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),來獲得系統(tǒng)能提供的最大服務(wù)級別的測試供炎。
界面測試渴逻,界面是軟件與用戶交互的最直接的層,界面的好壞決定用戶對軟件的第一印象音诫。而且設(shè)計(jì)良好的界面能夠引導(dǎo)用戶自己完成相應(yīng)的操作惨奕,起到向?qū)У淖饔谩M瑫r(shí)界面如同人的面孔竭钝,具有吸引用戶的直接優(yōu)勢梨撞。設(shè)計(jì)合理的界面能給用戶帶來輕松愉悅的感受和成功的感覺雹洗,相反由于界面設(shè)計(jì)的失敗,讓用戶有挫敗感卧波,再實(shí)用強(qiáng)大的功能都可能在用戶的畏懼與放棄中付諸東流时肿。
區(qū)別在于,功能測試關(guān)注產(chǎn)品的所有功能上港粱,要考慮到每個(gè)細(xì)節(jié)功能螃成,每個(gè)可能存在的功能問題。性能測試主要關(guān)注于產(chǎn)品整體的多用戶并發(fā)下的穩(wěn)定性和健壯性查坪。界面測試更關(guān)注于用戶體驗(yàn)上寸宏,用戶使用該產(chǎn)品的時(shí)候是否易用,是否易懂偿曙,是否規(guī)范(快捷鍵之類的)氮凝,是否美觀(能否吸引用戶的注意力),是否安全(盡量在前臺避免用戶無意輸入無效的數(shù)據(jù)望忆,當(dāng)然考慮到體驗(yàn)性罩阵,不能太粗魯?shù)膹棾鼍妫孔瞿硞€(gè)性能測試的時(shí)候启摄,首先它可能是個(gè)功能點(diǎn)稿壁,首先要保證它的功能是沒問題的,然后再考慮該功能點(diǎn)的性能測試
67歉备、請?jiān)囍容^一下黑盒測試常摧、白盒測試、單元測試威创、集成測試、系統(tǒng)測試谎懦、驗(yàn)收測試的區(qū)別與聯(lián)系肚豺。
黑盒測試:已知產(chǎn)品的功能設(shè)計(jì)規(guī)格,可以進(jìn)行測試證明每個(gè)實(shí)現(xiàn)了的功能是否符合要求界拦。
白盒測試:已知產(chǎn)品的內(nèi)部工作過程吸申,可以通過測試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格要求,所有內(nèi)部成分是否以經(jīng)過檢查享甸。
軟件的黑盒測試意味著測試要在軟件的接口處進(jìn)行截碴。這種方法是把測試對象看做一個(gè)黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性蛉威,只依據(jù)程序的需求規(guī)格說明書日丹,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或數(shù)據(jù)驅(qū)動測試蚯嫌。黑盒測試主要是為了發(fā)現(xiàn)以下幾類錯誤:
1哲虾、是否有不正確或遺漏的功能丙躏?2、在接口上束凑,輸入是否能正確的接受晒旅?能否輸出正確的結(jié)果?3汪诉、是否有數(shù)據(jù)結(jié)構(gòu)錯誤或外部信息(例如數(shù)據(jù)文件)訪問錯誤废恋?4、性能上是否能夠滿足要求扒寄?5鱼鼓、是否有初始化或終止性錯誤?
軟件的白盒測試是對軟件的過程性細(xì)節(jié)做細(xì)致的檢查旗们。這種方法是把測試對象看做一個(gè)打開的盒子蚓哩,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測試用例上渴,對程序所有邏輯路徑進(jìn)行測試岸梨。通過在不同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一致稠氮。因此白盒測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動測試曹阔。白盒測試主要是想對程序模塊進(jìn)行如下檢查:
1、對程序模塊的所有獨(dú)立的執(zhí)行路徑至少測試一遍隔披。
2赃份、對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍奢米。
3抓韩、在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體。
4鬓长、測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性谒拴,等等。
單元測試(模塊測試)是開發(fā)者編寫的一小段代碼涉波,用于檢驗(yàn)被測代碼的一個(gè)很小的英上、很明確的功能是否正確。通常而言啤覆,一個(gè)單元測試是用于判斷某個(gè)特定條件(或者場景)下某個(gè)特定函數(shù)的行為苍日。
單元測試是由程序員自己來完成,最終受益的也是程序員自己窗声∠嗍眩可以這么說,程序員有責(zé)任編寫功能代碼嫌佑,同時(shí)也就有責(zé)任為自己的代碼編寫單元測試豆茫。執(zhí)行單元測試侨歉,就是為了證明這段代碼的行為和我們期望的一致。
集成測試(也叫組裝測試揩魂,聯(lián)合測試)是單元測試的邏輯擴(kuò)展幽邓。它的最簡單的形式是:兩個(gè)已經(jīng)測試過的單元組合成一個(gè)組件,并且測試它們之間的接口火脉。從這一層意義上講牵舵,組件是指多個(gè)單元的集成聚合。在現(xiàn)實(shí)方案中倦挂,許多單元組合成組件畸颅,而這些組件又聚合成程序的更大部分。方法是測試片段的組合方援,并最終擴(kuò)展進(jìn)程没炒,將您的模塊與其他組的模塊一起測試。最后犯戏,將構(gòu)成進(jìn)程的所有模塊一起測試送火。
系統(tǒng)測試是將經(jīng)過測試的子系統(tǒng)裝配成一個(gè)完整系統(tǒng)來測試。它是檢驗(yàn)系統(tǒng)是否確實(shí)能提供系統(tǒng)方案說明書中指定功能的有效方法先匪。(常見的聯(lián)調(diào)測試)
系統(tǒng)測試的目的是對最終軟件系統(tǒng)進(jìn)行全面的測試种吸,確保最終軟件系統(tǒng)滿足產(chǎn)品需求并且遵循系統(tǒng)設(shè)計(jì)。
驗(yàn)收測試是部署軟件之前的最后一個(gè)測試操作呀非。驗(yàn)收測試的目的是確保軟件準(zhǔn)備就緒坚俗,并且可以讓最終用戶將其用于執(zhí)行軟件的既定功能和任務(wù)。
驗(yàn)收測試是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作岸裙。經(jīng)集成測試后猖败,已經(jīng)按照設(shè)計(jì)把所有的模塊組裝成一個(gè)完整的軟件系統(tǒng),接口錯誤也已經(jīng)基本排除了降允,接著就應(yīng)該進(jìn)一步驗(yàn)證軟件的有效性辙浑,這就是驗(yàn)收測試的任務(wù),即軟件的功能性能如同用戶所合理期待的那樣拟糕。
68、當(dāng)開發(fā)人員說不是BUG時(shí)倦踢,你如何應(yīng)付送滞?
開發(fā)人員說不是bug,有2種情況辱挥,一是需求沒有確定犁嗅,所以我可以這么做,這個(gè)時(shí)候可以找來產(chǎn)品經(jīng)理進(jìn)行確認(rèn)晤碘,需不需要改動褂微,3方商量確定好后再看要不要改功蜓。二是這種情況不可能發(fā)生,所以不需要修改宠蚂,這個(gè)時(shí)候式撼,我可以先盡可能的說出是BUG的依據(jù)是什么?如果被用戶發(fā)現(xiàn)或出了問題求厕,會有什么不良結(jié)果著隆?程序員可能會給你很多理由,你可以對他的解釋進(jìn)行反駁呀癣。如果還是不行美浦,那我可以給這個(gè)問題提出來,跟開發(fā)經(jīng)理和測試經(jīng)理進(jìn)行確認(rèn),如果要修改就改,如果不要修改就不改。其實(shí)有些真的不是bug项栏,我也只是建議的方式寫進(jìn)TD中浦辨,如果開發(fā)人員不修改也沒有大問題。如果確定是bug的話沼沈,一定要堅(jiān)持自己的立場流酬,讓問題得到最后的確認(rèn)。
69庆冕、為什么要在一個(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ì)量情況响巢。
71描滔、一份測試計(jì)劃應(yīng)該包括哪些內(nèi)容?
背景踪古、項(xiàng)目簡介含长、目的、測試范圍伏穆、測試策略拘泞、人員分工、資源要求枕扫、進(jìn)度計(jì)劃陪腌、參考文檔、常用術(shù)語、提交文檔诗鸭、風(fēng)險(xiǎn)分析染簇。
72、針對于軟件的行業(yè)背景强岸,你如何理解軟件的業(yè)務(wù)锻弓?
閱讀用戶手冊了解軟件的功能和操作流程;看一些業(yè)務(wù)的專業(yè)書籍補(bǔ)充業(yè)務(wù)知識请唱;如果有用戶實(shí)際的數(shù)據(jù)弥咪,可以拿實(shí)際的數(shù)據(jù)進(jìn)行參考;參考以前的用例和BUG報(bào)告十绑;在使用軟件的過程中多思考聚至;多與產(chǎn)品經(jīng)理交流。
74本橙、如何定位測試用例的作用扳躬?
組織性:編寫、組織性甚亭、功能覆蓋贷币、重復(fù)性、跟蹤亏狰、測試確認(rèn)
76役纹、什么是兼容性測試?請舉例說明如何利用兼容性測試列表進(jìn)行測試暇唾。
主要驗(yàn)證軟件產(chǎn)品在不同版本之間的兼容性促脉。包括向下兼容和交錯兼容,向下兼容是測試軟件新版本保留它早期版本功能的情況策州,交錯兼容是驗(yàn)證共同存在的兩個(gè)相關(guān)但不相同的產(chǎn)品之間的兼容性瘸味。
77、對某軟件進(jìn)行測試够挂,發(fā)現(xiàn)在WIN98上運(yùn)行得很慢旁仿,怎么判別是該軟件存在問題還是其軟硬件運(yùn)行環(huán)境存在問題?
看軟件的運(yùn)行環(huán)境要求孽糖。如果符合要求則是程序存在問題枯冈,若不符合要求則是硬件系統(tǒng)存在問題
78、需求測試的注意事項(xiàng)有哪些办悟?
是否使用了公司的模板霜幼、文檔內(nèi)容是否符合規(guī)范、所有的需求是分級是否清析適當(dāng)誉尖、所有的需求是否具有一致性、需求是否可行(即铸题,該需求組合有解決方案)铡恕、需求可否用己知的約束來實(shí)現(xiàn)琢感、需求是否足夠(即,可以把它送到一個(gè)規(guī)范的開發(fā)組織探熔,并有一個(gè)生產(chǎn)出所需要產(chǎn)品的合理的可能性)驹针、所有的其它需求是交叉引用是否正確、用戶描述是否清楚诀艰、是否用客戶的語言來描述需求柬甥、每個(gè)需求描述是否清楚沒有岐義,可以移交給一個(gè)獨(dú)立的組去實(shí)現(xiàn)時(shí)也能理解其垄、是否所有的需求都是可驗(yàn)證的苛蒲、是否每條需求都具有獨(dú)立性,即使發(fā)生了變化也不會影響其它需求绿满、性能指標(biāo)是否明確臂外、非功能性需求是否得到充分表現(xiàn)、是否完整列出適用的標(biāo)準(zhǔn)或協(xié)議喇颁、標(biāo)準(zhǔn)和協(xié)議之間是否存在沖突
81漏健、主鍵、外鍵的作用橘霎,索引的優(yōu)點(diǎn)與不足?
答:主鍵:是表中的唯一標(biāo)示鍵蔫浆。作用:保證實(shí)體的完整性;加快數(shù)據(jù)庫的操作速度;增加新的表記錄時(shí),數(shù)據(jù)庫會自動檢索新記錄的主鍵值姐叁,不允許該值與其他表中記錄的主鍵重復(fù);數(shù)據(jù)庫會按主鍵值的順序顯示記錄瓦盛,如果沒有設(shè)定主鍵,則按輸入的順序顯示記錄七蜘。
外鍵:是主鍵的從屬谭溉,表示了兩個(gè)表之間的聯(lián)系。作用:使用外鍵可以避免冗余橡卤。
索引的優(yōu)點(diǎn): 1扮念、通過創(chuàng)建唯一性的索引,可以保證表中數(shù)據(jù)的唯一性; 2碧库、加速數(shù)據(jù)的檢索速度; 3柜与、加快表與表之間的連接; 4、在使用分組與排序數(shù)據(jù)檢索時(shí)嵌灰,可以顯著檢索分組與排序的時(shí)間; 5弄匕、在查詢的過程中使用優(yōu)化隱藏器,提供系統(tǒng)性能沽瞭。
缺點(diǎn): 1迁匠、創(chuàng)建索引需要時(shí)間,且隨著數(shù)據(jù)量的增加而增加; 2、索引需要占用物理空間;
? ??????3城丧、當(dāng)對表中數(shù)據(jù)進(jìn)行修改時(shí)延曙,索引也要動態(tài)維護(hù),降低了數(shù)據(jù)的維護(hù)速度亡哄。
84枝缔、性能測試的流程?
1.測試需求分析2.測試計(jì)劃制定與評審3.測試用例設(shè)計(jì)與開發(fā)4.測試執(zhí)行與監(jiān)控5.分析測試結(jié)果6.編寫性能測試報(bào)告7.測試經(jīng)驗(yàn)總結(jié)
88、簡述bug的生命周期?
1蚊惯, 有效地記錄BUG 2愿卸, 使用BUG模板 3, 評價(jià)BUG優(yōu)先級和嚴(yán)重性 4截型, BUG的生命 5趴荸, 維護(hù)BUG數(shù)據(jù)庫
89、缺陷記錄應(yīng)包含的內(nèi)容?
缺陷標(biāo)識菠劝、缺陷類型赊舶、缺陷嚴(yán)重程度、缺陷產(chǎn)生可能性赶诊、缺陷優(yōu)先級笼平、缺陷狀態(tài)、缺陷起源舔痪、缺陷來源寓调、缺陷原因;?
91?您所熟悉的軟件測試類型都有哪些?請?jiān)囍謩e比較這些不同的測試類型的區(qū)別與聯(lián)系(如功能測試、性能測試……)
易用性測試-界面的友好性锄码,操作方便性等夺英。
功能測試-系統(tǒng)中功能性需求的滿足
安全性測試-系統(tǒng)是否存在安全隱患和漏洞
性能測試-系統(tǒng)在大并發(fā)下的響應(yīng)速度和健壯性
93棵逊、您認(rèn)為做好測試計(jì)劃工作的關(guān)鍵是什么?
了解項(xiàng)目或系統(tǒng)的業(yè)務(wù)需求
和項(xiàng)目經(jīng)理協(xié)調(diào)好奈籽,了解項(xiàng)目的進(jìn)度計(jì)劃安排情況?
95您認(rèn)為做好測試用例設(shè)計(jì)工作的關(guān)鍵是什么?
對業(yè)務(wù)和軟件需求非常清楚,可以根據(jù)需求不同選擇不同的測試用例設(shè)計(jì)
96颖侄、.您以往的工作中是否曾開展過測試用例的評審工作?如果有重窟,請描述測試用例評審的過程和評審的內(nèi)容载萌。
評審計(jì)劃->預(yù)審->評審;
評審內(nèi)容主要是測試用例對軟件需求的覆蓋程度,對于相關(guān)邊界是否考慮巡扇,是否針對復(fù)雜流程準(zhǔn)備多套測試數(shù)據(jù)扭仁,是否有專門針對非功能性需求的測試。?
98.您認(rèn)為性能測試工作的目的是什么?做好性能測試工作的關(guān)鍵是什么?
關(guān)鍵是測試腳本的錄制厅翔,測試時(shí)候測試環(huán)境的干凈乖坠。
100、.您以往所從事的軟件測試工作中刀闷,是否使用了一些工具來進(jìn)行軟件缺陷(Bug)的管理?如果有熊泵,請結(jié)合該工具描述軟件缺陷(Bug)跟蹤管理的流程仰迁。
CQ,也可以使用BugFree等免費(fèi)工具顽分。
101轩勘、.您如何看待軟件過程改進(jìn)?在您曾經(jīng)工作過的企業(yè)中,是否有一些需要改進(jìn)的東西呢?您期望的理想的測試人員的工作環(huán)境是怎樣的?
將先進(jìn)的經(jīng)驗(yàn)或思想固化到過程中怯邪,通過過程改進(jìn)和能力提高來改進(jìn)軟件質(zhì)量。
?
TCP/IP五層協(xié)議:應(yīng)用層花墩、傳輸層悬秉、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層冰蘑、硬件層
還有什么要問的問題:
???測試部門多少人
???項(xiàng)目情況
?? 晉升機(jī)制
???沒回答上來的問題
本文轉(zhuǎn)自:https://www.cnblogs.com/loveMessi/p/10722796.html