1 回答

TA貢獻2003條經驗 獲得超2個贊
軟件開發中出現錯誤或缺陷的機會越來越多,市場對軟件質量重要性的認識逐漸增強。所以,軟件測試在軟件項目實施過程中的重要性日益突出。但是,現實情況是,與軟件編程比較,軟件測試的地位和作用,還沒有真正受到重視,對于很多人(甚至是軟件項目組的技術人員)還存在對軟件測試的認識誤區,這進一步影響了軟件測試活動開展和真正提高軟件測試質量。
(1)誤區之一:軟件開發完成后進行軟件測試
人們一般認為,軟件項目要經過以下幾個階段:需求分析,概要設計,詳細設計,軟件編碼,軟件測試,軟件發布。據此,認為軟件測試只是軟件編碼后的一個過程。這是不了解軟件測試周期的錯誤認識。軟件測試是一個系列過程活動,包括軟件測試需求分析,測試計劃設計,測試用例設計,執行測試。因此,軟件測試貫穿于軟件項目的整個生命過程。在軟件項目的每一個階段都要進行不同目的和內容的測試活動,以保證各個階段的正確性。軟件測試的對象不僅僅是軟件代碼,還包括軟件需求文檔和設計文檔。軟件開發與軟件測試應該是交互進行的,例如,單元編碼需要單元測試,模塊組合階段需要集成測試。如果等到軟件編碼結束后才進行測試,那么,測試的時間將會很短,測試的覆蓋面將很不全面,測試的效果也將大打折扣。更嚴重的是如果此時發現了軟件需求階段或概要設計階段的錯誤,如果要修復該類錯誤,將會耗費大量的時間和人力。
(2)誤區之二:軟件發布后如果發現質量問題,那是軟件測試人員的錯
這種認識很打擊軟件測試人員的積極性。軟件中的錯誤可能來自軟件項目中的各個過程,軟件測試只能確認軟件存在錯誤,不能保證軟件沒有錯誤,因為從根本上講,軟件測試不可能發現全部的錯誤。從軟件開發的角度看,軟件的高質量不是軟件測試人員測出來的,是靠軟件生命周期的各個過程中設計出來的。出現軟件錯誤,不能簡單地歸結為某一個人的責任,有些錯誤的產生可能不是技術原因,可能來自于混亂的項目管理。應該分析軟件項目的各個過程,從過程改進方面尋找產生錯誤的原因和改進的措施。
(3)誤區之三:軟件測試要求不高,隨便找個人做都行.,,,....
很多人都認為軟件測試就是安裝和運行程序,點點鼠標,按按鍵盤的工作。這是由于不了解軟件測試的具體技術和方法造成的。隨之軟件工程學的發展和軟件項目管理經驗的提高,軟件測試已經形成了一個獨立的技術學科,演變成一個具有巨大市場需求的行業。軟件測試技術不斷更新和完善,新工具,新流程,新測試設計方法都在不斷更新,需要掌握和學習很多測試知識。所以,具有編程經驗的程序員不一定是一名優秀的測試工程師。軟件測試包括測試技術和管理兩個方面,完全掌握這兩個方面的內容,需要很多測試實踐經驗和不斷學習精神。
(4)誤區之四:軟件測試是測試人員的事情,與程序員無關
開發和測試是相輔相成的過程,需要軟件測試人員、程序員和系統分析師等保持密切的聯系,需要更多的交流和協調,以便提高測試效率。另外,對于單元測試主要應該由程序員完成,必要時測試人員可以幫助設計測試樣例。對于測試中發現的軟件錯誤,很多需要程序員通過修改編碼才能修復。程序員可以通過有目的的分析軟件錯誤的類型、數量,找出產生錯誤的位置和原因,以便在今后的編程中避免同樣的錯誤,積累編程經驗,提高編程能力。
(5)誤區之五:項目進度吃緊時少做些測試,時間富裕時多做測試
這是不重視軟件測試的表現,也是軟件項目過程管理混亂的表現,必然會降低軟件測試的質量。一個軟件項目的順利實現需要有合理的項目進度計劃,其中包括合理的測試計劃,對項目實施過程中的任何問題,都要有風險分析和相應的對策,不要因為開發進度的延期而簡單的縮短測試時間、人力和資源。因為縮短測試時間帶來的測試不完整,對項目質量的下降引起的潛在風險,往往造成更大的浪費??朔@種現象的最好辦法是加強軟件過程的計劃和控制,包括軟件測試計劃、測試設計、測試執行、測試度量和測試控制。
(6)誤區之六:軟件測試是沒有前途的工作,只有程序員才是軟件高手
由于我國軟件整體開發能力比較低,軟件過程很不規范,很多軟件項目的開發都還停留在“作坊式”和“壘雞窩”階段。項目的成功往往靠個別全能程序員決定,他們負責總體設計和程序詳細設計,認為軟件開發就是編寫代碼,給人的印象往往是程序員是真正的牛人,具有很高的地位和待遇。因此,在這種環境下,軟件測試很不受重視,軟件測試人員的地位和待遇自然就很低了,甚至軟件測試變得可有可無。隨著市場對軟件質量的不斷提高,軟件測試將變得越來越重要,相應的軟件測試人員的地位和待遇將會逐漸提高。在軟件過程比較規范的大公司,軟件測試人員的數量和待遇與程序員沒有多大差別,優秀測試人員的待遇甚至比程序員還要高。軟件測試將會成為一個具有很大發展前景的行業,軟件測試大有前途,市場需要更多具有豐富測試技術和管理經驗的測試人員,他們同樣是軟件專家。 程序測試的過程具有破壞性
人類的活動具有高度的目的性,建立適當的目標具有重要的心理作用。如果我們的目的是要證明程序中沒有錯誤,那我們就會不自覺地朝這個方向去做;也就是說,我們會傾向于挑選那些使程序出錯的可能性較小的測試數據。另一方面,如果我們的目標是要證明程序中有錯,那就會選擇一些易于發現程序所含錯誤的測試數據。而后一種態度會比前者給程序增添更多的價值。 就業競爭小
人才供不應求讓軟件測試人員的就業競爭壓力明顯小于同類其它職業,有利于從業者的身心健康。另外,由于軟件測試在我國起步較晚,獨立設置測試部門、對測試人員有強烈需求的多為獨具慧眼的大中型IT企業。軟件測試人才不需要在小企業積累經驗就能獲得知名企業的入門通行證,工作起點高于同類其它職業。
高薪
剛入行的軟件測試人員,起步的月薪就在3000-5000元左右,遠高于同齡人2000元的薪資水平,隨著工作經驗的豐富以及能力的提升,這份薪水將一路看漲。
就業質量高
與其他IT職位相比,軟件測試人員最大的優勢就是發展方向太多了。由于工作的特殊性,測試人員不但需要對軟件的質量進行檢測,而且對于軟件項目的立項、管理、售前、售后等領域都要涉及。在此過程中,測試人員不僅提升了專業的軟件測試技能,還能接觸到各行各業,從而為自己的多元化發展奠定了基礎。
無性別歧視
如果把軟件開發領域比作“男子單打”,那么,軟件測試領域就是“混合雙打”。由于工作的特殊性,軟件測試人員更要具有認真、耐心、細致、敏感等個性元素,而這在一定程度上與女性的個性氣質相吻合。據了解,很多IT企業中軟件測試人員的比例更趨向男女平衡,甚至出現女性員工成主流的情況。 測試需要覆蓋到企業應用程序產品線的所有應用。通常,首先是去【問】“風險最大的應用是哪個?”并且一個個單獨查看。但是如果所有的低風險應用程序加起來有無數漏洞,也會造成災難?!?br/>配對,但是要更為靈活,測試人員需要將代碼自動化的任務留給開發人員。這是開發人員得到反饋最為迅速的方式,如果我們讓測試人員整天做自動測試,這是浪費時間。相反,應該讓測試人員和開發人員配對,并且幫助他們(開發人員)學習如何進行測試。一個優秀的測試人員能給團隊帶來什么?很多很多。
配對,然后真正的配對,就像mob編程團隊一樣。在mob編程里,一組有六到八名開發人員,他們集中到一個屋子里,一起狂熱地寫代碼。其實這一理念也可以用在測試上(有人稱之為mob測試),或者作為將測試人員和開發人員集中到同一個房間的方式,來一起找到解決問題的方法。
- 1 回答
- 0 關注
- 864 瀏覽
添加回答
舉報