讀《構建之法》提出的問題

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

  1. 豐富的想象力。不要拘泥於固定的思惟方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想象力是創建在豐富的知識的基礎上,除計算機之外,多涉獵其餘的學科,好比天文、物理、數學等等。另外,多看科幻電影也是一個很好的途徑。
  2. 最簡單的是最好的。這也許是全部科學都遵循的一條準則,如此複雜的質能互換原理在愛因斯坦眼裏不過是一個簡單得不能再簡單的公式:E=mc2。簡單的方法更容易被人理解,更容易實現,也更容易維護。遇到問題時要優先考慮最簡單的方案,只有簡單方案不能知足要求時再考慮複雜的方案。
  3. 不鑽牛角尖。當你遇到障礙的時候,不妨暫時遠離電腦,看看窗外的風景,聽聽輕音樂,和朋友聊聊天。當我遇到難題的時候會去玩遊戲,並且是那種極暴力的打鬥類遊戲,當負責遊戲的那部分大腦細胞極度亢奮的時候,負責編程的那部分大腦細胞就獲得了充分的休息。當從新開始工做的時候,我會發現那些難題如今居然能夠迎刃而解。
  4. 對答案的渴求。人類天然科學的發展史就是一個渴求獲得答案的過程,即便只能知道答案的一小部分也值得咱們去付出。只要你堅決信念,必定要找到問題的答案,你纔會付出精力去探索,即便最後沒有獲得答案,在過程當中你也會學到不少東西。
  5. 多與別人交流。三人行必有我師,也許在一次和別人不經意的談話中,就能夠迸出靈感的火花。多上上網,看看別人對同一問題的見解,會給你很大的啓發。 問題3:軟件質量的保證涉及太多方面,哪一方面是最重要的?哪一方面是最容易出紕漏的? 軟件測試是軟件質量保證工做的一個活動。即軟件測試是軟件質量保證工做的一個子集。軟件質量保證工做包括:評審,配置管理、風險管理、測試、創建標準、進行度量等一系列活動。 軟件質量保證(SQA-Software Quality Assurance)是創建一套有計劃,有系統的方法,來向管理層保證擬定出的標準、步驟、實踐和方法可以正確地被全部項目所採用。軟件質量保證的目的是使軟件過程對於管理人員來講是可見的。它經過對軟件產品和活動進行評審和審計來驗證軟件是合乎標準的。軟件質量保證組在項目開始時就一塊兒參與創建計劃、標準和過程。這些將使軟件項目知足機構方針的要求。
相關文章
相關標籤/搜索