




已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
論研發(fā)組織中測試部的意義2017-07-24一、 測試的歷史和發(fā)展軟件測試是 20 世紀 60 年代(軟件工程建立前)伴隨著軟件的產(chǎn)生而產(chǎn)生的。早期的軟件開發(fā)過程中,那時軟件規(guī)模都很小、復雜程度低,軟件開發(fā)的過程混亂無序、相當隨意,測試的含義比較狹窄,開發(fā)人員將測試等同于“調(diào)試”,目的是糾正軟件中已經(jīng)知道的故障,常常由開發(fā)人員自己完成這部分的工作。對測試的投入極少,測試介入也晚,常常是等到形成代碼,產(chǎn)品已經(jīng)基本完成時才進行測試。1972 年在北卡羅來納大學舉行了首屆軟件測試正式會議。1975 年 John Good Enough 和 Susan Gerhart 在 IEEE 上發(fā)表了測試數(shù)據(jù)選擇的原理的文章,軟件測試被確定為一種研究方向。1979 年,Glenford Myers 的軟件測試藝術,對測試做了定義:測試是為發(fā)現(xiàn)錯誤而執(zhí)行的一個程序或者系統(tǒng)的過程。到了上世紀 80 年代初期,軟件和 IT 行業(yè)進入了大發(fā)展,軟件趨向大型化、高復雜度,“質(zhì)量”的號角開始吹響,這個時候,一些軟件測試的基礎理論和實用技術開始形成,并且人們開始為軟件開發(fā)設計了各種流程和管理方法,軟件測試定義也發(fā)生了改變,測試不單純是一個發(fā)現(xiàn)錯誤的過程,而且包含軟件質(zhì)量評價的內(nèi)容。制定了各類標準。軟件開發(fā)的方式也逐漸由混亂無序的開發(fā)過程過渡到結(jié)構(gòu)化的開發(fā)過程,以結(jié)構(gòu)化分析與設計、結(jié)構(gòu)化評審、結(jié)構(gòu)化程序設計以及結(jié)構(gòu)化測試為特征。人們還將“質(zhì)量”的概念融入其中,軟件測試定義發(fā)生了改變,測試不單純是一個發(fā)現(xiàn)錯誤的過程,而且將測試作為軟件質(zhì)量保證(SQA)的主要職能,包含軟件質(zhì)量評價的內(nèi)容。1983 年,Bill Hetzel 在軟件測試完全指南(Complete Guide of Software Testing)一書中指出:“測試是以評價一個程序或者系統(tǒng)屬性為目標的任何一種活動。測試是對軟件質(zhì)量的度量。”這個定義至今仍被引用。軟件開發(fā)人員和測試人員開始坐在一起探討軟件工程和測試問題。軟件測試已有了行業(yè)標準(IEEE/ANSI ),1983 年 IEEE 提出的軟件工程術語中給軟件測試下的定義是:“使用人工或自動的手段來運行或測定某個軟件系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或弄清預期結(jié)果與實際結(jié)果之間的差別”。這個定義明確指出:軟件測試的目的是為了檢驗軟件系統(tǒng)是否滿足需求。它再也不是一個一次性的、只在開發(fā)后期的活動,而是與整個開發(fā)流程融合成一體。軟件測試已成為一個專業(yè),需要運用專門的方法和手段,需要專門人才和專家來承擔。進入上世紀 90 年代,軟件行業(yè)開始迅猛發(fā)展,軟件的規(guī)模變的非常大,在一些大型軟件開發(fā)過程中,測試活動需要花費大量的時間和成本,而當時測試的手段幾乎完全都是手工測試,測試的效率非常低。并且隨著軟件復雜度的提高,出現(xiàn)了很多通過手工方式無法完成測試的情況,盡管在一些大型軟件的開發(fā)過程中,人們嘗試編寫了一些小程序來輔助測試,但是這還是不能滿足大多數(shù)軟件項目的統(tǒng)一需要。于是,很多測試實踐者開始嘗試開發(fā)商業(yè)的測試工具來支持測試,輔助測試人員完成某一類型或某一領域內(nèi)的測試工作,而測試工具逐漸盛行起來。人們普遍意識到,工具不僅僅是有用的,而且要對今天的軟件系統(tǒng)進行充分的測試,工具是必不可少的。測試工具可以進行部分的測試設計、實現(xiàn)、執(zhí)行和比較的工作。通過運用測試工具,可以達到提高測試效率的目的。測試工具的發(fā)展,大大提高了軟件測試的自動化程度,讓測試人員從繁瑣和重復的測試活動中解脫出來,專心從事有意義的測試設計等活動。采用自動比較技術,還可以自動完成測試用例執(zhí)行結(jié)果的判斷,從而避免人工比對存在的疏漏問題。設計良好的自動化測試,在某些情況下可以實現(xiàn) “ 夜間測試 ” 和 “ 無人測試 ” 。在大多數(shù)情況下,軟件測試自動化可以減少開支,增加有限時間內(nèi)可執(zhí)行的測試,在執(zhí)行相同數(shù)量測試時節(jié)約測試時間。 而測試工具的選擇和推廣也越來越受到重視。1996 年提出的測試能力成熟度 TCMM(Testing Capability Maturity Model)、測試支持度 TSM(Test-ability Support Model)、測試成熟度TMM(Testing Maturity Model)。到了 2002 年,Rick 和 Stefan 在系統(tǒng)的軟件測試一書中對軟件測試做了進一步定義:測試是為了度量和提高被測軟件的質(zhì)量,對測試軟件進行工程設計、實施和維護的整個生命周期過程。二、 測試的目的軟件測試的目的一、確認軟件的質(zhì)量1一方面是確認軟件做了你所期望做的事情(Do the right thing);2另一方面是確認軟件以正確的方式來做了這個事情(Do it right);二、提供信息,比如提供給開發(fā)人員或程序經(jīng)理的回饋信息,為風險評估所準備的信息;三、軟件測試不僅是在測試軟件軟件產(chǎn)品本身,而且還包括軟件開發(fā)的過程;如果一個軟件產(chǎn)品開發(fā)完成之后發(fā)現(xiàn)了很多問題,這說明此軟件開發(fā)過程很可能是有缺陷的。因此,軟件測試的第三個目的是保證整個軟件開發(fā)過程是高質(zhì)量的。系統(tǒng)測試的目的目前 IVS 測試部的主要工作是做整機系統(tǒng)測試,系統(tǒng)測試的目的是在真實系統(tǒng)工作環(huán)境下通過與系統(tǒng)的需求定義作比較,檢驗完整的軟件配置項能否和系統(tǒng)正確連接,發(fā)現(xiàn)軟件與系統(tǒng)/子系統(tǒng)設計文檔和軟件開發(fā)合同規(guī)定不符合或與之矛盾的地方。系統(tǒng)測試是將通過確認測試的軟件,作為整個基于計算機系統(tǒng)的一個元素,與計算機硬件、外設、某些支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素結(jié)合起來,在實際運行(使用)環(huán)境下,對整機系統(tǒng)進行的測試。是為了發(fā)現(xiàn)缺陷并度量產(chǎn)品質(zhì)量,按照系統(tǒng)的功能和性能需求進行的測試。而且,系統(tǒng)測試還要檢驗系統(tǒng)的文檔等是否完整、有效。另外,系統(tǒng)測試的測試用例應根據(jù)需求分析說明書來設計,并在實際使用環(huán)境下來運行。最后,系統(tǒng)測試一般使用黑盒測試技術,并由獨立的測試人員完成。對于軟件工作而言,系統(tǒng)測試是軟件研制人員參加系統(tǒng)的綜合測試,軟件及整機系統(tǒng)加入到系統(tǒng)中進行測試。應該一方面為系統(tǒng)測試提供必要的軟、硬件及資料支持,另一方面從軟件測試角度提出系統(tǒng)測試中關于軟件的測試設計。從軟件測試角度看,系統(tǒng)測試有如下幾方面的意義:1)系統(tǒng)測試的環(huán)境是軟件真實運行環(huán)境的最逼真模擬。系統(tǒng)測試中,各部分研制完成的真實設備逐漸替代了模擬器,是軟件從未有過的運行環(huán)境。有關真實性的一類錯誤,包括外圍設備接口、輸入/輸出、或多處理器設備之間的接口不相容,整個系統(tǒng)的時序匹配等,在這種運行環(huán)境下能得到比較全面的暴露。2)通常系統(tǒng)測試的困難在于不容易從系統(tǒng)目標直接生成測試用例。而系統(tǒng)測試由系統(tǒng)人員組織,從系統(tǒng)完成任務的角度測試,軟件在系統(tǒng)測試下獲得了系統(tǒng)任務下直接的“測試實例”,這對檢驗軟件是否滿足系統(tǒng)任務要求是非常有意義的。3)三、 測試的重要性在很多情況下,軟件開發(fā)人員同用戶的思路是完全不同的。開發(fā)人員由于接近硬件底層,更多的是從機器的“思維”來考慮問題,而用戶只是為了使用。很多軟件開發(fā)人員抱有這樣的思維,認為用戶很笨,“你這樣用就不會出現(xiàn)錯誤了!”但事實上,作為一種產(chǎn)品,必須要能夠考慮到用戶使用的方方面面,并考慮進行各種容錯處理。為了記錄下用戶使用軟件的習慣用來提供軟件的易用性和發(fā)現(xiàn)潛在的問題。硬件越來越復雜,對軟件在應用領域和規(guī)模上的期望越來越高,軟件的發(fā)展速度落后于硬件的發(fā)展速度,導致了軟件質(zhì)量不高,超出預算,軟硬性兼容問題也體現(xiàn)了測試的重要性。軟件系統(tǒng)復雜性提高、多人合作:隨著軟件系統(tǒng)的復雜性提高,項目的組成越來越多角色,這使得每個角色的主觀性會在軟件產(chǎn)品中出現(xiàn)各類差異:文檔不規(guī)范,編碼不規(guī)范等等類似的問題需要在投產(chǎn)之前不斷地測試發(fā)現(xiàn),提高軟件產(chǎn)品質(zhì)量。沒有經(jīng)過測試的軟件很難在發(fā)布之前知道該軟件的質(zhì)量,就好比 ISO 質(zhì)量認證一樣,測試同樣也需要質(zhì)量的保證,這個時候就需要在團隊中開展軟件測試的工作。在測試的過程發(fā)現(xiàn)軟件中存在的問題,及時讓相應開發(fā)人員得知并修改問題,在即將發(fā)布時,從測試報告中得出軟件的質(zhì)量情況。軟件定義、設計、實現(xiàn)、打包/部署、使用過程中出現(xiàn)的與明確的需求不一致:不能正確完成任務、完成多余的任務,還包括:改善產(chǎn)品的建議;與用戶隱含的需求不一致等等,通過測試能更站在用戶的角度去發(fā)現(xiàn)問題,控制錯誤。對于企業(yè)來說,企業(yè)軟件質(zhì)量的好壞直接影響一個企業(yè)對外的形象,企業(yè)的收益,進而關系到每個員工的切身利益,所以無論哪個角度來說,程序的測試工作都是非常重要的。測試人員必須深刻的領會到測試工作的重要性,更好地投身于測試工作中去。站在用戶的角度對程序的可實現(xiàn)功能性(是否與功能說明書相符),可行性(是否適用于實際生產(chǎn)),可操作性(是否方便使用)等進行測試。值得提出的一點,以用戶的身份進行對程序的驗證,測試必須細致,全面,詳盡。好的程序不但能用,更需要好用。測試人員的工作態(tài)度是測試工作成功與否的關鍵。所以測試人員要端正自己的態(tài)度,認識到自己的重要性,測試人員是和開發(fā)人員站在對等的立場上來共同完成一個好的軟件;更高層次的說,測試人員是站在高于開發(fā)人員,等同于設計人員的高度去把控整個項目的質(zhì)量,我們要對系統(tǒng)規(guī)格書,軟件需求說明書,程序等進行全方位的把控。測試人員需要具備哪些素質(zhì)測試人員具有通過對測試案例的分類、BUG 的分類,可以準確地分析每個方面的測試(安全性、輸入場、功能、性能)是否充分。讓數(shù)據(jù)說話:測試人員在測試過程中通過對測試用例和 BUG 的追蹤統(tǒng)計,能夠準確地看出項目組發(fā)生了什么、正在發(fā)生什么、將會發(fā)生什么。測試人員在 BUG 描述中,如果有原因定位和解決辦法,會提高測試人員地位。 比如:1、清晰描述問題現(xiàn)象,讓開發(fā)人員容易理解,可采用對比、貼圖、錄像回放等多種方式; 2、可能的原因及分析; 3、可能的解決辦法或建議;從系統(tǒng)和規(guī)范的角度看,對一些客戶不認為是問題的問題,測試人員也應堅持意見。提出問題,即使找不到解決的辦法,也應該受到鼓勵;這些問題可以作為項目結(jié)束后的思考方向并納入長期的工作計劃中。每個階段每個角色都要完成自己的工作,某個階段或某個人完不成的工作,一定會以各種方式轉(zhuǎn)嫁到其它階段或其他人身上。因此遇到的問題都要及時解決,否則問題會在項目后期集中爆發(fā),所以測試人員在測試準備時能夠充分準確地預估自己的工作量,以免上述情況發(fā)生。綜上所述各點是在實際的測試工作中測試人員該有的素質(zhì),當然對工作該有的素質(zhì)還包括興趣、必備的專業(yè)知識、責任心、學習能力、細心、執(zhí)著、溝通能力等等。尤其是溝通能力這點對我們測試人員非常重要,與開發(fā)人員的有效溝通會直接影響你的工作效率。軟件測試工程負責理解產(chǎn)品的功能要求,然后對其進行測試,檢查軟件有沒有錯誤(bug)決定軟件是否具有穩(wěn)定性(Robustness),并寫出相應的測試規(guī)范和測試案例。微軟公司曾經(jīng)算過一筆賬:最初,微軟公司與大家一樣,認為測試不重要,重要的開發(fā)人員。通常,一個團隊中有幾百個開發(fā)人員,但只有幾個測試人員,并且開發(fā)人員的工資比測試人員高很多。經(jīng)過多年的實踐后,公司發(fā)現(xiàn),為那些出現(xiàn)問題的產(chǎn)品再去修一個補丁程序,簡稱所花的錢,比多雇用幾個測試人員的費用要多得多。測試人員水平越高,找到 Bug 的時間就越早,軟件就越容易更正,產(chǎn)品發(fā)行之后越穩(wěn)定,公司賺的錢也越多。這是微軟慢慢悟出來的道理。在談到軟件測試時,許多人都引用 GrenfordJMyers 在The Art of Software Testing一書中的觀點:(1)軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;(2)測試是為了證明程序有錯,而不是證明程序無錯誤。(3)一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;(4)一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。測試工作的組織與管理作為軟件開發(fā)的重要環(huán)節(jié),軟件測試越來越受到人們的重視。隨著軟件開發(fā)規(guī)模的增大、復雜程度的增加,以尋找軟件中的錯誤為目的的測試工作就顯得更加困難。然而,為了盡可能多地找出程序中的錯誤,生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,加強對測試工作的組織和管理就顯得尤為重要。當設計工作完成以后,就應該著手測試的準備工作了。一般來講,由一位對整個系統(tǒng)設計熟悉的設計人員編寫測試大綱,明確測試的內(nèi)容和測試通過的準則,設計完整合理的測試用例,以便系統(tǒng)實現(xiàn)后進行全面測試。測試人員要仔細閱讀有關資料,包括規(guī)格說明、設計文檔、使用說明書及在設計過程中形成的測試大綱、測試內(nèi)容及測試的通過準則,全面熟悉系統(tǒng),編寫測試計劃,設計測試用例,作好測試前的準備工作。為了保證測試的質(zhì)量,將測試過程分成幾個階段,即:代碼審查、單元測試、集成測試和驗收測試。綜上,軟件測試是一個極為復雜的過程。一個規(guī)范化的軟件測試過程通常須包括以下基本的測試活動。(1)擬定軟件測試計劃;(2)編制軟件測試大綱;(3)設計和生成測試用例;(4)實施測試;(5)生成軟件問題報告。實際上,軟件測試過程與整個軟件開發(fā)過程基本上是平行進行的。測試計劃早在需求分析階段即應開始制定,其它相關工作,包括測試大綱的制定、測試數(shù)據(jù)的生成、測試工具的選擇和開發(fā)等也應在測試階段之前進行。充分的準備工作可以 有效地克服測試的盲目性,縮短測試周期,提高測試效率,并且起到測試文檔與開發(fā)文檔互查的作用。四、 測試部門獨立的必要性測試部門在各個公司所處的位置可能是各不相同,大致可能有這么幾種:1、測試部門獨立,與開發(fā)部門平行; 2、測試部門獨立,但從屬于開發(fā)部門; 3、虛擬的測試部門,測試人員以組為單位被安排到各個開發(fā)團隊; 4、沒有專門的測試部門,每個開發(fā)團隊會有若干人在系統(tǒng)集成階段轉(zhuǎn)換成測試角色;好壞基本上是一目了然。第一種情況,從軟件過程管理上看,應該是最理想的,測試部門與開發(fā)部門平行,因此在項目中的地位就是平起平坐,從組織上避免了在項目中受制于開發(fā)團隊的風險,也因此能夠最大限度的根據(jù)軟件質(zhì)量規(guī)范對產(chǎn)品進行測試;后面三種情況,都是比較讓測試人員比較郁悶的,在項目中會處處受制于開發(fā)團隊,這就像做工程監(jiān)理的要被工程實施的管著一樣,變得比較可笑了。其實,測試人員融入到開發(fā)團隊也是有好的方面的,溝通會比較方便,任務響應也會比較及時,缺憾就是由于開發(fā)和測試人員溝通很容易,因此原有的一些軟件過程規(guī)范就開始變得不被重視,比如說當設計變更后,開發(fā)人員可能就不會再去更新設計文檔,而是口頭通知測試人員了,這樣的話,一是沒有留下設計變更的相關文檔,在后續(xù)的開發(fā)中無據(jù)可依,二是“空口無憑,立字為據(jù)”,產(chǎn)品若是出了問題,到底是誰的責任就說不清了;而且,在沒有一個過程規(guī)范的背景下去開發(fā),產(chǎn)品質(zhì)量肯定是無從保證的。因此,從軟件的質(zhì)量控制上考慮,測試部門還追好是獨立,與開發(fā)平行,而且測試部門更多的是要對產(chǎn)品經(jīng)理負責。五、 測試團隊的組織要討論這個話題,首先要討論下測試人員本身的歸屬,因為通常是人多了才有組織的必要,很多東西都是一點點長出來的。人數(shù)少,大部分是比較基礎的黑盒測試,相對也比較弱勢。沒有任何貶低的意思,但是客觀來說,這個階段的測試很難有一些比較深入的測試技術上的實踐,時間不允許,也處于沒有人帶的情況,大家基本上都專注在項目的功能測試上面。一直覺得環(huán)境對人的影響是比較大的。有些比較有上進心的同學會自己學一些技術,但是因為沒有指導,也沒有實際應用的場景,通常比較淺。后面等到整個研發(fā)體系發(fā)展大了之后,可能測試人員也慢慢多了起來,同時服務于多個開發(fā)小組,于是就出現(xiàn)了測試團隊的二級組織。比如對口每個開發(fā)小組的有幾個人,或者更多,然后有一個 lead 或者 first line manager,然后這些
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇教版數(shù)學五年級上冊課外拓展計劃
- 培訓機構(gòu)宿舍管理員職責與學員管理
- 小學語文教材評估與優(yōu)化計劃
- 社會支持與心理健康服務發(fā)展-洞察闡釋
- 引力波在銀河系天文學中的應用-洞察闡釋
- 2025年幼兒園小班教育改革計劃
- 初中數(shù)學下學期學業(yè)輔導計劃
- 農(nóng)業(yè)生產(chǎn)設備配備與使用計劃
- 心理咨詢行業(yè)危機干預職責
- 大學科學研究項目教學計劃
- 涉密人員涉密資格審查表
- GB/T 2346-2003流體傳動系統(tǒng)及元件公稱壓力系列
- GB 5009.74-2014食品安全國家標準食品添加劑中重金屬限量試驗
- FZ/T 10007-2018棉及化纖純紡、混紡本色紗線檢驗規(guī)則
- 《薪酬管理的國內(nèi)外文獻綜述》1100字
- 設備調(diào)撥單表格
- 工廠電氣安全培訓課件
- DB63T1743-2019青海省建筑工程資料管理規(guī)程
- 文稿成果pcb承認書
- (精華完整版)國家開放大學電大本科《農(nóng)業(yè)生態(tài)學》網(wǎng)絡課形考網(wǎng)考作業(yè)及答案
- 運動控制系統(tǒng)思考題參考答案阮毅
評論
0/150
提交評論