[转]软件测试
轉]軟件測試
現狀篇
這兩年來國內軟件測試人員的需求不斷增大,越來越多的IT企業認識到了軟件測試的重要性,這種可喜的現狀與發展趨勢讓筆者對我國軟件業的發展重新抱有較大的希望,盡管這是一門嶄新的學科,目前在國內的發展仍處于“嬰兒”階段,但看到越來越多的軟件公司為軟件測試招兵買馬,看到越來越多的技術人員投入到軟件測試中,我就情不自禁地感嘆:機會來了!這機會不僅僅是某一個人的,而是所有人的,它對每個人都是公平的,學的領域需要新的理論新的工具新的方法,由于國內的軟件測試還處在一個比較初級的階段,沒有人確切地知道它需要什么樣的基礎,也沒有人確切地知道它應該怎樣發展,因此這個領域需要大家來共同革命,以促進它的深入發展。
前些年我曾在一家民營軟件企業混飯吃,我們技術部十幾個開發人員,整個公司竟然沒有一個測試人員,軟件測試的工作胡亂地交給市場部的銷售員們去瞎折騰,盡管偶爾也能找出幾個低級BUG,但整個過程是可笑的混亂的,公司的老板是個超惡心的人,通常,國內公司認為測試不重要,重要的是開發人員,開發人員的工資比測試人員高出很多。但此老板例外,他連開發人員都覺得不重要,狂扁我們是工人階級,至于軟件測試他壓根兒從來沒有這種概念,就是這樣一個公司,就是這樣漏洞百出的軟件產品,竟然也能每年幾千萬地賣出,令我等百思不得其解,整整痛苦了幾個月,才悟出這個市場的混亂不堪以及人情關系的重要性,在那些沒有測試人的日子里,我們開發人員過得異常地郁悶,每天都緊張兮兮的,BUG不斷地從客戶那里反饋,我們不斷地加班加點,最夸張的時候一個月內竟然給同一個客戶提交了十幾個版本的產品,想起這些都覺得無地自容。
也許就在幾年前,國內象這樣的IT公司多如牛毛,象我這種身受其害的程序員也多如牛毛,歷史是尷尬的,隨著市場經濟與改革開發的不斷深入,這種公司要么改變觀念解放思想,要么去死,事實上我原來所在的那家公司現在舉步為艱不再春風得意,技術人員的流失率極高,能呆上一年的就算是老員工了,象我這樣能呆上兩年的,不小心就成了一些員工的偶像,我的忍辱負重逆來順受得到了一定程度的提高。
微軟公司是軟件行業的老大,他們對軟件測試的重視程度是許多同行無法比擬的。在微軟內部,軟件測試人員與軟件開發人員的比率一般為1.5--2.5左右,微軟軟件開發的實踐過程已經證明了這種人員結構的合理性與正確性。但國內公司顯然很難達到這種比率,沒關系我們剛剛起步,人多人少不是問題所在,關鍵在于觀念與態度,國內軟件業和國外相比,最大的差異也許就在于產品質量和質量控制。我們并不缺乏聰明好學的程序員,也不缺乏富有創意的設計人員,你沒有看到國際數學奧林匹克的金牌經常是屬于中國人嗎?呵呵,這真讓我們驕傲。但國內很多產品的質量確實很人不敢恭維,我家去年買了個抽油煙機,使用還不到一年,就已經維修過兩次,上個星期它老人家壓根兒就不鬧,后來發現是電機OVER了,MY GOD,真是煩躁透了,干脆換個新的,可不再有勇氣選擇國產的,支持民族產品的口號響了很久了,但我依然找不到信得過的理由,民族產品,您拿什么來讓我感動?有關質量方面,我們有必要虛心地向小日本學習學習,當然還要依賴于政府的力量,連產品的質量掌控體系和標準都是模糊的,產品的質量承諾既沒有相應機構的監督,質量水平也沒有第三方來認證,這些冠冕堂皇的狗屁承諾顯得極其蒼白而無力,單憑我們個人的努力是無法改變面貌的,我們所做的力求問心無愧就OK了。
技術篇
上一篇我羅嗦的是有關軟件測試的現狀,現狀這玩意是可以觀察得到的,哪怕俺從沒親自做過軟件測試,也能看得到它的情況,這是吃豬肉與看豬跑的問題,現在的new new people們也許每天都在吃豬肉,但不一定見過豬跑,我不知這是好事還是壞事,我小時候在吃飯時,總會經常地由米飯想到揮汗如雨的種田農民,于是就特別地珍惜每一粒米飯,將若大個碗舔得能當鏡子來照,現在我變了,經常拿飯碗一邊狼吞虎咽一邊看著電視,電視里或燈紅酒綠鑼鼓喧天載歌載舞或紅男綠女花前月下卿卿我我,似乎大伙都過上了小康。而技術這東東,是瞎扯不來的,不懂不能裝懂,因此我感覺自已沒有資格來對測試技術作什么歸納與總結,我是愛技術的,但我的精力是有限的,所以在近期我無法成為軟件測試高手,以下所述只是我目前水平的一個體現,有貽笑大方之處還望包涵。
我讀了很多軟件公司管理方面的書,象IBM,Microsoft,Sun,SAP等等,驚嘆別人的組織能力與管理能力,而反觀國內,痛苦連綿不絕,研究了一下海爾,還行,可海爾主要生產的是一些毫無情感的家用電器,什么時候張瑞敏能象生產電器一樣來生產軟件的話,那中國軟件產業就大有希望了,國內很多公司在軟件測試管理上隨意、簡單,沒有建立有效、規范的軟件測試管理體系,往往哪里著火就滅哪里,作為消防員的測試人員被弄得疲憊不堪,大把大把的青春好時光被耗費在單調無聊的滅火運動上,而自身的技術與素質并沒有得到提高,這是管理體系帶來的問題,體系無論在軟件開發還是在軟件測試都顯得特別的重要,建立有規劃的,可行的軟件測試管理體系是保證軟件產品質量的關鍵所在,好的管理體系,能使用測試人員事半功倍,提高工作效率,至于如何建立?我想除了參照國際著名軟件公司的做法,另外還需結合公司自已的特點,軟件開發的管理體系,測試人員的技術特點與行為習慣等等。
軟件產品越來越龐大,功能越來越多,也越來越復雜,因而可能出現的問題也就不可避免地越來越多,并且越來越多的問題變得越來越不容易被發現,我一共用了六個“越來越”,暈了,不過沒關系,因為我有文檔,我一數就數出來了,呵呵,文檔的重要性不必多說,我一直敬佩那些能寫出漂亮文檔的同行,看他們的文檔就會進入到美妙的思維世界里,我也一直在努力學習,目前也就“horse horse tiger tiger”了,所以革命尚未成功,阿蒙仍然需努力!通常測試文檔包括:測試計劃,測試規范,測試用例,測試報告,BUG報告等,至于這些文檔的概念,模板等等,網上書里都有詳細描述,我的意圖只是強調文檔的重要性。
測試工具在軟件測試中也起了非常重要的作用,所謂工欲善其事,必先利其器,有了優秀的測試工具,自然能提高測試工作的效率,并對整個測試過程進行有效地管理。筆者主要用過MI公司的產品,所以以下就作個簡單的介紹,希望對你有所幫助:
MI(Mercury Interactive)
MI公司是一家世界領先的企業測試和性能管理解決方案的供應商。MI公司的自動測試軟件和網絡管理在線服務幫助客戶提供和維護高性能的應用系統。MI公司為行業提供一整套綜合自動軟件測試解決方案。
測試管理系統 TestDirector
TD是業界第一個基于Web的測試管理系統,它可以在您公司內部或外部進行全球范圍內測試的管理。通過在一個整體的應用系統中集成了測試管理的各個部分,包括需求管理,測試計劃,測試執行以及錯誤跟蹤等功能,TestDirector極大地加速了測試過程。 筆者的公司或部門一直以來都是用TD來作測試的管理工作,感覺很方便,它能消除部門間、地域間的障礙,能讓測試人員、開發人員或市場人員通過一個中央數據倉庫,在不同地方就能交互測試信息,大大地改善部門間的溝通,加速測試的成功。
自動化測試工具 WinRunner
WinRunner是一種企業級的功能測試工具,用于檢測應用程序是否能夠達到預期的功能及正常運行。通過自動錄制、檢測和回放用戶的應用操作,WinRunner能夠有效地幫助測試人員對復雜的企業級應用的不同發布版進行測試,提高測試人員的工作效率和質量,確保跨平臺的、復雜的企業級應用無故障發布及長期穩定運行。
負載測試工具 LoadRunner
LoadRunner是一種預測系統行為和性能的負載測試工具。通過以模擬上千萬用戶實施并發負載及實時性能監測的方式來確認和查找問題,LoadRunner 能夠對整個企業架構進行測試。通過使用LoadRunner ,企業能最大限度地縮短測試時間,優化性能和加速應用系統的發布周期。它能預測系統行為并優化系統性能。
LoadRunner 的測試對象是整個企業的系統,它通過模擬實際用戶的操作行為和實行實時性能監測,來幫助您更快的查找和發現問題。此外,LoadRunner 能支持廣范的協議和技術,為您的特殊環境提供特殊的解決方案。
以上主要是從測試管理體系,測試文檔以及測試工具三個方面來描述了一下軟件測試,相信還有很多別的方面,但水平有限,也只能如此,我會一直關注這門新學科的發展,并做一些力所能及的CASE!
素質篇
無論做什么事情,要做得更快更好,是要求具備一些素質的,有些素質是天生的,比如性格、偏好等等,而有些素質是后天可以培養的,比如技術、語言、思維、道德等等,人們常說:性格決定命運。這話讓我倍感郁悶,如果真是這樣,我想我們大多程序員還真是苦命一條,遙想漫漫前程,如果有一天寫出來的代碼比萬里長城還長,而我們還在為生活或愛情而忙碌奔波焦頭爛額,那還真是一個不理想的下場,或許我們有必要反思一下我們的性格,看能不能往更好的方向發展,讓我們的技術與思想我們帶來一個更加美好的未來。
還是回到軟件測試。在測試工作中人是最重要也是最有價值的資源(其實在別的工作中也是的,一個優秀的、積極的測試小組是保證軟件質量的關鍵所在,然而在國內我們經常看到一些令人擔憂的現象,很多公司喜歡讓那些經驗最少的新手、效率低下的開發者或不適合干其他工作的人去做測試工作,這是一種目光短淺的行為,這種行為往往會帶來更嚴重的后果,傻瓜都知道產品質量對于一個企業的重要性,就如同我買的那個抽油煙機,我想這輩子再也不會去買那個企業所研發的任何產品了,讓客戶有這種心理是企業很大的失敗,所以筆者認為軟件企業需要端正態度,將軟件產品的質量問題放在第一位,讓中國軟件早日騰飛!
阿蒙研究軟件測試有一些日子了,對測試人員的管理也有一定的經驗,現在就來談一談一個好的測試工程師所應具備的素質。
(1)技術能力
這一點不必多說,作為一名測試工程師,不能僅僅從使用者的角度來測試軟件產品,而且還要從技術的角度來設計測試用例,這里所說的技術包括基礎的與專業的,基礎方面我想應需要學習過以下的課程:軟件技術基礎、C語言、面向對象設計、C++、數據庫理論、計算機網絡技術、軟件工程、數據結構與算法、離散數學等;專業方面應掌握:軟件測試技術概論、測試管理、測試工具、軟件質量管理、CMM、RUP等等。看看,你還缺少什么,趕快學習吧。
(2)具有一定的編程經驗
測試工程師有時候需要對源碼進行檢查,有時候也會從程序結構的角度來測試軟件,有時候需要寫一些自動測試的工具軟件,有時候需要寫測試腳本,顯而易見,會寫簡單代碼,能讀懂源碼對測試人員來說是必須的,而且如果有一定的編程經驗,可以幫助你對軟件開發過程有較深入的理解,從編程人員的角度來正確地評價;但這一點在國內大部分公司里面是很難實現的,因為這意味著測試人員的salary要高于開發人員,很多BOSS會想不通的,而且也沒那么高的覺悟。
(3)溝通能力
測試人員需要與很多人員進行溝通,項目經理、開發人員、客戶、市場人員等都是測試人員經常吵架的對象,而且在面對不同人員,你需要不同的語氣、不同的態度,與客戶要談得來,處處為客戶著想,客戶就是上帝,與上帝說話要和顏悅色,與開發人員交往就需要技巧了,測試人員與開發人員往往是不共戴天的,雙方在心理上經常較勁,因此在說話的語氣或講述一個問題的出發點時特別要注意了。
(4)要有嚴謹、敢于承擔責任、穩重的做事風格
其實學數學的人最適合做測試作,他們思惟嚴密,什么問題都被他們考慮到,當然除了做事認真仔細,也要有承擔責任的勇氣,在漫長的項目實施過程中,或大或小的錯誤在所難免,我們可以原諒錯誤,但不喜歡狡辯,要敢于承認錯誤。
(5)具有懷疑與破壞的精神
測試人員不能總是以常規的思路來測試軟件,要設計一些非常規的、相反的測試用例來不斷地折磨軟件產品,要破壞性地測試,并且不要停止你的懷疑。
(6)善于自我總結、自我督促
應該說軟件測試是一種即繁瑣又枯燥無味的工作,做多了你會覺得似乎一成不變,對自已的能力沒有提高,這時候就需要你作自我督促,并經常作一些階段性的總結,新的技術新的方法新的工具層出不窮,要讓自已跟上技術發展的腳步,善于將新技術新方法新工具應用到測試工作當中。
暫時想到這么多了,其實也已經夠多了,其中有些東東可能對做任何事都適合,筆者經驗有限,有想不到的地方,希望朋友們多多指教,最后用培根老人家的話來收個尾:注意你的思想,它會變成你的行動;注意你的行動,它會變成你的習慣;注意你的習慣,它會變成你的性格,而性格將決定你的命運。
發展篇
明天是不可預知的未來,而生命的精彩就在于它的不可預知性,所以我們周圍的許多人都喜歡在一些特定的日子去展望一下未來,我乃俗人一個,茶余飯后也喜歡給自已的明天描繪一下藍圖,以豐富的想象力將自已推向很高的位置,以抵抗現實生活中的平凡與平淡,就如同國內某報紙的宣言:以有趣對抗無趣。
在國內軟件測試作為一個嶄新的行業發展還是很快的,大家對其發展也都抱著一個十分樂觀的態度,毋庸諱疑,從事軟件測試工作的人員會有一個非常光明的明天,在看到美好前景的同時我們也應該冷靜地思考一些問題:比如軟件測試行業如何發展,將會發展成怎樣,制約它發展的因素將是有哪些,它的發展將對每個從事軟件測試工作的人產生什么影響等等。
在現狀篇中我詳細地描述了目前國內測試行業的一些丑陋表現,面對這些表現,我們的心是沉重的是痛苦的,但也看到了希望,痛苦往往意味著解決問題的時間到了,痛苦就是出路,由于筆者知識有限經驗有限能力有限,嘆息之余也只能淺薄地闡述一下自已的觀點,談不上指點江山激揚文字。
我認為,要提高我國的軟件測試行業的發展水平,首當其沖的就是人的問題。一方面要提高國內企業對軟件測試的重視程度,另一方面要壯大軟件測試隊伍,提高測試人員的素質。國內很多軟件企業對軟件測試的重要性事解不夠,重開發輕測試的現象過于嚴重,很多公司沒有專門的測試部門,測試工程師太少,開發人員兼作測試工作的現象十分普遍,要改變這種現狀,需要一個漫長的過程,不過隨著中國加入WTO,市場的透明度得到提高,產品質量問題將成為軟件企業能否繼續發展壯大的關鍵所在,相信越來越多的企業管理者意識到產品測試的重要性,也相信越來越多的技術人員投入到測試工作中。
其次是要善于學習與吸收。我們中國人具有很強的學習能力,自從小平同志提倡解放思想改革開放之后,中國大地在短短的二十年時間就涌現了許許多多的現代化都市,我們用十年的時間造就一個嶄新的深圳,而美國佬要用五十年才行。但在軟件測試這一塊,我不知要用多少年才能趕上別人?國外有完善的測試機制,有豐富的軟件測試經驗,有強大的測試工具,有優秀的測試管理水平,這些我們都應好好地學習,確立與國外先進水平相同的技術指標和質量標準,解決測試手段落后、測試方法單一和測試工具欠缺的問題,在企業內部形成一個嚴密有效的糾錯系統,使國內的測試工作流程、技術水平接近國外先進水平,這樣才能提高國內軟件開發與測試的整體管理水平,增加軟件產品的競爭力。
第三,大力發展第三方的專業測試公司,重視利用第三方的測試力量進行測試。目前國內很多地方都有了軟件產品檢測中心,可這好象是政府行為,我對諸如此類的中心是不懷好感的,你千萬別對他們有太高的期望,很關類似機關單位的辦事效率與質量雖然在這些年得到了一定的提高,但顯然還無法讓很多人滿意,相反企業性質的第三方專業測試公司更讓人信賴,此類企業是依靠技術與服務來征服客戶的,他們更加注重測試方法與質量,國外在這一方面發展得很好,國內在北京、上海、深圳也有了類似的公司,聽說業績還不錯。企業從頭去建立測試部門,并完善測試體系,需要較大的資金投入,將研發出來的軟件產品交給實力強勁的第三方專業測試公司,不僅僅能大大地提高軟件產品的質量問題,而且還節約了產品測試成本。筆者認為,在不久的將來,第三方專業測試公司將越來越多,規模也將越來越大。這對從事測試工作的人來說無疑是大好事,不僅就業機會大大增多,而且待遇方面也會水漲船高。
當然,隨著軟件測試行業的發展、提高和完善,也會象軟件開發行業一樣出現分工上的細化,測試人員等級的劃分,比如初級測試員,測試工程師,高級測試工程師,測試設計師,測試經理等,同時也會出現各種各樣的國家認證、企業認證、國際認證等,所以我們需要不斷地學習,不斷地提高測試水平,不管未來怎樣,我們都能從容面對。(完) 引用地址:http://blog.programfan.com/trackback.asp?id=16322
現狀篇
這兩年來國內軟件測試人員的需求不斷增大,越來越多的IT企業認識到了軟件測試的重要性,這種可喜的現狀與發展趨勢讓筆者對我國軟件業的發展重新抱有較大的希望,盡管這是一門嶄新的學科,目前在國內的發展仍處于“嬰兒”階段,但看到越來越多的軟件公司為軟件測試招兵買馬,看到越來越多的技術人員投入到軟件測試中,我就情不自禁地感嘆:機會來了!這機會不僅僅是某一個人的,而是所有人的,它對每個人都是公平的,學的領域需要新的理論新的工具新的方法,由于國內的軟件測試還處在一個比較初級的階段,沒有人確切地知道它需要什么樣的基礎,也沒有人確切地知道它應該怎樣發展,因此這個領域需要大家來共同革命,以促進它的深入發展。
前些年我曾在一家民營軟件企業混飯吃,我們技術部十幾個開發人員,整個公司竟然沒有一個測試人員,軟件測試的工作胡亂地交給市場部的銷售員們去瞎折騰,盡管偶爾也能找出幾個低級BUG,但整個過程是可笑的混亂的,公司的老板是個超惡心的人,通常,國內公司認為測試不重要,重要的是開發人員,開發人員的工資比測試人員高出很多。但此老板例外,他連開發人員都覺得不重要,狂扁我們是工人階級,至于軟件測試他壓根兒從來沒有這種概念,就是這樣一個公司,就是這樣漏洞百出的軟件產品,竟然也能每年幾千萬地賣出,令我等百思不得其解,整整痛苦了幾個月,才悟出這個市場的混亂不堪以及人情關系的重要性,在那些沒有測試人的日子里,我們開發人員過得異常地郁悶,每天都緊張兮兮的,BUG不斷地從客戶那里反饋,我們不斷地加班加點,最夸張的時候一個月內竟然給同一個客戶提交了十幾個版本的產品,想起這些都覺得無地自容。
也許就在幾年前,國內象這樣的IT公司多如牛毛,象我這種身受其害的程序員也多如牛毛,歷史是尷尬的,隨著市場經濟與改革開發的不斷深入,這種公司要么改變觀念解放思想,要么去死,事實上我原來所在的那家公司現在舉步為艱不再春風得意,技術人員的流失率極高,能呆上一年的就算是老員工了,象我這樣能呆上兩年的,不小心就成了一些員工的偶像,我的忍辱負重逆來順受得到了一定程度的提高。
微軟公司是軟件行業的老大,他們對軟件測試的重視程度是許多同行無法比擬的。在微軟內部,軟件測試人員與軟件開發人員的比率一般為1.5--2.5左右,微軟軟件開發的實踐過程已經證明了這種人員結構的合理性與正確性。但國內公司顯然很難達到這種比率,沒關系我們剛剛起步,人多人少不是問題所在,關鍵在于觀念與態度,國內軟件業和國外相比,最大的差異也許就在于產品質量和質量控制。我們并不缺乏聰明好學的程序員,也不缺乏富有創意的設計人員,你沒有看到國際數學奧林匹克的金牌經常是屬于中國人嗎?呵呵,這真讓我們驕傲。但國內很多產品的質量確實很人不敢恭維,我家去年買了個抽油煙機,使用還不到一年,就已經維修過兩次,上個星期它老人家壓根兒就不鬧,后來發現是電機OVER了,MY GOD,真是煩躁透了,干脆換個新的,可不再有勇氣選擇國產的,支持民族產品的口號響了很久了,但我依然找不到信得過的理由,民族產品,您拿什么來讓我感動?有關質量方面,我們有必要虛心地向小日本學習學習,當然還要依賴于政府的力量,連產品的質量掌控體系和標準都是模糊的,產品的質量承諾既沒有相應機構的監督,質量水平也沒有第三方來認證,這些冠冕堂皇的狗屁承諾顯得極其蒼白而無力,單憑我們個人的努力是無法改變面貌的,我們所做的力求問心無愧就OK了。
技術篇
上一篇我羅嗦的是有關軟件測試的現狀,現狀這玩意是可以觀察得到的,哪怕俺從沒親自做過軟件測試,也能看得到它的情況,這是吃豬肉與看豬跑的問題,現在的new new people們也許每天都在吃豬肉,但不一定見過豬跑,我不知這是好事還是壞事,我小時候在吃飯時,總會經常地由米飯想到揮汗如雨的種田農民,于是就特別地珍惜每一粒米飯,將若大個碗舔得能當鏡子來照,現在我變了,經常拿飯碗一邊狼吞虎咽一邊看著電視,電視里或燈紅酒綠鑼鼓喧天載歌載舞或紅男綠女花前月下卿卿我我,似乎大伙都過上了小康。而技術這東東,是瞎扯不來的,不懂不能裝懂,因此我感覺自已沒有資格來對測試技術作什么歸納與總結,我是愛技術的,但我的精力是有限的,所以在近期我無法成為軟件測試高手,以下所述只是我目前水平的一個體現,有貽笑大方之處還望包涵。
我讀了很多軟件公司管理方面的書,象IBM,Microsoft,Sun,SAP等等,驚嘆別人的組織能力與管理能力,而反觀國內,痛苦連綿不絕,研究了一下海爾,還行,可海爾主要生產的是一些毫無情感的家用電器,什么時候張瑞敏能象生產電器一樣來生產軟件的話,那中國軟件產業就大有希望了,國內很多公司在軟件測試管理上隨意、簡單,沒有建立有效、規范的軟件測試管理體系,往往哪里著火就滅哪里,作為消防員的測試人員被弄得疲憊不堪,大把大把的青春好時光被耗費在單調無聊的滅火運動上,而自身的技術與素質并沒有得到提高,這是管理體系帶來的問題,體系無論在軟件開發還是在軟件測試都顯得特別的重要,建立有規劃的,可行的軟件測試管理體系是保證軟件產品質量的關鍵所在,好的管理體系,能使用測試人員事半功倍,提高工作效率,至于如何建立?我想除了參照國際著名軟件公司的做法,另外還需結合公司自已的特點,軟件開發的管理體系,測試人員的技術特點與行為習慣等等。
軟件產品越來越龐大,功能越來越多,也越來越復雜,因而可能出現的問題也就不可避免地越來越多,并且越來越多的問題變得越來越不容易被發現,我一共用了六個“越來越”,暈了,不過沒關系,因為我有文檔,我一數就數出來了,呵呵,文檔的重要性不必多說,我一直敬佩那些能寫出漂亮文檔的同行,看他們的文檔就會進入到美妙的思維世界里,我也一直在努力學習,目前也就“horse horse tiger tiger”了,所以革命尚未成功,阿蒙仍然需努力!通常測試文檔包括:測試計劃,測試規范,測試用例,測試報告,BUG報告等,至于這些文檔的概念,模板等等,網上書里都有詳細描述,我的意圖只是強調文檔的重要性。
測試工具在軟件測試中也起了非常重要的作用,所謂工欲善其事,必先利其器,有了優秀的測試工具,自然能提高測試工作的效率,并對整個測試過程進行有效地管理。筆者主要用過MI公司的產品,所以以下就作個簡單的介紹,希望對你有所幫助:
MI(Mercury Interactive)
MI公司是一家世界領先的企業測試和性能管理解決方案的供應商。MI公司的自動測試軟件和網絡管理在線服務幫助客戶提供和維護高性能的應用系統。MI公司為行業提供一整套綜合自動軟件測試解決方案。
測試管理系統 TestDirector
TD是業界第一個基于Web的測試管理系統,它可以在您公司內部或外部進行全球范圍內測試的管理。通過在一個整體的應用系統中集成了測試管理的各個部分,包括需求管理,測試計劃,測試執行以及錯誤跟蹤等功能,TestDirector極大地加速了測試過程。 筆者的公司或部門一直以來都是用TD來作測試的管理工作,感覺很方便,它能消除部門間、地域間的障礙,能讓測試人員、開發人員或市場人員通過一個中央數據倉庫,在不同地方就能交互測試信息,大大地改善部門間的溝通,加速測試的成功。
自動化測試工具 WinRunner
WinRunner是一種企業級的功能測試工具,用于檢測應用程序是否能夠達到預期的功能及正常運行。通過自動錄制、檢測和回放用戶的應用操作,WinRunner能夠有效地幫助測試人員對復雜的企業級應用的不同發布版進行測試,提高測試人員的工作效率和質量,確保跨平臺的、復雜的企業級應用無故障發布及長期穩定運行。
負載測試工具 LoadRunner
LoadRunner是一種預測系統行為和性能的負載測試工具。通過以模擬上千萬用戶實施并發負載及實時性能監測的方式來確認和查找問題,LoadRunner 能夠對整個企業架構進行測試。通過使用LoadRunner ,企業能最大限度地縮短測試時間,優化性能和加速應用系統的發布周期。它能預測系統行為并優化系統性能。
LoadRunner 的測試對象是整個企業的系統,它通過模擬實際用戶的操作行為和實行實時性能監測,來幫助您更快的查找和發現問題。此外,LoadRunner 能支持廣范的協議和技術,為您的特殊環境提供特殊的解決方案。
以上主要是從測試管理體系,測試文檔以及測試工具三個方面來描述了一下軟件測試,相信還有很多別的方面,但水平有限,也只能如此,我會一直關注這門新學科的發展,并做一些力所能及的CASE!
素質篇
無論做什么事情,要做得更快更好,是要求具備一些素質的,有些素質是天生的,比如性格、偏好等等,而有些素質是后天可以培養的,比如技術、語言、思維、道德等等,人們常說:性格決定命運。這話讓我倍感郁悶,如果真是這樣,我想我們大多程序員還真是苦命一條,遙想漫漫前程,如果有一天寫出來的代碼比萬里長城還長,而我們還在為生活或愛情而忙碌奔波焦頭爛額,那還真是一個不理想的下場,或許我們有必要反思一下我們的性格,看能不能往更好的方向發展,讓我們的技術與思想我們帶來一個更加美好的未來。
還是回到軟件測試。在測試工作中人是最重要也是最有價值的資源(其實在別的工作中也是的,一個優秀的、積極的測試小組是保證軟件質量的關鍵所在,然而在國內我們經常看到一些令人擔憂的現象,很多公司喜歡讓那些經驗最少的新手、效率低下的開發者或不適合干其他工作的人去做測試工作,這是一種目光短淺的行為,這種行為往往會帶來更嚴重的后果,傻瓜都知道產品質量對于一個企業的重要性,就如同我買的那個抽油煙機,我想這輩子再也不會去買那個企業所研發的任何產品了,讓客戶有這種心理是企業很大的失敗,所以筆者認為軟件企業需要端正態度,將軟件產品的質量問題放在第一位,讓中國軟件早日騰飛!
阿蒙研究軟件測試有一些日子了,對測試人員的管理也有一定的經驗,現在就來談一談一個好的測試工程師所應具備的素質。
(1)技術能力
這一點不必多說,作為一名測試工程師,不能僅僅從使用者的角度來測試軟件產品,而且還要從技術的角度來設計測試用例,這里所說的技術包括基礎的與專業的,基礎方面我想應需要學習過以下的課程:軟件技術基礎、C語言、面向對象設計、C++、數據庫理論、計算機網絡技術、軟件工程、數據結構與算法、離散數學等;專業方面應掌握:軟件測試技術概論、測試管理、測試工具、軟件質量管理、CMM、RUP等等。看看,你還缺少什么,趕快學習吧。
(2)具有一定的編程經驗
測試工程師有時候需要對源碼進行檢查,有時候也會從程序結構的角度來測試軟件,有時候需要寫一些自動測試的工具軟件,有時候需要寫測試腳本,顯而易見,會寫簡單代碼,能讀懂源碼對測試人員來說是必須的,而且如果有一定的編程經驗,可以幫助你對軟件開發過程有較深入的理解,從編程人員的角度來正確地評價;但這一點在國內大部分公司里面是很難實現的,因為這意味著測試人員的salary要高于開發人員,很多BOSS會想不通的,而且也沒那么高的覺悟。
(3)溝通能力
測試人員需要與很多人員進行溝通,項目經理、開發人員、客戶、市場人員等都是測試人員經常吵架的對象,而且在面對不同人員,你需要不同的語氣、不同的態度,與客戶要談得來,處處為客戶著想,客戶就是上帝,與上帝說話要和顏悅色,與開發人員交往就需要技巧了,測試人員與開發人員往往是不共戴天的,雙方在心理上經常較勁,因此在說話的語氣或講述一個問題的出發點時特別要注意了。
(4)要有嚴謹、敢于承擔責任、穩重的做事風格
其實學數學的人最適合做測試作,他們思惟嚴密,什么問題都被他們考慮到,當然除了做事認真仔細,也要有承擔責任的勇氣,在漫長的項目實施過程中,或大或小的錯誤在所難免,我們可以原諒錯誤,但不喜歡狡辯,要敢于承認錯誤。
(5)具有懷疑與破壞的精神
測試人員不能總是以常規的思路來測試軟件,要設計一些非常規的、相反的測試用例來不斷地折磨軟件產品,要破壞性地測試,并且不要停止你的懷疑。
(6)善于自我總結、自我督促
應該說軟件測試是一種即繁瑣又枯燥無味的工作,做多了你會覺得似乎一成不變,對自已的能力沒有提高,這時候就需要你作自我督促,并經常作一些階段性的總結,新的技術新的方法新的工具層出不窮,要讓自已跟上技術發展的腳步,善于將新技術新方法新工具應用到測試工作當中。
暫時想到這么多了,其實也已經夠多了,其中有些東東可能對做任何事都適合,筆者經驗有限,有想不到的地方,希望朋友們多多指教,最后用培根老人家的話來收個尾:注意你的思想,它會變成你的行動;注意你的行動,它會變成你的習慣;注意你的習慣,它會變成你的性格,而性格將決定你的命運。
發展篇
明天是不可預知的未來,而生命的精彩就在于它的不可預知性,所以我們周圍的許多人都喜歡在一些特定的日子去展望一下未來,我乃俗人一個,茶余飯后也喜歡給自已的明天描繪一下藍圖,以豐富的想象力將自已推向很高的位置,以抵抗現實生活中的平凡與平淡,就如同國內某報紙的宣言:以有趣對抗無趣。
在國內軟件測試作為一個嶄新的行業發展還是很快的,大家對其發展也都抱著一個十分樂觀的態度,毋庸諱疑,從事軟件測試工作的人員會有一個非常光明的明天,在看到美好前景的同時我們也應該冷靜地思考一些問題:比如軟件測試行業如何發展,將會發展成怎樣,制約它發展的因素將是有哪些,它的發展將對每個從事軟件測試工作的人產生什么影響等等。
在現狀篇中我詳細地描述了目前國內測試行業的一些丑陋表現,面對這些表現,我們的心是沉重的是痛苦的,但也看到了希望,痛苦往往意味著解決問題的時間到了,痛苦就是出路,由于筆者知識有限經驗有限能力有限,嘆息之余也只能淺薄地闡述一下自已的觀點,談不上指點江山激揚文字。
我認為,要提高我國的軟件測試行業的發展水平,首當其沖的就是人的問題。一方面要提高國內企業對軟件測試的重視程度,另一方面要壯大軟件測試隊伍,提高測試人員的素質。國內很多軟件企業對軟件測試的重要性事解不夠,重開發輕測試的現象過于嚴重,很多公司沒有專門的測試部門,測試工程師太少,開發人員兼作測試工作的現象十分普遍,要改變這種現狀,需要一個漫長的過程,不過隨著中國加入WTO,市場的透明度得到提高,產品質量問題將成為軟件企業能否繼續發展壯大的關鍵所在,相信越來越多的企業管理者意識到產品測試的重要性,也相信越來越多的技術人員投入到測試工作中。
其次是要善于學習與吸收。我們中國人具有很強的學習能力,自從小平同志提倡解放思想改革開放之后,中國大地在短短的二十年時間就涌現了許許多多的現代化都市,我們用十年的時間造就一個嶄新的深圳,而美國佬要用五十年才行。但在軟件測試這一塊,我不知要用多少年才能趕上別人?國外有完善的測試機制,有豐富的軟件測試經驗,有強大的測試工具,有優秀的測試管理水平,這些我們都應好好地學習,確立與國外先進水平相同的技術指標和質量標準,解決測試手段落后、測試方法單一和測試工具欠缺的問題,在企業內部形成一個嚴密有效的糾錯系統,使國內的測試工作流程、技術水平接近國外先進水平,這樣才能提高國內軟件開發與測試的整體管理水平,增加軟件產品的競爭力。
第三,大力發展第三方的專業測試公司,重視利用第三方的測試力量進行測試。目前國內很多地方都有了軟件產品檢測中心,可這好象是政府行為,我對諸如此類的中心是不懷好感的,你千萬別對他們有太高的期望,很關類似機關單位的辦事效率與質量雖然在這些年得到了一定的提高,但顯然還無法讓很多人滿意,相反企業性質的第三方專業測試公司更讓人信賴,此類企業是依靠技術與服務來征服客戶的,他們更加注重測試方法與質量,國外在這一方面發展得很好,國內在北京、上海、深圳也有了類似的公司,聽說業績還不錯。企業從頭去建立測試部門,并完善測試體系,需要較大的資金投入,將研發出來的軟件產品交給實力強勁的第三方專業測試公司,不僅僅能大大地提高軟件產品的質量問題,而且還節約了產品測試成本。筆者認為,在不久的將來,第三方專業測試公司將越來越多,規模也將越來越大。這對從事測試工作的人來說無疑是大好事,不僅就業機會大大增多,而且待遇方面也會水漲船高。
當然,隨著軟件測試行業的發展、提高和完善,也會象軟件開發行業一樣出現分工上的細化,測試人員等級的劃分,比如初級測試員,測試工程師,高級測試工程師,測試設計師,測試經理等,同時也會出現各種各樣的國家認證、企業認證、國際認證等,所以我們需要不斷地學習,不斷地提高測試水平,不管未來怎樣,我們都能從容面對。(完) 引用地址:http://blog.programfan.com/trackback.asp?id=16322
轉載于:https://www.cnblogs.com/lyss/archive/2006/07/07/445407.html
總結