1、測試是做什么的?

如果是專業(yè)的測試人員的話,那軟件測試的工作相當(dāng)復(fù)雜了,首先制定測試計劃是勢在必行的,包括測試的起始結(jié)束時間,在什么時間要有什么進(jìn)度,之后是進(jìn)行各個測試環(huán)節(jié),單元測試??集成測試??系統(tǒng)測試??驗(yàn)收測試。這里邊前兩步是用到白盒測試,后兩步需要的是黑盒測試。

如果是找測試方面的工作的話,那一開始我相信問得不會很深,但是基礎(chǔ)肯定是要知道的,是什么是黑白盒測試,建議測試文檔包含的必須部分等等吧,都是很基礎(chǔ)的。

2、軟件測試類型都有哪些?測試類型的區(qū)別與聯(lián)系?

測試類型有:功能測試,性能測試,界面測試。

功能測試在測試工作中占的比例大,功能測試也叫黑盒測試。是把測試對象看作一個黑盒子。利用黑盒測試法進(jìn)行動態(tài)測試時,需要測試軟件產(chǎn)品的功能,不需測試軟件產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過程。采用黑盒技術(shù)設(shè)計測試用例的方法有:等價類劃分、邊界值分析、錯誤推測、因果圖和綜合策略。

性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負(fù)載條件來對系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測試。負(fù)載測試和壓力測試都屬于性能測試,兩者可以結(jié)合進(jìn)行。通過負(fù)載測試,確定在各種工作負(fù)載下系統(tǒng)的性能,目標(biāo)是測試當(dāng)負(fù)載逐漸增加時,系統(tǒng)各項(xiàng)性能指標(biāo)的變化情況。壓力測試是通過確定一個系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),來獲得系統(tǒng)能提供的大服務(wù)級別的測試。

界面測試,界面是軟件與用戶交互的直接的層,界面的好壞決定用戶對軟件的第一印象。而且設(shè)計良好的界面能夠引導(dǎo)用戶自己完成相應(yīng)的操作,起到向?qū)У淖饔。同時界面如同人的面孔,具有吸引用戶的直接優(yōu)勢。設(shè)計合理的界面能給用戶帶來輕松愉悅的感受和成功的感覺,相反由于界面設(shè)計的失敗,讓用戶有挫敗感,再實(shí)用強(qiáng)大的功能都可能在用戶的畏懼與放棄中付諸東流。

區(qū)別在于,功能測試關(guān)注產(chǎn)品的所有功能上,要考慮到每個細(xì)節(jié)功能,每個可能存在的功能問題。性能測試主要關(guān)注于產(chǎn)品整體的多用戶并發(fā)下的穩(wěn)定性和健壯性。界面測試更關(guān)注于用戶體驗(yàn)上,用戶使用該產(chǎn)品的時候是否易用,是否易懂,是否規(guī)范(快捷鍵之類的),是否美觀(能否吸引用戶的注意力),是否安全(盡量在前臺避免用戶無意輸入無效的數(shù)據(jù),當(dāng)然考慮到體驗(yàn)性,不能太粗魯?shù)膹棾鼍妫孔瞿硞性能測試的時候,首先它可能是個功能點(diǎn),首先要保證它的功能是沒問題的,然后再考慮該功能點(diǎn)的性能測試。

3、請試著比較一下黑盒測試、白盒測試、單元測試、集成測試、系統(tǒng)測試、驗(yàn)收測試的區(qū)別與聯(lián)系?

黑盒測試:已知產(chǎn)品的功能設(shè)計規(guī)格,可以進(jìn)行測試證明每個實(shí)現(xiàn)了的功能是否符合要求。

白盒測試:已知產(chǎn)品的內(nèi)部工作過程,可以通過測試證明每種內(nèi)部操作是否符合設(shè)計規(guī)格要求,所有內(nèi)部成分是否以經(jīng)過檢查。

軟件的黑盒測試意味著測試要在軟件的接口處進(jìn)行。這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內(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ì)致的檢查。這種方法是把測試對象看做一個打開的盒子,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計或選擇測試用例,對程序所有邏輯路徑進(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)被測代碼的一個很小的、很明確的功能是否正確。通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下某個特定函數(shù)的行為。

單元測試是由程序員自己來完成,終受益的也是程序員自己。可以這么說,程序員有責(zé)任編寫功能代碼,同時也有責(zé)任為自己的代碼編寫單元測試。執(zhí)行單元測試,是為了證明這段代碼的行為和我們期望的一致。

