軟件測試的必要性已經(jīng)完全為業(yè)內決策人士所接收。這是因為軟件工業(yè)已經(jīng)發(fā)展到了與其他主要工業(yè)相當的規模。經(jīng)過(guò)十幾年的發(fā)展,少數天才們手工作坊的世界已經(jīng)轉化為大工業(yè)生產(chǎn)的天下。由于JAVA的流行,我們更看到了組裝生產(chǎn)線(xiàn)的模式。
在工業(yè)生產(chǎn)的傳統行業(yè)里,測試是生產(chǎn)的有機組成環(huán)節,各道工序的測試、組裝測試、出廠(chǎng)測試及致破壞性試驗是生產(chǎn)目的實(shí)現的重要保證。
軟件測試和硬件測試在實(shí)現上沒(méi)有真正意義上的區別,在虛擬空間上的實(shí)現也不是軟件測試獨有的特征。
軟件測試過(guò)程的主要部分在于模擬用戶(hù)對軟件產(chǎn)品的使用過(guò)程:
1、模擬最終用戶(hù)通過(guò)WEB、GUI對軟件的使用。(具體軟件會(huì )有很多功能。另外測試還要模擬用戶(hù)的誤操作,好的軟件系統應該能夠應付誤操作。)
2、模擬用戶(hù)方操作系統,數據庫、網(wǎng)絡(luò )管理專(zhuān)家對軟件進(jìn)行安裝、設置、移植(Installation, Configuration and Migration)。
3、模擬用戶(hù)方軟件程序員應用編程界面調用各種功能。(目前相當多的出廠(chǎng)軟件產(chǎn)品不是可執行程序,而是API。)
4、模擬用戶(hù)對軟件使用說(shuō)明的使用。
軟件測試的另一個(gè)方面是針對用戶(hù)在正常使用軟件可能遇到的麻煩進(jìn)行測試、分析(High Avaiablility Test、Performance Test)。
貫穿始終的測試活動(dòng)則包括軟件設計文檔評估、測試規劃、測試結果報告。
軟件測試是軟件質(zhì)量控制(QC,QA)的具體實(shí)現環(huán)節。把軟件測試有效地組織進(jìn)軟件的生產(chǎn)流程,是軟件質(zhì)量控制規劃的主要內容。
質(zhì)量控制是控制的一種;符合控制系統的一般規律。多重小閉環(huán)反饋控制是一種控制精度高并且對控制系統各模塊品質(zhì)要求低的一種控制方案。這種控制模式應用到軟件生產(chǎn)上,就形成了對軟件生產(chǎn)的分階段測試。它最大限度的減少了開(kāi)發(fā)者個(gè)人因素對軟件生產(chǎn)的影響。這正是以北美為基地的大多數主要成規模軟件生產(chǎn)商所引用的RUP (Rational Unified Process)。
目前市場(chǎng)上流行大量的測試軟件,較為有效的主要應用在Unit Test, Intergration Test, Regression Test 和 Performance Test 等幾個(gè)方面。
在Unit Test and Intergration Test 方面, 在網(wǎng)絡(luò )上有免費的“軟件測試工具包”可以幫助測試人員結構測試框架, 用于測試JAVA API。使用者要求具備WebLogic,Websphere, TomCat或其它WEB 服務(wù)器平臺軟件的知識。
在Regression Test 方面, 市場(chǎng)上有眾多的capture-playback 類(lèi)型的測試軟件如Win Runner, Rational Robot, Rational JRobot, etc. 這類(lèi)工具易學(xué)易用。要想使用這類(lèi)工具實(shí)現測試目的,使用者依然需要對被測軟件本身有深入的了解。
在 Performance Test 方面, 市場(chǎng)上有模擬多用戶(hù)類(lèi)形的測試工具如LoadRunner,Side Tester。還有分析memery leak形的JProbe。 在網(wǎng)絡(luò )上也有免費的“軟件測試工具包”可以幫助測試人員結構測試框架,但主要是針對以Java實(shí)現的應用軟件。
二、北美軟件測試的用人市場(chǎng)現狀:
軟件的大工業(yè)生產(chǎn)決定了軟件測試是生產(chǎn)的必不可少的環(huán)節。對於人員配置,一直以來(lái)流行一種五比一的標準說(shuō)法。 從公司內部看任何時(shí)候都是遠高于這一比例。從近一個(gè)時(shí)期看,開(kāi)發(fā)與測試工作量的比重甚至達到了二比一。同類(lèi)型成熟產(chǎn)品之間的競爭最容易取勝的方法是提高質(zhì)量。
軟件的大工業(yè)化并不是在消滅個(gè)體戶(hù)和小作坊,只是減少了他們直接與最終用戶(hù)打交道的機會(huì )和必要。如今他們生產(chǎn)和包裝軟件的目的在於等待大公司的收購。為此,在最后階段需要進(jìn)行“最終用戶(hù)測試”。
三、軟件測試對從業(yè)人員的技術(shù)要求
相對于其他軟件工程人員, 軟件測試工程師的知識面應該非常寬廣,但最重要的品質(zhì)應該是能夠在第一時(shí)間內接受新技術(shù)。
原文轉自:http://kjueaiud.com