一、模型概覽
開放源碼軟件測試模型以“滿意測試”為基本原則,強(qiáng)調(diào)迭代發(fā)展。
· “滿意測試”基本定義
是一個過程,通過該過程可以合理的成本獲取足夠的產(chǎn)品質(zhì)量評價信息,從而使得與產(chǎn)品有關(guān)的決策更為明智和及時。
· 模型基本需求
以下給出開源軟件測試模型應(yīng)滿足的一些基本要求,將在實(shí)踐中不斷豐富和完善:
1. 應(yīng)充分考慮開放源碼的早發(fā)布和常發(fā)布特點(diǎn),對每一次代碼的提交、滯后、變更能夠作出適當(dāng)反應(yīng),允許對仍處于開發(fā)、尚未集成的元素進(jìn)行及時測試;
2. 明確鼓勵測試人員在進(jìn)行測試設(shè)計(jì)時充分利用各種信息源,而不于項(xiàng)目文檔;
3. 允許測試工作由于較差的或滯后的項(xiàng)目文檔而受負(fù)面影響,但應(yīng)防止完全阻塞測試工作的情況發(fā)生;
4. 允許每個測試案例可以利用不同的信息源進(jìn)行設(shè)計(jì),允許在獲得新的信息源時對測試進(jìn)行重新設(shè)計(jì);
5. 應(yīng)包含反饋機(jī)制,使得測試執(zhí)行過程中的發(fā)現(xiàn)可被及時考慮到測試設(shè)計(jì)中;
· 開放源碼軟件測試模型框架
以上述需求為基礎(chǔ)并結(jié)合開放源碼特點(diǎn),給出開放源碼軟件測試模型。該模型是一個軟件測試啟發(fā)式模型,基本目標(biāo)是用于提醒測試人員在創(chuàng)建測試時應(yīng)著重考慮的各種因素,進(jìn)而可被用來定制測試。
1. 協(xié)商并理解項(xiàng)目的測試目標(biāo);
2. 理解并協(xié)商與測試技術(shù)選擇相關(guān)的各種因素,理解與測試工作有關(guān)的限制、要求和可用資源,從而使得測試更為高效;
3. 在充分考慮和利用其他各種因素的前提下選擇合適的測試技術(shù)以達(dá)到測試目標(biāo);
4. 隨時監(jiān)控項(xiàng)目項(xiàng)目的狀態(tài),并在需要時調(diào)整測試計(jì)劃,以使得目標(biāo)、測試技術(shù)的選擇和各種因素保持統(tǒng)一。
測試目標(biāo) 明確項(xiàng)目測試應(yīng)優(yōu)先考慮的任務(wù)和側(cè)重點(diǎn)。
測試環(huán)境 包括資源、限制和其他可能影響測試執(zhí)行效果的外部力量,應(yīng)確保在限制范圍內(nèi)充分利用了各種可用資源。
產(chǎn)品元素 指被測試的對象,應(yīng)確保檢查了產(chǎn)品所有方面,包括軟件、硬件和操作。
質(zhì)量準(zhǔn)則 包括各種可用來確定產(chǎn)品是否存在問題的規(guī)則和數(shù)值,具有多維特點(diǎn),并且常常是隱含的或相互矛盾的。
測試技術(shù)選擇 給出各種創(chuàng)建測試的策略和方法,在對測試目標(biāo)、測試環(huán)境、產(chǎn)品元素和質(zhì)量準(zhǔn)則進(jìn)行綜合分析的情況選擇和使用,并根據(jù)測試執(zhí)行情況及時調(diào)整。
二、測試目標(biāo)
· 發(fā)現(xiàn)重要問題 · 評估質(zhì)量 / 風(fēng)險
· 標(biāo)準(zhǔn)符合性認(rèn)證 · 完成過程委托監(jiān)理
· 讓受益人滿意 · 責(zé)任擔(dān)保
· 針對 QA 的改進(jìn)建議 · 針對測試的改進(jìn)建議
· 針對質(zhì)量的改進(jìn)建議 · 效率大化
· 成本小化 · 時間小化
三、測試環(huán)境
有許多因素對于項(xiàng)目測試工作能否成功完成具有重要影響,在此將這些因素統(tǒng)稱為測試環(huán)境。下面給出一些通用的信息類別,考慮其中各個因素對于測試工作是起促進(jìn)作用還是阻礙作用,大限度利用各種可用資源,同時將各種阻礙因素的影響小化。
3.1 受益人
指任何對于產(chǎn)品質(zhì)量能夠發(fā)表意見以施加影響的人。所有的需求都直接或間接地來源于一個或多個受益人,軟件測試人員在整個測試過程中作為受益人的代理。
3.2 測試信息
指測試工作所需要的與產(chǎn)品或項(xiàng)目有關(guān)的信息。
· 進(jìn)度
測試: 何時 開始測試以及要持續(xù)多長時間?
開發(fā) : 何時構(gòu)建可以被測試、何時增加新功能、何時凍結(jié)代碼,等等?
文檔 : 何時用戶文檔可被評審?
· 預(yù)算
需要購買或開發(fā)的測試資源和材料的費(fèi)用如何?
· 過程
項(xiàng)目管理: 項(xiàng)目采用的生命周期模型、項(xiàng)目計(jì)劃和監(jiān)控手段如何。
配置管理: 項(xiàng)目配置管理方法和實(shí)施如何?
· 測試條目
可用性: 能否獲得被測產(chǎn)品?能否從開發(fā)人員或其他人員那里獲得測試所需信息?
易變性: 獲取的 信息是否新?如何獲得有關(guān)新信息或信息變更方面的通知?產(chǎn)品設(shè)計(jì)和實(shí)現(xiàn)經(jīng)常變更嗎?
可測試性: 產(chǎn)品是否足夠可靠以便于進(jìn)行有效測試?
交付性: 需要生成何種的報告,是否要共享中間測試結(jié)果還是僅提交終結(jié)果?
3.3 測試團(tuán)隊(duì)
指任何將要執(zhí)行或支持測試的人員。
· 工作負(fù)載
是否有足夠人力按來照期望時間完成所有計(jì)劃好的測試工作?
· 專家能力
是否擁有與項(xiàng)目有關(guān)的正確知識以很好地完成計(jì)劃好的測試工作?
· 組織
所有測試工作是否得到有效協(xié)調(diào)并目標(biāo)一致?
3.4 測試工作平臺
指用于支持和管理測試的軟硬件平臺。
· 測試平臺
是否擁有測試執(zhí)行所需的全部設(shè)備和平臺?
· 測試工具
需要那些測試工具?他們是否可用?
· 測試庫
是否測試過程中的任意文檔和結(jié)果均要保存并進(jìn)行跟蹤嗎?
· 錯誤跟蹤系統(tǒng)
如何進(jìn)行錯誤報告和跟蹤?