集成測試(也叫組裝測試,聯(lián)合測試)是單元測試的邏輯擴(kuò)展。它的簡單的形式是:兩個已經(jīng)測試過的單元組合成一個組件,并且測試它們之間的接口。從這一層意義上講,組件是指多個單元的集成聚合。在現(xiàn)實(shí)方案中,許多單元組合成組件,而這些組件又聚合成程序的更大部分。方法是測試片段的組合,并終擴(kuò)展進(jìn)程,將您的模塊與其他組的模塊一起測試。后,將構(gòu)成進(jìn)程的所有模塊一起測試。

系統(tǒng)測試是將經(jīng)過測試的子系統(tǒng)裝配成一個完整系統(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è)計。

驗(yàn)收測試是部署軟件之前的后一個測試操作。驗(yàn)收測試的目的是確保軟件準(zhǔn)備緒,并且可以讓終用戶將其用于執(zhí)行軟件的既定功能和任務(wù)。

驗(yàn)收測試是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測試后,已經(jīng)按照設(shè)計把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經(jīng)基本排除了,接著應(yīng)該進(jìn)一步驗(yàn)證軟件的有效性,這是驗(yàn)收測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。

4、做好測試用例設(shè)計工作的關(guān)鍵是什么?

白盒測試用例設(shè)計的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果;

黑盒法用例設(shè)計的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試,以少的用例在合理的時間內(nèi)發(fā)現(xiàn)多的問題。

5、測試計劃工作的目的是什么?測試計劃工作的內(nèi)容都包括什么?其中哪些是重要的?

軟件測試計劃是指導(dǎo)測試過程的綱領(lǐng)性文件,包含了產(chǎn)品概述、測試策略、測試方法、測試區(qū)域、測試配置、測試周期、測試資源、測試交流、風(fēng)險分析等內(nèi)容。借助軟件測試計劃,參與測試的項(xiàng)目成員,尤其是測試管理人員,可以明確測試任務(wù)和測試方法,保持測試實(shí)施過程的順暢溝通,跟蹤和控制測試進(jìn)度,應(yīng)對測試過程中的各種變更。

測試計劃和測試詳細(xì)規(guī)格、測試用例之間是戰(zhàn)略和戰(zhàn)術(shù)的關(guān)系,測試計劃主要從宏觀上規(guī)劃測試活動的范圍、方法和資源配置,而測試詳細(xì)規(guī)格、測試用例是完成測試任務(wù)的具體戰(zhàn)術(shù)。所以其中重要的是測試測試策略和測試方法(好是能先評審)。

    6、做好測試計劃工作的關(guān)鍵是什么?

1)明確測試的目標(biāo),增強(qiáng)測試計劃的實(shí)用性

編寫軟件測試計劃得重要目的是使測試過程能夠發(fā)現(xiàn)更多的軟件缺陷,因此軟件測試計劃的價值取決于它對幫助管理測試項(xiàng)目,并且找出軟件潛在的缺陷。因此,軟件測試計劃中的測試范圍必須高度覆蓋功能需求,測試方法必須切實(shí)可行,測試工具并且具有較高的實(shí)用性,便于使用,生成的測試結(jié)果直觀、準(zhǔn)確。

2)堅持“5W”規(guī)則,明確內(nèi)容與過程

“5W”規(guī)則指的是“What(做什么)”、“Why(為什么做)”、“When(何時做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”規(guī)則創(chuàng)建軟件測試計劃,可以幫助測試團(tuán)隊(duì)理解測試的目的(Why),明確測試的范圍和內(nèi)容(What),確定測試的開始和結(jié)束日期(When),指出測試的方法和工具(How),給出測試文檔和軟件的存放位置(Where)。

3)采用評審和更新機(jī)制,保證測試計劃滿足實(shí)際需求

測試計劃寫作完成后,如果沒有經(jīng)過評審,直接發(fā)送給測試團(tuán)隊(duì),測試計劃內(nèi)容的可能不準(zhǔn)確或遺漏測試內(nèi)容,或者軟件需求變更引起測試范圍的增減,而測試計劃的內(nèi)容沒有及時更新,誤導(dǎo)測試執(zhí)行人員。

4)分別創(chuàng)建測試計劃與測試詳細(xì)規(guī)格、測試用例

應(yīng)把詳細(xì)的測試技術(shù)指標(biāo)包含到獨(dú)立創(chuàng)建的測試詳細(xì)規(guī)格文檔,把用于指導(dǎo)測試小組執(zhí)行測試過程的測試用例放到獨(dú)立創(chuàng)建的測試用例文檔或測試用例管理數(shù)據(jù)庫中。測試計劃和測試詳細(xì)規(guī)格、測試用例之間是戰(zhàn)略和戰(zhàn)術(shù)的關(guān)系,測試計劃主要從宏觀上規(guī)劃測試活動的范圍、方法和資源配置,而測試詳細(xì)規(guī)格、測試用例是完成測試任務(wù)的具體戰(zhàn)