版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第一部分 基本概念1、名詞解釋:軟件測試、SQA、BUG、錯誤、缺陷、黑盒測試、白盒測試、功能測試、性能測試、壓力測試答:軟件測試:定義(IEEE):由人工或自動方法來執(zhí)行或評價系統(tǒng)或系統(tǒng)部件的過程,以驗證它是否滿足規(guī)定的需求或識別期望的結(jié)果和實際結(jié)果之間的差別。軟件測試是軟件質(zhì)量保證的關(guān)鍵元素,代表了規(guī)約、設(shè)計和編碼的最終檢查。 SQA:質(zhì)量保證是一個活動,它向所有有關(guān)的人提供證據(jù)以確立質(zhì)量功能正在按需求運行的信心。并提供開發(fā)出滿足使用要求產(chǎn)品的軟件過程的能力證據(jù). BUG:軟件使用過程中所出現(xiàn)的任何一個可疑問題或者導(dǎo)致軟件不能符合設(shè)計要求或滿足消費者需要的問題。 錯誤:也即是軟件bug或缺
2、陷Defect黑盒測試:指的是把被測得軟件看作是一個黑盒子,我 們不去關(guān)心盒子里面的結(jié)構(gòu)是什么樣子的,只關(guān)心軟件 的輸入數(shù)據(jù)和輸出結(jié)果。 白盒測試:又叫做玻璃盒測試(Glass Box Testing)。 在軟件編碼階段,開發(fā)人員根據(jù)自己對代碼的理解和接 觸所進(jìn)行的軟件測試叫作白盒測試。 功能測試:按照軟件的功能或特性逐個進(jìn)行測試。性能測試:用來測試軟件在系統(tǒng)中的運行性能,性能測 試可以發(fā)生在測試過程的所有步驟中。 壓力測試:在各種極限情況下對產(chǎn)品進(jìn)行測試 (如很多人同時使用該軟件,或者反復(fù)運行該軟件),以檢查產(chǎn) 品的長期穩(wěn)定性 。2、簡述測試的目的、原則與對象答:測試的目的:a、從用戶的角度
3、出發(fā),希望通過軟件測試暴露軟件中隱藏的錯誤和缺陷,以考慮是否可接受該產(chǎn)品。b、從軟件開發(fā)者的角度出發(fā),驗證該軟件已正確地實現(xiàn)了用戶的要求并且證明軟件的功能和性能與需求 c、為了能夠給開發(fā)人員或程序經(jīng)理提供反饋信息,并為風(fēng)險評估準(zhǔn)備所需要信息。d、保證整個軟件開發(fā)過程是高質(zhì)量的。測試的原則:盡早和不斷的測試;測試前要認(rèn)定被測試軟件有錯;預(yù)先確定被測試軟件的測試結(jié)果;測試工作應(yīng)該由獨立的專業(yè)的軟件測試機(jī)構(gòu)來完成;測試要以軟件需求規(guī)格說明書為標(biāo)準(zhǔn);測試后程序中殘存的錯誤數(shù)目與該程序中已發(fā)現(xiàn)的錯誤數(shù)目成正比;對測試錯誤結(jié)果一定要有一個確認(rèn)的過程; 制定嚴(yán)格的測試計劃,排除測試的隨意性;回歸測試的關(guān)聯(lián)性
4、-修改一個錯誤而引起更多的錯誤出現(xiàn)的現(xiàn)象并不少見;完全測試程序是不可能的; 并非所有軟件缺陷都能修 復(fù);應(yīng)當(dāng)對每一個測試結(jié)果做全面檢查。 測試對象:需求規(guī)格說明、概要設(shè)計規(guī)格說明、詳細(xì)設(shè) 計規(guī)格說明、源程序、可執(zhí)行程序 。 3、什么是V模型?簡述V模型在軟件測試過程中的作用,以及在V模型中各個測試階段和開發(fā)過程的對應(yīng)關(guān)系 。答:參見下圖:V模型中的過程從左到右,描述了基本的開發(fā)過程和測試行為 ;明確標(biāo)明了測試過程中存在的不同級別 ;體現(xiàn)了測試階段和開發(fā)過程期間各階段的對應(yīng)關(guān)系;4、簡述軟件測試的分類答:按照開發(fā)階段劃分軟件測試可分為:單元測試、集成測試、系統(tǒng)測試、確認(rèn)測試和驗收測試。單元測試:
5、單元測試又稱模塊測試,是針對軟件設(shè)計的最小單位程序模塊進(jìn)行正確性檢驗的測試工作。其目的在于檢查每個程序單元能否正確實現(xiàn)詳細(xì)設(shè)計說明中的模塊功能、性能、接口和設(shè)計約束等要求,發(fā)現(xiàn)模塊內(nèi)部可能存在的各種錯誤。單元測試需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計測試用例。多個模塊可以平行地獨立進(jìn)行單元測試。集成測試:集成測試也叫做組裝測試。通常在單元測試的基礎(chǔ)上,將所有的程序模塊進(jìn)行有序的、遞增的測試。集成測試是檢驗程序單元或部件的接口關(guān)系,逐步集成為符合概要設(shè)計要求的程序部件或整個系統(tǒng)。軟件集成的過程是一個持續(xù)的過程,會形成很多個臨時版本,在不斷的集成過程中,功能集成的穩(wěn)定性是真正的挑戰(zhàn)。在每個版本提交時,都需要
6、進(jìn)行冒煙測試,即對程序主要功能進(jìn)行驗證。冒煙測試也叫版本驗證測試、提交測試。確認(rèn)測試:確認(rèn)測試是通過檢驗和提供客觀證據(jù),證實軟件是否滿足特定預(yù)期用途的需求。確認(rèn)測試是檢測與證實軟件是否滿足軟件需求說明書中規(guī)定的要求。系統(tǒng)測試:系統(tǒng)測試是為驗證和確認(rèn)系統(tǒng)是否達(dá)到其原始目標(biāo),而對集成的硬件和軟件系統(tǒng)進(jìn)行的測試。系統(tǒng)測試是在真實或模擬系統(tǒng)運行的環(huán)境下,檢查完整的程序系統(tǒng)能否和系統(tǒng)(包括硬件、外設(shè)、網(wǎng)絡(luò)和系統(tǒng)軟件、支持平臺等)正確配置、連接,并滿足用戶需求。 驗收測試:按照項目任務(wù)書或合同、供需雙方約定的驗收依據(jù)文檔進(jìn)行的對整個系統(tǒng)的測試與評審,決定是否接收或拒收系統(tǒng)。按照測試實施組織劃分,軟件測試可
7、分為開發(fā)方測試、用戶測試(測試)、第三方測試。開發(fā)方測試:通常也叫“驗證測試”或“測試”。開發(fā)方通過檢測和提供客觀證據(jù),證實軟件的實現(xiàn)是否滿足規(guī)定的需求。驗證測試是在軟件開發(fā)環(huán)境下,由開發(fā)者檢測與證實軟件的實現(xiàn)是否滿足軟件設(shè)計說明或軟件需求說明的要求。主要是指在軟件開發(fā)完成以后,開發(fā)方對要提交的軟件進(jìn)行全面的自我檢查與驗證,可以和軟件的“系統(tǒng)測試”一并進(jìn)行。測試是由一個用戶在開發(fā)環(huán)境下進(jìn)行的測試,也可以是公司內(nèi)部的用戶在模擬實際操作環(huán)境下進(jìn)行的受控測試,測試不能由程序員或測試員完成。測試發(fā)現(xiàn)的錯誤,可以在測 試現(xiàn)場立刻反饋給開發(fā)人員,由開發(fā)人員及時分析和處理。 用戶測試:在用戶的應(yīng)用環(huán)境下,用
8、戶通過運行和使用軟件,檢測與核實軟件實現(xiàn)是否符臺自己預(yù)期的要求。通常情況用戶測試不是指用戶的“驗收測試”,而是指用戶的使用性測試,由用戶找出軟件的應(yīng)用過程中發(fā)現(xiàn)的軟件的缺陷與問題,并對使用質(zhì)量進(jìn)行評價。測試通常被看成是一種“用戶測試”。測試主要是把軟件產(chǎn)品有計劃地免費分發(fā)到目標(biāo)市場,讓用戶大量使用,并評價、檢查軟件。通過用戶各種方式的大量使用,來發(fā)現(xiàn)軟件存在的問題與錯誤,把信息反饋給開發(fā)者修改。測試中廠商獲取的信息,可以有助于軟件產(chǎn)品的成功發(fā)布。第三方測試:介于軟件開發(fā)方和用戶方之間的測試組織的測試。第三方測試也稱為獨立測試。軟件質(zhì)量工程強(qiáng)調(diào)開展獨立驗證和確認(rèn)(IV&V)活動。IV&a
9、mp;V是由在技術(shù)、管理和財務(wù)上與開發(fā)組織具有規(guī)定程度獨立的組織執(zhí)行驗證和確認(rèn)過程。軟件第三方測試也就是由在技術(shù)、管理和財務(wù)上與開發(fā)方和用戶方相對獨立的組織進(jìn)行的軟件測試。一般情況下是在模擬用戶真實應(yīng)用環(huán)境下,進(jìn)行軟件確認(rèn)測試。按照測試技術(shù)劃分:白盒測試、黑盒測試、灰盒測試。也可劃分為靜態(tài)測試和動態(tài)測試。靜態(tài)測試是指不運行程序,通過人工對程序和文檔進(jìn)行分析與檢查;靜態(tài)測試技術(shù)又稱為靜態(tài)分析技術(shù),靜態(tài)測試實際上是對軟件中的需求說明書、設(shè)計說明書、程序源代碼等進(jìn)行非運行的檢查,靜態(tài)測試包括:走查、富豪執(zhí)行、需求確認(rèn)等。動態(tài)測試是指通過人工或使用工具運行程序進(jìn)行檢查、分析程序的執(zhí)行狀態(tài)和程序的外部表
10、現(xiàn)。我們這里討論的白盒測試、黑盒測試、灰盒測試,在實現(xiàn)測試方法上既包括了動態(tài)測試也包括了靜態(tài)測試。白盒測試:通過對程序內(nèi)部結(jié)構(gòu)的分析、檢測來尋找問題。白盒測試可以把程序看成裝在一個透明的白盒子里,也就是清楚了解程序結(jié)構(gòu)和處理過程,檢查是否所有的結(jié)構(gòu)及路徑都是正確的,檢查軟件內(nèi)部動作是否按照設(shè)計說明的規(guī)定正常進(jìn)行。白盒測試又稱結(jié)構(gòu)測試。黑盒測試:通過軟件的外部表現(xiàn)來發(fā)現(xiàn)其缺陷和錯誤。黑盒測試法把測試對象看成一個黑盒子,完全不考慮程序內(nèi)部結(jié)構(gòu)和處理過程。黑盒測試是在程序界面處進(jìn)行測試,它只是檢查樣序是否按照需求規(guī)格說明書的規(guī)定正常實現(xiàn)。 灰盒測試:介于白盒測試與黑盒測試之間的測試?;液袦y試關(guān)注輸出
11、對于輸入的正確性;同時也關(guān)注內(nèi)部表現(xiàn),但這種關(guān)注不像白盒測試那樣詳細(xì)、完整,只是通過一些表征性的現(xiàn)象、事件、標(biāo)志來判斷內(nèi)部的運行狀態(tài)?;液袦y試結(jié)合了白盒測試和黑盒測試的要素。它考慮了用戶端、特定的系統(tǒng)知識和操作環(huán)境。它在系統(tǒng)組件的協(xié)同性環(huán)境中評價應(yīng)用貫穿了整個軟件生命周期。走查、單元測試、集成測試、系統(tǒng)測試用于整個開發(fā)過程中的不同階段。開發(fā)文檔和源程序可以應(yīng)用單元測試應(yīng)用走查的方法;單元測試可應(yīng)用白盒測試方法;集成測試應(yīng)用近似灰盒測試方法:而系統(tǒng)測試和確認(rèn)測試應(yīng)用黑盒測試方法。5、比較傳統(tǒng)軟件測試過程與Rational軟件測試過程的異同點?答:傳統(tǒng)的軟件測試流程一般是先在軟件開發(fā)過程中進(jìn)行少量
12、的單元測試,然后在整個軟件開發(fā)結(jié)束階段,集中進(jìn)行大量的測試,包括功能和性能的集成測試和系統(tǒng)測試。隨著開發(fā)的軟件項目越來越復(fù)雜。而Rational軟件測試過程則強(qiáng)調(diào)盡早測試、連續(xù)測試、自動化測試。6、簡述軟件測試的流程。答:軟件測試分為如下幾個階段:需求分析、測試計劃、測試設(shè)計、測試環(huán)境搭建、測試執(zhí)行、測試記錄、缺陷管理、軟件評估、測試維護(hù)。7、如何判斷一個問題是否是缺陷?答:定義:軟件缺陷(Defect),常常又被叫做Bug。所謂軟件缺陷,即為計算機(jī)軟件或程序中存在的某種破壞正常運行能力的問題、錯誤,或者隱藏的功能缺陷。缺陷的存在會導(dǎo)致軟件產(chǎn)品在某種程度上不能滿足用戶的需要。符合以下5 個規(guī)則
13、的才能叫做軟件缺陷。1.軟件未達(dá)到產(chǎn)品說明書標(biāo)明的功能。2.軟件出現(xiàn)了產(chǎn)品說明書指明不會出現(xiàn)的錯誤。3.軟件功能超出產(chǎn)品說明書指明范圍。4.軟件未達(dá)到產(chǎn)品說明書雖未指出但應(yīng)達(dá)到的目標(biāo)。5.軟件測試員認(rèn)為軟件難以理解、不易使用、運行速度緩慢,或者最終用戶認(rèn)為不好。8、軟件運行時產(chǎn)生的錯誤是bug,這句話對嗎?答:不對,bug是軟件缺陷,在軟件運行過程中產(chǎn)生的錯誤有可能是其他原因引起的,不一定是bug。9、解釋為什么測試只能檢測錯誤的存在而不能檢測它的不存在?答:當(dāng)我們開發(fā)測試用例進(jìn)行測試時如果出現(xiàn)錯誤我們可以判斷相應(yīng)錯誤存在,但如果運行通過并不能說錯誤不存在,因為這并不表示其他的用例不會產(chǎn)生錯誤
14、。由于測試的不完備性,我們不能驗證錯誤的不存在。10、解釋測試自動化的含義?答:自動化測試主要是指利用軟件測試工具提供完整的軟件測試流程的支持和各種測試的自動化實現(xiàn)。11、為什么不能徹底測試一個軟件?為什么在不同發(fā)現(xiàn)錯誤的階段,費用有很大的不同?答:一個軟件的所有輸入可能非常大,在有限的時間里不可能對所有的情況進(jìn)行枚舉測試。在不同的階段發(fā)現(xiàn)缺陷,修復(fù)費用是不同的。越晚發(fā)現(xiàn)修復(fù)費用越高。這是由于在后期發(fā)現(xiàn)缺陷要修改軟件的相關(guān)聯(lián)模塊越多甚至軟件的體系結(jié)構(gòu)要重新設(shè)計,這將導(dǎo)致費用急劇增加。12、影響軟件測試的效率有哪些?答:影響測試效率的因素很多,除了測試方法之外,主要因素還有人為因素、軟件類型、錯
15、誤類型、測試充分度等等。第二部分 有關(guān)測試計劃的內(nèi)容1、名詞解釋: 測試計劃、測試環(huán)境、測試風(fēng)險、測試流程答:測試計劃:測試計劃應(yīng)該作為測試的起始步驟和重要環(huán)節(jié)。大致包括:產(chǎn)品基本情況調(diào)研,測試需求說明,測試策略和記錄,測試資源配置,計劃表,問題跟蹤報告,測試計劃的評審,結(jié)果等。測試計劃概要說明測試組的任務(wù)和職責(zé),測試目標(biāo) 、測試設(shè)計活動、測試環(huán)境準(zhǔn)備、測試風(fēng)險和偶發(fā)事件以及可接受的徹底測試的程序。 測試環(huán)境:硬件、軟件、網(wǎng)絡(luò)和設(shè)施的需求等。測試環(huán)境計劃應(yīng)確定訪問和使用測試環(huán)境的各種人員及其數(shù)量,以保證計劃足夠數(shù)量的計算機(jī)適應(yīng)這種要求。測試風(fēng)險:測試中可能出現(xiàn)問題的風(fēng)險 測試流程:測試計劃 、
16、測試設(shè)計 、測試實施 、測試執(zhí)行 、測試評估。2、測試計劃包含哪些內(nèi)容,如何寫好測試計劃?答:軟件測試計劃 是指導(dǎo)測試過程的綱領(lǐng)性文件,包含了產(chǎn)品概述,測試策略,測試方法,測試區(qū)域,測試配置,測試周期,測試資源,風(fēng)險分析等內(nèi)容;借助軟件測試計劃,參與測試的項目成員,可以明確測試任務(wù)和測試方法,保持測試實施過程的順暢溝通,跟蹤和控制測試進(jìn)度,應(yīng)對測試過程中的各種變更。測試計劃工作的關(guān)鍵是:1.明確測試的目標(biāo),增強(qiáng)測試計劃的實用性2. 堅持“5W”規(guī)則,明確內(nèi)容與過程3. 采用評審和更新機(jī)制,保證測試計劃滿足實際需求3、測試計劃的用途有哪些?一個好的測試計劃應(yīng)該起 到哪些作用?答:1) 提高測試工
17、作的效率以及準(zhǔn)確性,讓測試工作有條理,有計劃的進(jìn)行,避免測試的“事件驅(qū)動”。2) 使測試工作與整個開發(fā)活動更好的融合 。3)規(guī)避風(fēng)險,使資源和變更事先作為一個可控制的風(fēng)險。4、查閱相關(guān)資料,總結(jié)目前測試過程中都使用哪些測試策略,如何在測試中應(yīng)用它們?答:測試策略是關(guān)于如何測試系統(tǒng)的正式描述,要求開發(fā)針對所有測試級別的測試策略。測試小組分析需求,編寫測試策略并且和項目小組一起復(fù)審計劃。 測試計劃應(yīng)該包括測試用例和條件,測試環(huán)境,與任務(wù)相關(guān)的測試,通過對失敗的準(zhǔn)則和測試風(fēng)險評估。測試進(jìn)度表將識別出所有要求成功的測試成果,活動的進(jìn)度和資源要求。5、如果你是一名測試人員,現(xiàn)在要對Windows 操作系
18、統(tǒng)附件中的計算器程序進(jìn)行測試,請參照測試計劃模版,制訂其完整的測試計劃。 提示: 參照實驗課程所編寫的完整的測試計劃。6、按照軟件需求分析與設(shè)計的方法,對Windows 操作系統(tǒng)附件中的計算器程序進(jìn)行測試需求分析與設(shè)計。7、執(zhí)行第6 題中設(shè)計的測試用例,完成測試報告,并對測試結(jié)果進(jìn)行分析與評估。8、怎樣制定軟件測試計劃?答:作為測試人員,在制定測試計劃之前,應(yīng)該很好的掌握測試需求,這是軟件測試的第一步。而測試需求有耐于開發(fā)人員提供完整的需求文檔和接口文檔。根據(jù)需求文檔中描述的每個功能項目的輸入,處理過程和輸出,來設(shè)計測試用例。除此之外,軟件測試人員還要很好的與軟件開發(fā)人員,項目經(jīng)理進(jìn)行溝通和交
19、流,了解軟件實現(xiàn)的主要功能是什么,并記錄收集到的信息。與技術(shù)支持人員交流,他們是最貼近用戶的人,通過交流可以獲取第一手的用戶使用感覺,在制定測試計劃時會更加貼近用戶。測試過程中,還要考慮到測試用例的優(yōu)先級。一般情況下,測試人員要優(yōu)先測試級別高的需求項,按照級別的先后順序進(jìn)行測試,這樣一來,如果進(jìn)度不允許,就放棄測試級別低的需求項。9、如何確定軟件測試范圍?答:確定測試范圍的步驟: 測試組審查系統(tǒng)需求或使用的用例。 測試組可以審查的設(shè)計文檔系統(tǒng)。 測試工程師評審任務(wù)說明,確定關(guān)鍵系統(tǒng)功能和高風(fēng)險系統(tǒng)功能。 測試工程師必須對系統(tǒng)有一個清晰的定義并理解系統(tǒng)需求或使用的用例,這樣才能夠確定測試目標(biāo)、測
20、試目的和測試策略。 需要確定用于項目的自動測試工具。 將測試參數(shù)形成文檔,其中包括確定測試目標(biāo)、測試目的和測試策略時所做的所有假設(shè)。還需將先決事件、文檔及支持各種測試活動的產(chǎn)品羅列出來。 確定系統(tǒng)驗收準(zhǔn)則,估計測試風(fēng)險,制訂降低風(fēng)險的計劃。 10、如果要測試一個電子商務(wù)網(wǎng)站,如何搭建測試環(huán)境?提示:從硬件環(huán)境、軟件環(huán)境、網(wǎng)絡(luò)等方面考慮搭建測試環(huán)境。11、10題中如何確定測試風(fēng)險以及怎樣管理該測試風(fēng)險?提示:從軟件測試的七類風(fēng)險考慮枚舉可能的風(fēng)險第三部分 有關(guān)測試技術(shù)和方法、測試用例的設(shè)計1、名詞解釋: 測試需求、測試用例、單元測試、集成測試、系統(tǒng)測試、驗收測試、回歸測試、冒煙測試、答:測試需求
21、:測試需求通俗的講,就是定義對產(chǎn)品項目所要測試的內(nèi)容 。測試用例:是關(guān)于具體測試步驟的文檔,它描述了測試的輸入?yún)?shù)、條件、配置以及預(yù)期的輸出結(jié)果等 單元測試:單元測試是開發(fā)者編寫的一小段代碼,用于檢驗被測代碼的一個很小的、很明確的功能是否正確。通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下某個特定函數(shù)的行為。 集成測試:集成測試,也叫組裝測試或聯(lián)合測試。在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計要求(如根據(jù)結(jié)構(gòu)圖)組裝成為子系統(tǒng)或系統(tǒng),進(jìn)行集成測試。 系統(tǒng)測試:是將經(jīng)過測試的子系統(tǒng)裝配成一個完整系統(tǒng)來測試。它是檢驗系統(tǒng)是否確實能提供系統(tǒng)方案說明書中指定功能的有效方法。 驗收測試:是部署
22、軟件之前的最后一個測試操作。驗收測試的目的是確保軟件準(zhǔn)備就緒,并且可以讓最終用戶將其用于執(zhí)行軟件的既定功能和任務(wù)。 回歸測試:為了驗證修改的正確性及其影響 冒煙測試:描述的是在將代碼更改簽入到產(chǎn)品的源樹中之前對這些更改進(jìn)行驗證的過程。2、怎么確定測試需求?答:確定測試需求:測試階段需求分析更注重于技術(shù)層面,即軟件是否實現(xiàn)了需求所示的功能;針對待測軟件的特性差異,除了需要確保要求實現(xiàn)的基本功能正確之外,各種業(yè)務(wù)軟件還需要達(dá)到各自的一些非功能性標(biāo)準(zhǔn);明確測試焦點,對所測的功能進(jìn)行分析、分解,進(jìn)行著重于某一方面的測試;明確測試的優(yōu)先級;測試的覆蓋率和覆蓋程度。3、 怎樣做好文檔測試? 答:文檔測試要
23、注意一下幾點:文檔的讀者群、文檔的術(shù)語、文檔的正確性、文檔的完整性、文檔的一致性、文檔的易用性、樣例與示例、文檔的語言 4、什么是測試用例?怎么設(shè)計測試用例?如何評估測試用例的好壞?答:測試用例:就是一個文檔,描述輸入、動作、或者時間和一個期望的結(jié)果,其目的是確定應(yīng)用程序的某個特性是否正常的工作。測試用例設(shè)計內(nèi)容和原則:測試用例應(yīng)包括軟件測試用表、測試用例清單、測試結(jié)果統(tǒng)計表、測試問題表和測試問題統(tǒng)計表、測試進(jìn)度表和測試總結(jié)表。各表樣式無規(guī)定模板,用戶可以自行設(shè)計,但各表均應(yīng)包含的內(nèi)容。原則如下:1.測試用例的代表性:能夠代表并覆蓋各種合理的和不合理的、合法的和非法的、邊界的和越界的以及極限的
24、輸入數(shù)據(jù)、操作和環(huán)境設(shè)置等。2.測試結(jié)果的可判定性:即測試執(zhí)行結(jié)果的正確性是可判定的,每一個測試用例都應(yīng)有相應(yīng)的期望結(jié)果。3.測試結(jié)果的可再現(xiàn)性:即對同樣的測試用例,系統(tǒng)的執(zhí)行結(jié)果應(yīng)當(dāng)是相同的。好的測試用例的特點:完整、準(zhǔn)確、簡潔、清晰、可維護(hù)性、適當(dāng)性、可復(fù)用性 。5、分別解釋什么是白盒測試、黑盒測試,以及他們之間的關(guān)系。答:白盒測試:又稱結(jié)構(gòu)測試,透明盒測試、邏輯驅(qū)動測試或基于代碼的測試 。黑盒測試:也稱功能測試或數(shù)據(jù)驅(qū)動測試,它是在已知產(chǎn)品所應(yīng)具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程序看作一個不能打開的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測試者在
25、程序接口進(jìn)行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。6、 白盒測試有那幾種方法? 答:白盒測試方法分為:靜態(tài)測試和動態(tài)測試 靜態(tài)測試方法:編碼標(biāo)準(zhǔn)與準(zhǔn)則 走查 審查 評審 動態(tài)測試方法:語句覆蓋 判定覆蓋 條件覆蓋 判定-條件覆蓋 條件組合覆蓋 路徑覆蓋 獨立路徑測試 7、什么是驅(qū)動模塊和樁模塊?為下面的函數(shù)構(gòu)造一個驅(qū)動模塊和條件樁模塊、并至少設(shè)計3條測試用例。public int divide(a,b) int temp =abs(a); Return a/b;答:/驅(qū)動模塊pu
26、blic static void main(String args) System.out.println(“case 1:”+divide(1,0); System.out.println(“case 2:”+divide(1,2); System.out.println(“case 3:”+divide(4,2);/條件樁模塊int abs(int x) Return x;驅(qū)動模塊:在大多數(shù)場合稱為“主程序”,它接收測試數(shù)據(jù)并將這些數(shù)據(jù)傳遞到被測試模塊。樁模塊:為被測模塊編制一些模擬其下級模塊功能的“替身”模塊,以代替被測模塊的接口,接受或傳遞被測模塊的數(shù)據(jù),這些專供測試用的“假”模塊稱為
27、被測模塊的樁模塊。測試用例a,b分別?。海?,0);(1,2);(4,2)等用例均可 。8、什么是覆蓋測試?覆蓋測試的類型有哪些?答:覆蓋測試:是動態(tài)分析方法,通過程序執(zhí)行過程中覆蓋的比例來分析軟件。常用六種覆蓋方法:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、路徑覆蓋。9、基于需求的測試覆蓋如何計算?答:測試需求的覆蓋率通常是由與軟件需求所建立的對應(yīng)關(guān)系來確定的。如果一個測試需求已經(jīng)跟軟件需求存在著一對一或一對多的對應(yīng)關(guān)系,可以說測試需求已經(jīng)覆蓋了該功能點。10、基于代碼的測試覆蓋如何計算?答:執(zhí)行代碼占總代碼比例。11、什么是性能測試?主要的性能測試有哪些?分別詳細(xì)予以說明
28、。答:性能測試:是為描述測試對象與性能相關(guān)的特征并對其進(jìn)行評價,而實施和執(zhí)行的一類測試。 基準(zhǔn)測試- 比較新的或未知測試對象與已知參照標(biāo)準(zhǔn)(如現(xiàn)有軟件或測試標(biāo)準(zhǔn))的性能。 爭用測試: - 核實測試對象對于多個主角對相同資源(數(shù)據(jù)記錄、內(nèi)存等)的請求的處理是否可以接受 性能配置 - 核實在操作條件保持不變的情況下,測試對象在使用不同配置時其性能行為的可接受性。 負(fù)載測試 - 核實在保持配置不變的情況下,測試對象在不同操作條件(如不同用戶數(shù)、事務(wù)數(shù)等)下性能行為的可接受性。 強(qiáng)度測試 - 核實測試對象性能行為在異?;驑O端條件(如資源減少或用戶數(shù)過多)之下的可接受性。 12、單元測試、集成測試、系統(tǒng)
29、測試、驗收測試之間有什么聯(lián)系?提示:結(jié)合概念、內(nèi)容、方法、過程、目的比較這四者之間的關(guān)系與聯(lián)系。13、什么是冒煙測試,為什么要進(jìn)行冒煙測試?答:在軟件中,“冒煙測試”這一術(shù)語描述的是在將代碼更改簽入到產(chǎn)品的源樹中之前對這些更改進(jìn)行驗證的過程。在檢查了代碼后,冒煙測試是確定和修復(fù)軟件缺陷的最經(jīng)濟(jì)有效的方法。冒煙測試設(shè)計用于確認(rèn)代碼中的更改會按預(yù)期運行,且不會破壞整個版本的穩(wěn)定性。14、查閱資料,市場常用的測試軟件有哪些?他們各有什么特點?答:IBM測試工具:Rational TestManager,Robot,ClearQuest,PurifyPlus,RFT,RPT等;MI公司:loadRun
30、ner,QTP,winRunner15、寫出下列輸入中需要測試的邊界值:(1)、一個文件最多允許輸入255個字符。(2)、一個文本框允許輸入0至100之間的實數(shù)(3)、在軟盤中保存文件,要求文件不多于50個,每個文件字節(jié)數(shù)小于1Mbyte。答:(1)255、256(2)100、101、0、-1(3) 文件數(shù):0、49、50、51;文件大?。?.1M、0.9M、1M、1.1M16、做出下列軟件功能說明的因果圖:某軟件規(guī)格說明書包含這樣的要求:第一列字符必須是A或B,第二列字符必須是一個數(shù)字,在此情況下進(jìn)行文件的修改,但如果第一列字符不正確,則給出信息L;如果第二列字符不是數(shù)字,則給出信息M。提示
31、:原因: 1第一列字符是A; 2第一列字符是B; 3第二列字符是一數(shù)字。 結(jié)果: 21修改文件; 22 給出信息L; 23給出信息M。 17、簡述Junit進(jìn)行單元測試的原則與特征。第四部分 測試的實施內(nèi)容1、什么是測試的實施,測試實施包括哪些方面?以及如何實施測試?答:實施測試用例是通過創(chuàng)建一個測試腳本并建立測試腳本與測試用例的關(guān)聯(lián)來實現(xiàn)。 測試實施包括測試開發(fā)、測試環(huán)境搭建。通過創(chuàng)建測試腳本、用例、套件來實施測試。 2、測試腳本、測試用例以及測試套件之間有什么關(guān)系聯(lián)系?詳細(xì)闡述如何實施這些測試答:測試腳本是最基本的,包括自動腳本、手工腳本;測試用例可有多個腳本組成;而測試套件既可以包括測試
32、用例也可以包括測試腳本。這些測試的實施方法參見教材。第五部分 測試的執(zhí)行1、簡述軟件測試執(zhí)行過程。答:2、簡述軟件測試缺陷跟蹤過程。答:3、如何執(zhí)行軟件測試?答:執(zhí)行測試的目的是確保整個系統(tǒng)按既定意圖運行。系統(tǒng)各個組成部分在各迭代中編譯并鏈接系統(tǒng)。每個迭代都需要測試增加的功能,并重復(fù)執(zhí)行以前版本測試過的所有測試用例(回歸測試)。測試的執(zhí)行活動包含了測試實施的執(zhí)行,以確保系統(tǒng)功能的正確性。4、如何評估測試的好壞?答:測試的主要度量方法包括覆蓋度量和質(zhì)量度量。 測試覆蓋用于評價測試的完備性,是通過測試需求覆蓋和測試用例的覆蓋或已執(zhí)行代碼的覆蓋表示的。質(zhì)量度量是對測試對象(系統(tǒng)或測試的應(yīng)用程序)的可
33、靠性、穩(wěn)定性以及性能的度量。質(zhì)量建立在對測試結(jié)果的評估和對測試過程中確定的變更請求(缺陷)的分析基礎(chǔ)之上。5、某程序讀入三個整數(shù)值,這三個整數(shù)值表示三角形的三條邊長。該程序打印信息標(biāo)明三角形是不等邊三角形、等腰三角形或等邊三角形。 設(shè)計程并從程序中導(dǎo)出流圖,并用基本路徑測試方法開發(fā)保證測試所有程序語句的測試用例。答:void judgeTri(int a,int b,int c) if(!(a+b>c&&a+c>b&&b+c>a)System.out.println(“a,b,c不能構(gòu)成三角形”);else if(a=b=c)System.ou
34、t.println(“等邊三角形”);else if(a=b|a=c|b=c)System.out.println( “等腰三角形”);elseSystem.out.println( “不等邊三角形”);1分析路徑覆蓋。流程圖如下2根據(jù)流程圖,導(dǎo)出流圖如下:3計算程序環(huán)形復(fù)雜度:4導(dǎo)出獨立路徑(用語句編號表示):5設(shè)計測試用例:用例編號輸入預(yù)期輸出6、測試腳本、測試用例、測試套件的執(zhí)行有什么區(qū)別聯(lián)系?答:測試腳本是最基本的,包括自動腳本、手工腳本;測試用例可有多個腳本組成;而測試套件既可以包括測試用例也可以包括測試腳本。7、為什么不能測試一個軟件?即便可能是非常小的程序窮盡測試是否能夠保證程序
35、100%正確。答:軟件測試只能測試錯誤缺陷的存在,不能測試錯誤缺陷的不存在。即使是很小的軟件也不能。這也是由于測試的不完備性確定的。第六部分 缺陷的管理1、什么是軟件缺陷?答:滿足下列五個規(guī)則之一才稱為軟件缺陷:1)軟件未達(dá)到產(chǎn)品說明書標(biāo)明的功能。2)軟件出現(xiàn)了產(chǎn)品說明書指明不會出現(xiàn)的錯誤。3)軟件功能超出產(chǎn)品說明書指明的范圍。4)軟件未達(dá)到產(chǎn)品說明書雖未指出但應(yīng)該達(dá)到的目標(biāo)。5)軟件測試人員認(rèn)為軟件難以理解、不易使用、運行速度緩慢,或者最終用戶認(rèn)為不好。2、缺陷的來源與影響。答:缺陷主要來源于需求階段、設(shè)計階段、編碼階段。越在前期產(chǎn)生的缺陷維護(hù)費用越高。3、缺陷的種類有哪些?并通過對實際案例
36、的測試,分析缺陷都是軟件開發(fā)生命周期的哪個階段產(chǎn)生的?答:缺陷的分類方法很多。以下是常用分類方法: putnam:需求缺陷、設(shè)計缺陷、文檔缺陷、算法缺陷、界面缺陷、性能缺陷。 thayer:以軟件過程反饋的問題報告作為錯誤分類法,有計算錯誤、邏輯錯誤、I/O錯誤、數(shù)據(jù)加工錯誤等。 缺陷正交分類:賦值、檢驗、算法、時序、接口、功能、關(guān)聯(lián)。 4、缺陷管理報告單包括哪些內(nèi)容、具有什么特點。填寫一份報告單。答:缺陷名字、ID、狀態(tài)、來源、類別、所屬項目、優(yōu)先級、嚴(yán)重程度、發(fā)現(xiàn)者、關(guān)鍵字、描述、癥狀等。在試驗中必須認(rèn)真填寫每種缺陷。5、根據(jù)自己的理解,畫出缺陷管理流程圖。缺陷管理流程圖缺陷狀態(tài)圖6、發(fā)現(xiàn)
37、缺陷的方法有哪些?答:通過各個階段各種測試方法來發(fā)現(xiàn)缺陷。在整個軟件開發(fā)生命周期中對于不同階段的不同測試來尋找缺陷。如單元測試、集成測試、系統(tǒng)測試、驗收測試。以及其他針對性測試如功能測試、性能測試、隨機(jī)測試、冒煙測試等。7、缺陷的分類有何意義?如何預(yù)防缺陷?答:缺陷分類有利于缺陷管理和修復(fù),避免重復(fù)也可更好的預(yù)防缺陷。預(yù)防缺陷應(yīng)貫穿于整個軟件開發(fā)生命周期。8、回憶一下,在你開發(fā)的軟件中,是否存在安全漏洞故障?列舉至少三種安全漏洞故障。答:安全漏洞在軟件開發(fā)過程中經(jīng)常產(chǎn)生。如:緩沖區(qū)溢出、SQL注入、跨站腳本攻擊、DOS、會話攻擊等。第七部分 典型案例白盒法1 對以下條件語句設(shè)計測試用例(使用條
38、件組合覆蓋):if(a&&(b|c) return x;答:1條件:c1 (a);c2 (b|c)2用例:測試用例編號 測試輸入(a,b,c) 測試輸出 x c1 c2 預(yù)期結(jié)果 Test Case 1 true,true,false 1 T T 1 Test Case 2 true, false,false 0 T F 0 Test Case 3 false, true,false 0 F T 0 Test Case 4 false,false,false 0 F F 0 2.根據(jù)以下代碼設(shè)計測試用例(使用獨立路徑分析方法)void Sort ( int iRecordNum, int iType )1 2 int x=0;3 int y=0;4 while ( iRecordNum- > 0 )5 6 If ( iType=0 )7x=y+2;8 else9 If ( iType=1 )10 x=y+10;11 else12 x=y+20;13 14 答:1.導(dǎo)出流圖2計算程序環(huán)形復(fù)雜度V(G)=10(條邊)- 8(個節(jié)點)+ 2 = 4 3導(dǎo)出獨立路徑(用語句編號表示)路徑1:414路徑2:46713 414路徑3:4691013414路徑4:4691213414
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年設(shè)備融資還款合同
- 2024版二人合伙協(xié)議書簡單一點
- 2024年美甲店與美容師用工合同
- 2024年足浴店項目合作合同3篇
- 2024年門頭翻新施工合同
- 2025年度園林綠化工程鏟車租賃及生態(tài)保護(hù)協(xié)議2篇
- 2024年朋友間借款協(xié)議
- 2024年面料原材料批發(fā)與分銷合同3篇
- 2025年度智能停車設(shè)施施工合同示范文本3篇
- 2024年高端咖啡廳合伙經(jīng)營及利潤分配合同一
- 長安汽車發(fā)動機(jī)水溫高故障案例分析處置
- 瞬時單位線法計算洪水
- 氣力輸灰安裝施工方案
- 抗精神疾病藥物與麻醉課件
- 2022工業(yè)網(wǎng)關(guān)技術(shù)標(biāo)準(zhǔn) 第1部分:通用技術(shù)要求
- 經(jīng)典紅歌歌譜100首-
- Linux操作系統(tǒng)應(yīng)用(麒麟系統(tǒng))PPT完整全套教學(xué)課件
- 初三物理寒假課程
- 如何預(yù)防心腦血管病
- LY/T 3321-2022草原生態(tài)價值評估技術(shù)規(guī)范
- 管理科學(xué)技術(shù)名詞
評論
0/150
提交評論