問題1:作軟件測試必須有哪些的知識儲備?
(1)軟件開發技術
不少人認爲,幹嘛要學習軟件開發啊,那還不如直接去學什麼JAVA、C++、C#了。要知道,在之後的軟件測試工做中,你就會發現軟件開發與軟件測試之間是什麼樣的關係了。沒有軟件開發,就沒有軟件測試,有了軟件測試,軟件開發出的軟件產品纔可以達到用戶滿意的地步,他們之間是相互依賴關係。有了更多的軟件開發知識,就會更好地能理解軟件產品,就知道在哪一個環節開發人員容易犯錯誤,知道在哪一個邏輯結構、哪一個接口或函數,甚至是從內存的管理機制上均可以找出問題。
軟件開發所用的程序設計語言有不少種,因此要精通其中一門,其餘能看懂代碼,會對你的測試工做有更好的幫助,另外也會幫助開發人員進行快速缺陷定位。
並且在軟件測試工做中,要編寫一些輔助測試的小工具,都須要有軟件開發基礎。象測試過程管理工具、測試用例管理工具、缺陷跟蹤工具、性能檢測工具等等。
不要總是認爲軟件開發難,什麼事都是從不會到會,從不精通到精通,都須要一個過程。沒有人一輩子下來就什麼都會的,都須要本身的不斷努力才能成功。
(2)網絡技術
軟件是從字符界面產品發展到圖形界面產品,從單機版到網絡版(C/S結構和B/S結構),經歷了一個漫長的過程。計算機網絡的出現,改變了現實社會中人們的相互溝通方式,把一個小小的地球變成了一個地球村。因此,目前全部的軟件產品都從傳統的單機模式向網絡模式轉變,網絡技術就更加關鍵。
目前網絡的發展,使得網絡速度進一步提升。目前,家庭網速達到1M~2Mbps,企業達到4Mbps,聽說要到2012年家庭的網絡速度要達到20Mbps。那麼網絡硬件從傳統的電纜到目前的光纖技術、無線通訊技術。從目前的發展速度,三網(電信網、電視網、計算機網絡)合併是早晚的事情。
網絡硬件協議的測試,也是網絡設備生產商要作的工做,好比華爲和中興電子。
(3)數據庫技術
如今的數據信息是海量的。在目前的軟件產品中,底層架構中就須要有數據庫進行數據存儲,那麼對數據的增刪改查的操做是軟件測試人員必需要必備的技能。數據庫測試也是測試技術的一種。
(4)測試與質量保證技術
精通軟件測試理論,熟悉軟件測試流程,理解軟件測試的哲學思想,掌握軟件測試每一個階段的文檔編寫技巧,掌握軟件測試的策略與各類測試方法,掌握測試用例的設計方法。掌握單元測試、集成測試、確認測試、系統測試、驗收測試等每一個階段的測試技術。軟件質量保證知識、測試項目管理、測試團隊建設知識也是必需要具有的。
掌握軟件測試自動化工具,理解軟件測試自動化測試框架,可以學會如何進行測試項目管理、迴歸測試以及性能測試,可以把性能缺陷進行定位。
軟件測試仍是一個嶄新的學科,尚未造成一個獨有的知識體系,還須要咱們不斷的研究與實踐。
(5)行業知識
目前軟件測試涉及的行業是多種多樣的,從金融產品到電信、遊戲、汽車、殺毒、網站、企業管理、學校教育、本地化產品等等,各行各業的軟件產品都須要大量的測試,因此相關行業知識的儲備也是必須的。
(6)職場規範
職場禮儀是必須的,你是否適合某個企業,可否融入這個企業,基本的職場規範是要學習的。必要、有效的溝通也是軟件測試人員所必須掌握的技巧。
問題2:成爲一個好的程序員需具有哪些條件與素養?
1.紮實的基礎。數據結構、離散數學、編譯原理,這些是全部計算機科學的基礎,若是不掌握他們,很難寫出高水平的程序。據個人觀察,學計算機專業的人比學其餘專業的人更能寫出高質量的軟件。程序人人都會寫,但當你發現寫到必定程度很難再提升的時候,就應該想一想是否是要回過頭來學學這些最基本的理論。不要一開始就去學OOP,即便你再精通OOP,遇到一些基本算法的時候可能也會一籌莫展。程序員