軟件測(cè)試的兩種方法
答:黑盒測(cè)試和白盒測(cè)試
黑盒:這種方法是把測(cè)試對(duì)象看做一個(gè)黑盒子,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性漠秋,只依據(jù)程序的需求規(guī)格說(shuō)明書(shū),檢查程序的功能是否符合它的功能說(shuō)明。
黑盒測(cè)試又叫做功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試百宇。
白盒:此方法把測(cè)試對(duì)象看做一個(gè)透明的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息秘豹,設(shè)計(jì)或選擇測(cè)試用例携御,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試。
通過(guò)在不同點(diǎn)檢查程序的狀態(tài)既绕,確定實(shí)際的狀態(tài)是否與預(yù)期的狀態(tài)一致因痛。因此白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。
軟件測(cè)試按過(guò)程分為三個(gè)步驟
答:?jiǎn)卧獪y(cè)試:?jiǎn)卧獪y(cè)試又稱模塊測(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è)試。
集成測(cè)試:在運(yùn)行(可能是不完整)的應(yīng)用中保證軟件單元被結(jié)合后能正常操作的測(cè)試執(zhí)行的階段
系統(tǒng)測(cè)試:當(dāng)應(yīng)用作為整體運(yùn)行時(shí)的測(cè)試執(zhí)行階段
軟件測(cè)試的步驟是什么评肆?
1) 測(cè)試過(guò)程按4個(gè)步驟進(jìn)行债查,即單元測(cè)試(Unit Testing)、集成測(cè)試(Integrated Testing)瓜挽、確認(rèn)測(cè)試(Validation Testing)和系統(tǒng)測(cè)試(System Testing)及發(fā)版測(cè)試盹廷。
2) 開(kāi)始是單元測(cè)試,集中對(duì)用源代碼實(shí)現(xiàn)的每一個(gè)程序單元進(jìn)行測(cè)試久橙,檢查各個(gè)程序模塊是否正確地實(shí)現(xiàn)了規(guī)定的功能俄占。
3) 集成測(cè)試把已測(cè)試過(guò)的模塊組裝起來(lái),主要對(duì)與設(shè)計(jì)相關(guān)的軟件體系結(jié)構(gòu)的構(gòu)造進(jìn)行測(cè)試淆衷。
4) 確認(rèn)測(cè)試則是要檢查已實(shí)現(xiàn)的軟件是否滿足了需求規(guī)格說(shuō)明中確定了的各種需求缸榄,以及軟件配置是否完全、正確祝拯。
應(yīng)該考慮進(jìn)行如何測(cè)試的測(cè)試方法
黑盒測(cè)試 (Black box testing) ── 不考慮內(nèi)部設(shè)計(jì)和代碼甚带,根據(jù)需求和功能進(jìn)行測(cè)試。
白盒測(cè)試 (White box testing) ── 根據(jù)應(yīng)用軟件的代碼的內(nèi)部邏輯,按照代碼的語(yǔ)句鹰贵、分支晴氨、路徑和條件進(jìn)行測(cè)試。
功能測(cè)試(functional testing)——對(duì)一個(gè)應(yīng)用軟件的功能模塊進(jìn)行黑盒測(cè)試碉输。這種測(cè)試應(yīng)當(dāng)由測(cè)試人員進(jìn)行籽前。但這并不意味著程序員在推出軟件之前不進(jìn)行代碼檢查。(這一原則適用于所有的測(cè)試階段腊瑟。)
系統(tǒng)測(cè)試 ── 針對(duì)全部需求說(shuō)明進(jìn)行黑盒測(cè)試聚假,包括系統(tǒng)中所有的部件。
回歸測(cè)試 (regression testing) ── 每當(dāng)軟件經(jīng)過(guò)了整理闰非、修改膘格、或者其環(huán)境發(fā)生變化,都重復(fù)進(jìn)行測(cè)試财松。很難說(shuō)需要進(jìn)行多少次回歸測(cè)試瘪贱,特別是是到了開(kāi)發(fā)周期的最后階段。進(jìn)行此種測(cè)試辆毡,特別適于使用自動(dòng)測(cè)試工具菜秦。
負(fù)荷試驗(yàn) (load testing) ── 在大負(fù)荷條件下對(duì)應(yīng)用軟件進(jìn)行測(cè)試。例如測(cè)試一個(gè)網(wǎng)站在不同負(fù)荷情況下的狀況舶掖,以確定在什么情況下系統(tǒng)響應(yīng)速度下降或是出現(xiàn)故障球昨。
壓力測(cè)試 (stress testing) ── 經(jīng)常可以與“負(fù)荷測(cè)試”或“性能測(cè)試”相互代替眨攘。這種測(cè)試是用來(lái)檢查系統(tǒng)在下列條件下的情況:在非正常的巨大負(fù)荷下主慰、某些動(dòng)作和輸入大量重復(fù)、輸入大數(shù)鲫售、對(duì)數(shù)據(jù)庫(kù)進(jìn)行非常復(fù)雜的查詢共螺,等等。
性能測(cè)試 (performance testing) ── 經(jīng)城橹瘢可以與“壓力測(cè)試”或“負(fù)荷測(cè)試”相互代替藐不。理想的“性能測(cè)試”(也包括其他任何類型的測(cè)試) 都應(yīng)在質(zhì)量保障和測(cè)試計(jì)劃的文檔終予以規(guī)定。
可用性測(cè)試 (usability testing) ── 是專為“對(duì)用戶友好”的特性進(jìn)行測(cè)試秦效。這是一種主觀的感覺(jué)雏蛮,取決于最終用戶或顧客∶薨玻可以進(jìn)行用戶會(huì)見(jiàn)底扳、檢查、對(duì)用戶會(huì)議錄像贡耽、或者使用其他技術(shù)。程序員和測(cè)試人員通常不參加可用性測(cè)試。
安裝/卸載測(cè)試 (install/uninstall testing) ── 對(duì)安裝/卸載進(jìn)行測(cè)試 (包括全部蒲赂、部分阱冶、升級(jí)操作)。
安全測(cè)試 (security testing) ── 測(cè)試系統(tǒng)在應(yīng)付非授權(quán)的內(nèi)部/外部訪問(wèn)滥嘴、故意的損壞時(shí)的防護(hù)情況木蹬。這需要精密復(fù)雜的測(cè)試技術(shù)。
兼容性測(cè)試 (compatability testing) ── 測(cè)試在特殊的硬件/軟件/操作系統(tǒng)/網(wǎng)絡(luò)環(huán)境下的軟件表現(xiàn)若皱。
α 測(cè)試 (alpha testing) ── 在開(kāi)發(fā)一個(gè)應(yīng)用軟件即將完成時(shí)所進(jìn)行的測(cè)試镊叁。此時(shí)還允許有較小的設(shè)計(jì)修改。通常由最終用戶或其他人進(jìn)行這種測(cè)試走触,而不是由程序員和測(cè)試人員來(lái)進(jìn)行晦譬。
β 測(cè)試 (beta testing) ── 當(dāng)開(kāi)發(fā)和測(cè)試已基本完成,需要在正式發(fā)行之前最后尋找毛病而進(jìn)行的測(cè)試互广。通常由最終用戶或其他人進(jìn)行這種測(cè)試敛腌,而不是由程序員和測(cè)試人員來(lái)進(jìn)行。