軟件測(cè)試人員在軟件開(kāi)發(fā)過(guò)程中的任務(wù)都有哪些?
測(cè)試人員在軟件開(kāi)程中的任務(wù):1找Bug;2、避免軟件過(guò)程中的缺陷;3、軟件的品質(zhì);4、關(guān)注用戶的需求。
軟件測(cè)試目的1、測(cè)試的最終目的是為了避免錯(cuò)誤的發(fā)生,確保應(yīng)用程序能夠正常高效的運(yùn)行;2、好的測(cè)試用例在于發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;3、成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試;4、好的測(cè)試工程師應(yīng)該做到不僅發(fā)現(xiàn)問(wèn)題,還能夠幫助開(kāi)發(fā)人員分析問(wèn)題;軟件測(cè)試的原則:1、應(yīng)把“盡早和不斷地進(jìn)行軟件測(cè)試”作為軟件開(kāi)發(fā)者的座右銘,實(shí)踐證明單元測(cè)試能夠盡早發(fā)現(xiàn)問(wèn)題,減少后期測(cè)試的錯(cuò)誤量。
2、測(cè)試用例應(yīng)由測(cè)試輸入數(shù)據(jù)、測(cè)試執(zhí)行步驟和與之對(duì)應(yīng)的預(yù)期輸出結(jié)果三部分組成。
3、應(yīng)當(dāng)避免由程序員檢查自己的程序。
(指后期系統(tǒng)測(cè)試階段,不包括單元測(cè)試)4、測(cè)試用例的設(shè)計(jì)要確保能覆蓋所有可能路徑。
在設(shè)計(jì)測(cè)試用例時(shí),應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件。
不合理的輸入條件是指異常的,臨界的,可能引起問(wèn)題的輸入條件。
5、充分注意測(cè)試中的群集現(xiàn)象。
經(jīng)驗(yàn)表明,測(cè)試后程序殘存的錯(cuò)誤數(shù)目與該程序中已發(fā)現(xiàn)的錯(cuò)誤數(shù)目或檢錯(cuò)率成正比。
應(yīng)該對(duì)錯(cuò)誤群集的程序段進(jìn)行重點(diǎn)測(cè)試。
6、嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性。
測(cè)試計(jì)劃應(yīng)包括:所測(cè)軟件的功能,輸入和輸出,測(cè)試內(nèi)容,各項(xiàng)測(cè)試的進(jìn)度安排,資源要求,測(cè)試資料,測(cè)試工具,測(cè)試用例的選擇,測(cè)試的控制方法和過(guò)程,系統(tǒng)的配置方式,跟蹤規(guī)則,調(diào)試規(guī)則,以及回歸測(cè)試的規(guī)定等等以及評(píng)價(jià)標(biāo)準(zhǔn)。
7、應(yīng)當(dāng)對(duì)每
軟件測(cè)試過(guò)程中有哪些風(fēng)險(xiǎn)
風(fēng)險(xiǎn):(1有詳細(xì)設(shè)計(jì)說(shuō)明書(shū);解決方案:測(cè)試人員要在開(kāi)發(fā)對(duì)相關(guān)設(shè)計(jì)及需求文檔進(jìn)行分析,對(duì)大體模能進(jìn)行分類(lèi),分析業(yè)務(wù)邏輯,在不清楚的地方及時(shí)與開(kāi)發(fā)人員溝通。
風(fēng)險(xiǎn):(2)沒(méi)有統(tǒng)一的界面設(shè)計(jì)規(guī)范。
解決方案:與項(xiàng)目負(fù)責(zé)人確認(rèn)測(cè)試標(biāo)準(zhǔn)。
開(kāi)發(fā)方面:風(fēng)險(xiǎn):(1)所有模塊開(kāi)發(fā)沒(méi)有統(tǒng)一設(shè)計(jì),開(kāi)發(fā)人員有自己的設(shè)計(jì)方式;解決方案:與項(xiàng)目負(fù)責(zé)人確認(rèn)標(biāo)準(zhǔn)方式,與標(biāo)準(zhǔn)方式不一致的地方全部以BUG形式提交。
風(fēng)險(xiǎn):(2)需求變更開(kāi)發(fā)。
解決方案:建議將需求變更形成文檔,對(duì)沒(méi)有文檔的需求變更,在測(cè)試過(guò)程中發(fā)現(xiàn)及時(shí)與開(kāi)發(fā)負(fù)責(zé)人確認(rèn),并存檔相關(guān)變更文檔。
測(cè)試本身:風(fēng)險(xiǎn):(1)人力資源;解決方案:保證穩(wěn)定的人員安排。
風(fēng)險(xiǎn):(2)硬件資源;解決方案:事先分析測(cè)試所需硬件資源,及時(shí)申請(qǐng),保證測(cè)試工作順利進(jìn)行。
風(fēng)險(xiǎn):(3)版本控制;解決方案:嚴(yán)格控制版本,BUG以版本為單位進(jìn)行提交。
在測(cè)試過(guò)程中及BUG確認(rèn)階段禁止任何代碼更新。
風(fēng)險(xiǎn):(4)測(cè)試時(shí)間不足。
解決方案:動(dòng)員測(cè)試人員完成測(cè)試任務(wù),必要時(shí),應(yīng)給予相應(yīng)物質(zhì)獎(jiǎng)勵(lì)。
測(cè)試風(fēng)險(xiǎn)是不可避免的、總是存在的,所以對(duì)測(cè)試風(fēng)險(xiǎn)的管理非常重要,必須盡力降低測(cè)試中所存在的風(fēng)險(xiǎn),最大程度地保證質(zhì)量和滿足客戶的需求。
在測(cè)試工作中,主要的風(fēng)險(xiǎn)有:一、質(zhì)量需求或產(chǎn)品的特性理解不準(zhǔn)確,造成測(cè)試范圍分析的誤差,結(jié)果某些地方始終測(cè)試不到或驗(yàn)證的標(biāo)準(zhǔn)不對(duì);二、測(cè)試用例沒(méi)有得到百分之百的執(zhí)行,如有些測(cè)試用例被有意或無(wú)意的遺漏;三、需求的臨時(shí)\\\/突然變化,導(dǎo)致設(shè)計(jì)的修改和代碼的重寫(xiě),測(cè)試時(shí)間不夠;四、質(zhì)量標(biāo)準(zhǔn)不都是很清晰的,如適用性的測(cè)試,仁者見(jiàn)仁、智者見(jiàn)智;五、測(cè)試用例設(shè)計(jì)不到位,忽視了一些邊界條件、深層次的邏輯、用戶場(chǎng)景等;六、測(cè)試環(huán)境,一般不可能和實(shí)際運(yùn)行環(huán)境完全一致,造成測(cè)試結(jié)果的誤差;七、有些缺陷出現(xiàn)頻率不是百分之百,不容易被發(fā)現(xiàn);如果代碼質(zhì)量差,軟件缺陷很多,被漏檢的缺陷可能性就大;八、回歸測(cè)試一般不運(yùn)行全部測(cè)試用例,是有選擇性的執(zhí)行,必然帶來(lái)風(fēng)險(xiǎn)。
軟件測(cè)試需要注意的原則是什么
軟件測(cè)試定義是:為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程它是幫助識(shí)別開(kāi)發(fā)完成(中間或最終的版本)的計(jì)算機(jī)軟件(整體或部分)的正確度(correctness) 、完全度(completeness)和質(zhì)量(quality)的軟件過(guò)程;是SQA(software quality assurance)的重要子域。
軟件測(cè)試的目標(biāo):(1)測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程;(2)好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試方案;(3)成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。
軟件測(cè)試的內(nèi)容:軟件測(cè)試主要工作內(nèi)容是驗(yàn)證(verification)和確認(rèn)(validation ),下面分別給出其概念:驗(yàn)證(verification)是保證軟件正確地實(shí)現(xiàn)了一些特定功能的一系列活動(dòng),即保證軟件做了你所期望的事情。
(Do the right thing) 1.確定軟件生存周期中的一個(gè)給定階段的產(chǎn)品是否達(dá)到前階段確立的需求的過(guò)程;2.程序正確性的形式證明,即采用形式理論證明程序符號(hào)設(shè)一計(jì)規(guī)約規(guī)定的過(guò)程;3.評(píng)市、審查、測(cè)試、檢查、審計(jì)等各類(lèi)活動(dòng),或?qū)δ承╉?xiàng)處理、服務(wù)或文件等是否和規(guī)定的需求相一致進(jìn)行判斷和提出報(bào)告。
確認(rèn)(validation)是一系列的活動(dòng)和過(guò)程,目的是想證實(shí)在一個(gè)給定的外部環(huán)境中軟件的邏輯正確性。
即保證軟件以正確的方式來(lái)做了這個(gè)事件(Do it right)1.靜態(tài)確認(rèn),不在計(jì)算機(jī)上實(shí)際執(zhí)行程序,通過(guò)人工或程序分析來(lái)證明軟件的正確性;2.動(dòng)態(tài)確認(rèn),通過(guò)執(zhí)行程序做分析,測(cè)試程序的動(dòng)態(tài)行為,以證實(shí)軟件是否存在問(wèn)題。
軟件測(cè)試的對(duì)象不僅僅是程序測(cè)試,軟件測(cè)試應(yīng)該包括整個(gè)軟件開(kāi)發(fā)期問(wèn)各個(gè)階段所產(chǎn)生的文檔,如需求規(guī)格說(shuō)明、概要設(shè)計(jì)文檔、詳細(xì)設(shè)計(jì)文檔,當(dāng)然軟件測(cè)試的主要對(duì)象還是源程序。
從不同的角度出發(fā),軟件測(cè)試可以劃分為不同的分類(lèi):從是否關(guān)心軟件內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)的角度劃分A.白盒測(cè)試B.黑盒測(cè)試C.灰盒測(cè)試從是否執(zhí)行程序的角度A.靜態(tài)測(cè)試B.動(dòng)態(tài)測(cè)試從軟件開(kāi)發(fā)的過(guò)程按階段劃分有A.單元測(cè)試B.集成測(cè)試C.確認(rèn)測(cè)試D.驗(yàn)收測(cè)試E.系統(tǒng)測(cè)試* 測(cè)試過(guò)程按4個(gè)步驟進(jìn)行,即單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試及發(fā)版測(cè)試。
* 開(kāi)始是單元測(cè)試,集中對(duì)用源代碼實(shí)現(xiàn)的每一個(gè)程序單元進(jìn)行測(cè)試,檢查各個(gè)程序模塊是否正確地實(shí)現(xiàn)了規(guī)定的功能。
* 集成測(cè)試把已測(cè)試過(guò)的模塊組裝起來(lái),主要對(duì)與設(shè)計(jì)相關(guān)的軟件體系結(jié)構(gòu)的構(gòu)造進(jìn)行測(cè)試。
* 確認(rèn)測(cè)試則是要檢查已實(shí)現(xiàn)的軟件是否滿足了需求規(guī)格說(shuō)明中確定了的各種需求,以及軟件配置是否完全、正確。
* 系統(tǒng)測(cè)試把已經(jīng)經(jīng)過(guò)確認(rèn)的軟件納入實(shí)際運(yùn)行環(huán)境中,與其它系統(tǒng)成份組合在一起進(jìn)行測(cè)試。
單元測(cè)試 (Unit Testing) * 單元測(cè)試又稱(chēng)模塊測(cè)試,是針對(duì)軟件設(shè)計(jì)的最小單位 ─ 程序模塊,進(jìn)行正確性檢驗(yàn)的測(cè)試工作。
其目的在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種差錯(cuò)。
* 單元測(cè)試需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例。
多個(gè)模塊可以平行地獨(dú)立進(jìn)行單元測(cè)試。
1. 單元測(cè)試的內(nèi)容 * 在單元測(cè)試時(shí),測(cè)試者需要依據(jù)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)和源程序清單,了解該模塊的I\\\/O條件和模塊的邏輯結(jié)構(gòu),主要采用白盒測(cè)試的測(cè)試用例,輔之以黑盒測(cè)試的測(cè)試用例,使之對(duì)任何合理的輸入和不合理的輸入,都能鑒別和響應(yīng)。
(1) 模塊接口測(cè)試 * 在單元測(cè)試的開(kāi)始,應(yīng)對(duì)通過(guò)被測(cè)模塊的數(shù)據(jù)流進(jìn)行測(cè)試。
測(cè)試項(xiàng)目包括: – 調(diào)用本模塊的輸入?yún)?shù)是否正確; – 本模塊調(diào)用子模塊時(shí)輸入給子模塊的參數(shù)是否正確; – 全局量的定義在各模塊中是否一致;* 在做內(nèi)外存交換時(shí)要考慮: – 文件屬性是否正確; – OPEN與CLOSE語(yǔ)句是否正確; – 緩沖區(qū)容量與記錄長(zhǎng)度是否匹配; – 在進(jìn)行讀寫(xiě)操作之前是否打開(kāi)了文件; – 在結(jié)束文件處理時(shí)是否關(guān)閉了文件; – 正文書(shū)寫(xiě)/輸入錯(cuò)誤, – I/O錯(cuò)誤是否檢查并做了處理。
(2) 局部數(shù)據(jù)結(jié)構(gòu)測(cè)試 * 不正確或不一致的數(shù)據(jù)類(lèi)型說(shuō)明 * 使用尚未賦值或尚未初始化的變量 * 錯(cuò)誤的初始值或錯(cuò)誤的缺省值 * 變量名拼寫(xiě)錯(cuò)或書(shū)寫(xiě)錯(cuò) * 不一致的數(shù)據(jù)類(lèi)型 * 全參考
軟件測(cè)試需求分析的主要步驟是什么
軟件就是在軟件交付用戶使用或運(yùn)行前,件需求規(guī)格說(shuō)明、設(shè)計(jì)規(guī)格說(shuō)明和編碼的最審,是軟件質(zhì)量保證的關(guān)鍵步驟。
軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。
軟件測(cè)試在軟件生命周期中橫跨兩個(gè)階段:通常在編寫(xiě)出每一個(gè)模塊之后就需要對(duì)它做必要的測(cè)試(稱(chēng)為單元測(cè)試)。
編碼和單元測(cè)試屬于軟件生命周期中的同一個(gè)階段。
在結(jié)束這個(gè)階段后對(duì)軟件系統(tǒng)還要進(jìn)行各種綜合測(cè)試,如集成測(cè)試、系統(tǒng)測(cè)試、性能測(cè)試和配置測(cè)試等,這是軟件生命周期的另一個(gè)獨(dú)立階段,即測(cè)試階段。
\ 軟件測(cè)試的目的:\ 1、測(cè)試的最終目的是為了避免錯(cuò)誤的發(fā)生,確保應(yīng)用程序能夠正常高效的運(yùn)行;\ 2、好的測(cè)試用例在于發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;\ 3、成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試;\ 4、好的測(cè)試工程師應(yīng)該做到不僅發(fā)現(xiàn)問(wèn)題,還能夠幫助開(kāi)發(fā)人員分析問(wèn)題;\ 軟件測(cè)試的原則:\ 1、應(yīng)把“盡早和不斷地進(jìn)行軟件測(cè)試”作為軟件開(kāi)發(fā)者的座右銘,實(shí)踐證明單元測(cè)試能夠盡早發(fā)現(xiàn)問(wèn)題,減少后期測(cè)試的錯(cuò)誤量。
可以采用Junit和Jtest來(lái)輔助進(jìn)行單元測(cè)試。
\ 2、測(cè)試用例應(yīng)由測(cè)試輸入數(shù)據(jù)、測(cè)試執(zhí)行步驟和與之對(duì)應(yīng)的預(yù)期輸出結(jié)果三部分組成。
\ 3、應(yīng)當(dāng)避免由程序員檢查自己的程序。
(指后期系統(tǒng)測(cè)試階段,不包括單元測(cè)試)\ 4、測(cè)試用例的設(shè)計(jì)要確保能覆蓋所有可能路徑。
在設(shè)計(jì)測(cè)試用例時(shí),應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件。
不合理的輸入條件是指異常的,臨界的,可能引起問(wèn)題的輸入條件。
\ 5、充分注意測(cè)試中的群集現(xiàn)象。
經(jīng)驗(yàn)表明,測(cè)試后程序殘存的錯(cuò)誤數(shù)目與該程序中已發(fā)現(xiàn)的錯(cuò)誤數(shù)目或檢錯(cuò)率成正比。
應(yīng)該對(duì)錯(cuò)誤群集的程序段進(jìn)行重點(diǎn)測(cè)試。
\ 6、嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性。
\ 測(cè)試計(jì)劃應(yīng)包括:所測(cè)軟件的功能,輸入和輸出,測(cè)試內(nèi)容,各項(xiàng)測(cè)試的進(jìn)度安排,資源要求,測(cè)試資料,測(cè)試工具,測(cè)試用例的選擇,測(cè)試的控制方法和過(guò)程,系統(tǒng)的配置方式,跟蹤規(guī)則,調(diào)試規(guī)則,以及回歸測(cè)試的規(guī)定等等以及評(píng)價(jià)標(biāo)準(zhǔn)。
\ 7、應(yīng)當(dāng)對(duì)每一個(gè)測(cè)試結(jié)果做全面的檢查。
\ 8、妥善保存測(cè)試計(jì)劃,測(cè)試用例,出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。
\ 軟件測(cè)試的對(duì)象:\ 軟件測(cè)試并不單純等同于程序測(cè)試。
軟件測(cè)試應(yīng)該貫穿整個(gè)軟件定義與開(kāi)發(fā)整個(gè)期間。
因此需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)以及程序編碼等各階段所得到的文檔,包括需求規(guī)格說(shuō)明、概要設(shè)計(jì)規(guī)格說(shuō)明、詳細(xì)設(shè)計(jì)規(guī)格說(shuō)明以及源程序,都應(yīng)該是軟件測(cè)試(評(píng)審)的對(duì)象。
\ 在對(duì)需求理解與表達(dá)的正確性、設(shè)計(jì)與表達(dá)的正確性、實(shí)現(xiàn)的正確性以及運(yùn)行的正確性的驗(yàn)證中,任何一個(gè)環(huán)節(jié)發(fā)生了問(wèn)題都可能在軟件測(cè)試中表現(xiàn)出來(lái) 希望對(duì)你有用
軟件測(cè)試要遵循哪些原則
這個(gè)問(wèn)題的回答,其關(guān)鍵在于“異同點(diǎn)”。
從專(zhuān)業(yè)的角度,不應(yīng)該有這個(gè)“異同點(diǎn)”問(wèn)題。
因?yàn)檐浖y(cè)試是軟件開(kāi)發(fā)過(guò)程的組成部分。
按傳統(tǒng)軟件生命周期模型,軟件開(kāi)發(fā)過(guò)程包括需求分析,設(shè)計(jì),編碼,測(cè)試,交付,驗(yàn)收,運(yùn)行維護(hù)等幾個(gè)階段,測(cè)試是其中的一個(gè)階段。
測(cè)試本身又可分成單元測(cè)試,集成測(cè)試,系統(tǒng)測(cè)試,驗(yàn)收測(cè)試等階段。
各測(cè)試階段的任務(wù)也是不同的。
從這個(gè)角度講,測(cè)試是軟件開(kāi)發(fā)過(guò)程的組成部分,測(cè)試是局部,軟件開(kāi)發(fā)過(guò)程是整體,局部怎么能和整體來(lái)比較異同點(diǎn)呢
軟件歷史的早期階段,曾經(jīng)認(rèn)為編碼完成即開(kāi)發(fā)完成,實(shí)踐證明是錯(cuò)誤的。
因?yàn)楹罄m(xù)的各個(gè)階段都會(huì)發(fā)現(xiàn)問(wèn)題,都可能反過(guò)來(lái)修改編碼,甚至修改設(shè)計(jì)和需求。
所以,開(kāi)發(fā)過(guò)程貫穿于整個(gè)軟件生命周期。
按照測(cè)試驅(qū)動(dòng)的軟件開(kāi)發(fā)模式,測(cè)試在需求階段就應(yīng)該介入,先寫(xiě)測(cè)試,根據(jù)測(cè)試來(lái)做設(shè)計(jì)和編碼,測(cè)試更是貫穿于軟件開(kāi)發(fā)過(guò)程的全部階段。
但是,從人員分工的角度,軟件設(shè)計(jì)人員和軟件測(cè)試人員的任務(wù)確實(shí)是有異同的。
其相同點(diǎn)是兩類(lèi)人員都必須準(zhǔn)確的、深刻的理解需求。
其不同點(diǎn)在于,設(shè)計(jì)人員關(guān)注的是如何充分的利用現(xiàn)有的技術(shù),如何在技術(shù)上實(shí)現(xiàn)需求,即技術(shù)解決方案。
測(cè)試人員關(guān)注的重點(diǎn)是是否正確地實(shí)現(xiàn)了需求,怎樣驗(yàn)證已經(jīng)正確地實(shí)現(xiàn)了需求,怎樣驗(yàn)證需求實(shí)現(xiàn)的穩(wěn)定性,可靠性,即測(cè)試解決方案。
所以,異同點(diǎn),可以從人員分工的角度來(lái)比較。
但不能從過(guò)程的角度來(lái)比較。
因?yàn)閺倪^(guò)程角度,是局部相對(duì)于整體的比較。