1.什么使軟件測試
使用人工和自動手段來運(yùn)行或測試某個(gè)系統(tǒng)的過程素标, 其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別
2.為什么做軟件測試
一個(gè)糟糕的測試程序可能導(dǎo)致任務(wù)的失敗麻削,影響操作的性能和可靠性妆档,導(dǎo)致維護(hù)階段的成本提高僻爽。
一個(gè)好的測試程序是項(xiàng)目的主要成本。
一個(gè)好的測試程序可以極大地幫助你定義需求和設(shè)計(jì)贾惦。
一個(gè)好的測試可以迫使你在工作時(shí)必須面對和處理問題胸梆,使得修改缺陷成本降低。
一個(gè)好的測試不能彌補(bǔ)一個(gè)糟糕的軟件項(xiàng)目须板,但是的確有助于發(fā)現(xiàn)許多問題碰镜。
? 并且至少使得你盡早知道你處在問題當(dāng)中。
3.軟件測試的目的
發(fā)現(xiàn)被測對象與用戶需求之間的差異习瑰,即缺陷洋措。
通過測試活動發(fā)現(xiàn)并解決缺陷,增加人們對軟件質(zhì)量的信心杰刽。
通過測試活動了解被測對象的質(zhì)量狀況菠发,為決策提供數(shù)據(jù)依據(jù)。
通過測試活動積累經(jīng)驗(yàn)贺嫂,預(yù)防缺陷出現(xiàn)滓鸠,降低產(chǎn)品失敗風(fēng)險(xiǎn)。
4.軟件測試的原理
①測試證明軟件存在缺陷
????????無論何種測試活動第喳,其目的都是為了證明軟件存在缺陷糜俗,無法證明軟件不存在缺陷。通過測試活動可以減少軟件中存在未被發(fā)現(xiàn)缺陷的可能性,降低漏測風(fēng)險(xiǎn)悠抹,但即使通過測試未能發(fā)現(xiàn)任何缺陷珠月,亦不能證明被測對象不存在缺陷。在實(shí)際工作中楔敌,開發(fā)人員在測試工程師不能發(fā)現(xiàn)缺陷后啤挎,經(jīng)常會說被測對象已經(jīng)沒有任何問題了,這種觀點(diǎn)是極其錯(cuò)誤的卵凑。
②不可能執(zhí)行窮盡測試
? ? ? ? 軟件是運(yùn)行在硬件基礎(chǔ)上的邏輯實(shí)體庆聘,在復(fù)雜多變的環(huán)境中,任何運(yùn)行環(huán)境發(fā)生變化都可能導(dǎo)致缺陷的產(chǎn)生勺卢,除了小型系統(tǒng)伙判,利用窮舉法進(jìn)行測試是不可能的。通過風(fēng)險(xiǎn)分析黑忱、被測對象測試點(diǎn)優(yōu)先級分析宴抚、軟件質(zhì)量模型及不同測試方法的運(yùn)用來確定測試關(guān)注點(diǎn),從而替代窮盡測試甫煞,提高測試覆蓋率酱塔。
③測試應(yīng)盡早啟動、盡早介入
? ??????防患于未然危虱,缺陷越早發(fā)現(xiàn),修復(fù)的成本越低唐全。為了盡早發(fā)現(xiàn)缺陷埃跷,在軟件系統(tǒng)生產(chǎn)生命周期中,測試(評審)活動應(yīng)盡早介入邮利。通常情況下從項(xiàng)目立項(xiàng)開始弥雹,每個(gè)階段都進(jìn)行評審活動。
④缺陷存在群集現(xiàn)象
????????一個(gè)軟件系統(tǒng)的重要功能往往占系統(tǒng)的20%左右延届,但這20%功能的復(fù)雜度可能是系統(tǒng)的80%左右(二八原理)剪勿,出錯(cuò)的概率大大增加。測試過程中人力方庭、時(shí)間厕吉、資源分配比例應(yīng)根據(jù)系統(tǒng)業(yè)務(wù)功能的優(yōu)先級匹配,并在測試活動結(jié)束后试幽,根據(jù)缺陷分布情況進(jìn)行調(diào)整升熊。通常情況下帝嗡,少數(shù)模塊可能包含大部分在測試過程中發(fā)現(xiàn)的缺陷。在實(shí)際測試過程中项钮,不可能均分測試資源,需考慮測試投入及風(fēng)險(xiǎn)控制,可使用基于風(fēng)險(xiǎn)或操作剖面的測試策略重點(diǎn)測試烁巫。
⑤殺蟲劑悖論
? ??????害蟲經(jīng)過幾輪藥物毒殺后署隘,其后代將產(chǎn)生抗體,殺蟲劑不再有效亚隙。同樣的道理磁餐,測試用例經(jīng)過多次迭代測試后,將不能再發(fā)現(xiàn)缺陷恃鞋。為了解決“殺蟲劑悖論”崖媚,測試用例需定期評審、及時(shí)調(diào)整恤浪,可根據(jù)軟件質(zhì)量特性結(jié)合被測對象的業(yè)務(wù)場景畅哑,設(shè)計(jì)新的測試用例來測試,從而發(fā)現(xiàn)更多潛在的缺陷水由。
⑥不同的測試活動依賴于不同的測試背景
????????不同的測試背景荠呐、測試目標(biāo),需開展不同的測試活動砂客。例如泥张,電子商務(wù)業(yè)務(wù)系統(tǒng)與金融證券產(chǎn)品的測試方法可能不一樣,安全性測試與兼容測試性測試方法不一樣鞠值。針對不同的測試背景媚创,采用恰當(dāng)高效的測試活動,是實(shí)施有效測試活動的一個(gè)重要環(huán)節(jié)彤恶。
⑦不存在缺陷的謬論
????????當(dāng)被測對象無法滿足用戶需求時(shí)钞钙,即使該系統(tǒng)無任何缺陷,也不能稱為高質(zhì)量的軟件声离。不能滿足用戶期望的系統(tǒng)即是無用系統(tǒng)芒炼。系統(tǒng)無用時(shí),發(fā)現(xiàn)與修改缺陷是毫無意義的术徊。實(shí)施測試活動時(shí)本刽,一定要考慮用戶背景。一部時(shí)尚酷炫的手機(jī)操作對于老年人而言可能顯得費(fèi)解赠涮,即使功能無任何問題子寓,但解決不了老年人的易學(xué)易用性問題。