摘要:隨著軟件規(guī)模的擴(kuò)大,軟件開(kāi)發(fā)要求快速度、低成本和高質(zhì)量,這使得軟件的質(zhì)量保障成為軟件開(kāi)發(fā)的重要環(huán)節(jié)。軟件測(cè)試作為軟件質(zhì)量保障中的主要內(nèi)容,越來(lái)越多的受到關(guān)注。
關(guān)鍵字:軟件測(cè)試目的;自動(dòng)化測(cè)試工具;存在問(wèn)題
背景:
信息技術(shù)的飛速發(fā)展,使軟件產(chǎn)品應(yīng)用到社會(huì)的各個(gè)領(lǐng)域,軟件產(chǎn)品的質(zhì)量自然成為人們共同關(guān)注的焦點(diǎn)。不論軟件的生產(chǎn)者還是軟件的使用者,均生存在競(jìng)爭(zhēng)的環(huán)境中,軟件開(kāi)發(fā)商為了占有市場(chǎng),必須把產(chǎn)品質(zhì)量作為企業(yè)的重要目標(biāo)之一,以免在激烈的競(jìng)爭(zhēng)中被淘汰出局。用戶為了保證自己業(yè)務(wù)的順利完成,當(dāng)然希望選用優(yōu)質(zhì)的軟件。質(zhì)量不佳的軟件產(chǎn)品不僅會(huì)使開(kāi)發(fā)商的維護(hù)費(fèi)用和用戶的使用成本大幅增加,還可能造成災(zāi)難性的后果(如民航訂票系統(tǒng)、銀行結(jié)算系統(tǒng)、證券交易系統(tǒng)、自動(dòng)飛行控制軟件、軍事防御和核電站安全控制系統(tǒng)等)。
為了解決這一問(wèn)題,人們?cè)陂_(kāi)發(fā)過(guò)程中使用了很多方法,力圖通過(guò)嚴(yán)謹(jǐn)?shù)拈_(kāi)發(fā)過(guò)程保證軟件的質(zhì)量。這些努力當(dāng)然是創(chuàng)造高質(zhì)量軟件產(chǎn)品的有效方法。但對(duì)軟件進(jìn)行測(cè)試仍然是保證軟件質(zhì)量最重要和最有效的方法。
軟件測(cè)試的目的,第一是確認(rèn)軟件的質(zhì)量,其一方面是確認(rèn)軟件做了你所期望的事情,另一方面是確認(rèn)軟件以正確的方式來(lái)做了這個(gè)事件。第二是提供信息,比如提供給開(kāi)發(fā)人員或程序經(jīng)理的反饋信息,為風(fēng)險(xiǎn)評(píng)估所準(zhǔn)備的信息。第三軟件測(cè)試不僅是在測(cè)試軟件產(chǎn)品的本身,而且還包括軟件開(kāi)發(fā)的過(guò)程。如果一個(gè)軟件產(chǎn)品開(kāi)發(fā)完成之后發(fā)現(xiàn)了很多問(wèn)題,這說(shuō)明此軟件開(kāi)發(fā)過(guò)程很可能是有缺陷的。因此軟件測(cè)試的第三個(gè)目的是保證整個(gè)軟件開(kāi)發(fā)過(guò)程是高質(zhì)量的。
進(jìn)入上世紀(jì)90年代,軟件行業(yè)開(kāi)始迅猛發(fā)展,軟件的規(guī)模變的非常大,在一些大型軟件開(kāi)發(fā)過(guò)程中,測(cè)試活動(dòng)需要花費(fèi)大量的時(shí)間和成本,而當(dāng)時(shí)測(cè)試的手段幾乎完全都是手工測(cè)試,測(cè)試的效率非常低;并且隨著軟件復(fù)雜度的提高,出現(xiàn)了很多通過(guò)手工方式無(wú)法完成測(cè)試的情況,于是,很多測(cè)試實(shí)踐者開(kāi)始嘗試開(kāi)發(fā)商業(yè)的測(cè)試工具來(lái)支持測(cè)試,輔助測(cè)試人員完成某一類型或某一領(lǐng)域內(nèi)的測(cè)試工作,而測(cè)試工具也逐漸盛行起來(lái)。通過(guò)運(yùn)用測(cè)試工具,可以達(dá)到提高測(cè)試效率的目的。測(cè)試工具的發(fā)展,大大提高了軟件測(cè)試的自動(dòng)化程度,讓測(cè)試人員從繁瑣和重復(fù)的測(cè)試活動(dòng)中解脫出來(lái),專心從事有意義的測(cè)試設(shè)計(jì)等活動(dòng)。采用自動(dòng)比較技術(shù),還可以自動(dòng)完成測(cè)試用例執(zhí)行結(jié)果的判斷,從而避免人工比對(duì)存在的疏漏問(wèn)題。設(shè)計(jì)良好的自動(dòng)化測(cè)試,在某些情況下可以實(shí)現(xiàn)“夜間測(cè)試 ” 和 “無(wú)人測(cè)試”。在大多數(shù)情況下,軟件測(cè)試自動(dòng)化可以減少開(kāi)支,增加有限時(shí)間內(nèi)可執(zhí)行的測(cè)試,在執(zhí)行相同數(shù)量測(cè)試時(shí)節(jié)約測(cè)試時(shí)間。 而測(cè)試工具的選擇和推廣也越來(lái)越受到重視。對(duì)測(cè)試工具能夠發(fā)揮的作用,大家都已經(jīng)了解并認(rèn)可了,但是很多引入自動(dòng)化測(cè)試工具的軟件公司并沒(méi)有能夠讓測(cè)試自動(dòng)化發(fā)揮應(yīng)有的作用。主要存在以下問(wèn)題:
1 過(guò)高的期望
沒(méi)有建立一個(gè)正確的軟件測(cè)試自動(dòng)化的觀念,或操之過(guò)急,或認(rèn)為測(cè)試自動(dòng)化可以代替手工測(cè)試,或認(rèn)為測(cè)試自動(dòng)化可以發(fā)現(xiàn)大量新缺陷,或不夠重視而不愿在初期投入比較大的開(kāi)支等。多數(shù)情況下,對(duì)軟件測(cè)試自動(dòng)化存在過(guò)于樂(lè)觀的態(tài)度、過(guò)高的期望,人們都期望通過(guò)這種測(cè)試自動(dòng)化的方案能解決目前遇到的所有問(wèn)題。
2 缺乏專業(yè)的測(cè)試人才
有些軟件公司舍得花幾十萬(wàn)元去買測(cè)試工具軟件,但缺乏具有良好素質(zhì)、經(jīng)驗(yàn)的測(cè)試人才。軟件測(cè)試自動(dòng)化并不是簡(jiǎn)簡(jiǎn)單單地使用測(cè)試工具,還需要有良好的測(cè)試流程、全面的測(cè)試用例等來(lái)配合腳本的編寫,這就要求測(cè)試人員不僅熟悉產(chǎn)品的特性和應(yīng)用領(lǐng)域、熟悉測(cè)試流程,而且很好地掌握測(cè)試技術(shù)和編程技術(shù)。
3 測(cè)試工具本身的問(wèn)題
一般不會(huì)對(duì)自動(dòng)測(cè)試腳本再做大規(guī)模的測(cè)試,所以自動(dòng)測(cè)試腳本的質(zhì)量往往依賴于TA工程師(測(cè)試自動(dòng)化工程師)的經(jīng)驗(yàn)和工作態(tài)度,如果自動(dòng)測(cè)試工具不能提供一種機(jī)制來(lái)保證腳本的質(zhì)量,那將直接影響到測(cè)試結(jié)果的正確性。
4 盲目引入測(cè)試工具
有一點(diǎn)很明確,不同的測(cè)試工具面向不同的測(cè)試目的、具有各自的特點(diǎn)和適用范圍,所以不是任何一個(gè)優(yōu)秀的測(cè)試工具都能適應(yīng)不同公司的需求。
5 沒(méi)有良好的使用測(cè)試工具的環(huán)境
建立良好的測(cè)試工具應(yīng)用環(huán)境,需要測(cè)試流程和管理機(jī)制做相適應(yīng)的變化,也只有這樣,測(cè)試工具才能真正發(fā)揮其作用。
6 其它問(wèn)題
軟件測(cè)試自動(dòng)化所需要的測(cè)試腳本其維護(hù)量很大,而且軟件產(chǎn)品本身代碼的改變也需要遵守一定的規(guī)則,從而保證良好的測(cè)試腳本使用重復(fù)性,也就是說(shuō)測(cè)試自動(dòng)化和軟件產(chǎn)品本身不能分離。其次,提供軟件測(cè)試工具的第三方廠家,對(duì)客戶的應(yīng)用缺乏足夠理解,很難提供強(qiáng)有力的技術(shù)支持和具體問(wèn)題的解決能力。也就是說(shuō),軟件測(cè)試工具和被測(cè)試對(duì)象-軟件產(chǎn)品或系統(tǒng)的互操作性會(huì)存在或多或少問(wèn)題,加之技術(shù)環(huán)境的不斷變化,所有這些對(duì)測(cè)試自動(dòng)化的應(yīng)用推廣和深入,都帶來(lái)很大的影響。