『壹』 白盒測試與黑盒測試區別(簡答題) 簡短一些不要長的,謝謝
這是軟體工程的吧??
你在期未考試?嘻嘻~~
給你最簡單的:
黑盒測試把程序看作一個不能打開的黑盆子,在完全不考慮程序內部結構和內部特性的情況下,針對軟體界面和軟體功能進行測試,只檢查程序功能是否按照需求規格說明書的規定正常使用。
白盒測試了解產品內部工作過程,從檢查程序的邏輯著手,檢驗程序中的每條通路是否都有能按預定要求正確工作,通過測試來檢測產品內部動作是否按照規格說明書的規定正常進行
『貳』 軟體工程答案什麼是白盒測試和黑盒測試,試各舉一例
黑盒測試:已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。
白盒測試:已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成分是否以經過檢查。
黑盒測試主要是為了發現以下幾類錯誤:
1、是否有不正確或遺漏的功能?
2、在介面上,輸入是否能正確的接受?能否輸出正確的結果?
3、是否有數據結構錯誤或外部信息(例如數據文件)訪問錯誤?
4、性能上是否能夠滿足要求?
5、是否有初始化或終止性錯誤?
白盒測試主要是想對程序模塊進行如下檢查:
1、對程序模塊的所有獨立的執行路徑至少測試一遍。
2、對所有的邏輯判定,取「真」與取「假」的兩種情況都能至少測一遍。
3、在循環的邊界和運行的界限內執行循環體。
4、測試內部數據結構的有效性,等等。
『叄』 誰能給我一份學習軟體工程的心得體會 不少於2000字的 這是我在百度提的第一個問題 希望有人回復!
我是個外行,不過還是可以幫助你的,你在網路首頁輸上學習軟體工程的心得體會,會在網路文庫里出現很多文庫,都是關於心得體會的,希望對您有幫助,
『肆』 軟體工程有了白盒測試還要黑盒測試嗎
需要,因為他們是兩種不同的測試:
黑盒測試把程序看作一個不能打開的黑盆子,在完全不考慮程序內部結構和內部特性的情況下,針對軟體界面和軟體功能進行測試,只檢查程序功能是否按照需求規格說明書的規定正常使用。
白盒測試了解產品內部工作過程,從檢查程序的邏輯著手,檢驗程序中的每條通路是否都有能按預定要求正確工作,通過測試來檢測產品內部動作是否按照規格說明書的規定正常進行
『伍』 軟體工程的黑盒和白盒測試是什麼
黑盒測試就是:只關注輸入數據和輸出結果,具體是怎麼實現的不關心,就像:2的平方為4,和2*2=4,結果一致,但具體實現過程不需要知道,就像一個黑盒子,你只可以看見兩端的結果,不知道內部具體的實現方式;
白盒就是很清楚的知道:功能是怎實現的,知道編程的內部結構;
『陸』 學習《軟體工程》心得和體會
軟體工程學習心得
在本學期的軟體工程課程的學習中,我們學習了十一章的內容。第一章軟體與軟體工程的概念,這一章主要講解的是一些概念性和基礎性的內容,例如軟體的概念、特性,軟體危機的主要表現,軟體工程的概念以及軟體生存期、典型生存期模型等等。第二章軟體工程方法與工具,這一章主要對軟體工程方法進行介紹,包括三種方法:傳統方法、面向對象方法、形式化方法。還引出了工具UML。第三章軟體需求獲取與結構化分析方法,本章詳細介紹了需求獲取與需求分析階段的任務以及結構化分析方法,畫分層的數據流圖、E-R圖以及狀態圖式本節的重點。第四章結構化分析方法,這一章重點講解了使用變換型映射方法和事務型映射方法生成初始的模塊結構以及模塊結構的改進。第五章編碼,這一章重點講解了編碼的風格及規范,還告訴我們編碼規范說帶來的好處,並告誡我們將來一點要形成好的編碼風格。第六章軟體測試方法,本章講解了軟體測試相關的概念及重要性,軟體測試與開發各個階段的關系;還介紹了白盒測試技術以及黑河測試技術。第七章統一建模語言UML概述,本章詳細介紹了UML的基本模式、事物、關系及建模時用到的各種圖進行了介紹。第八章面向對象分析,這一章主要講解了面向對象分析的3種模型,包括功能模型、靜態模型和動態模型。第九章軟體體系結構與設計模式,本章對軟體體系結構的基本概念、典型風格等進行了講解。第十章面向對象設計,本章的重點是對面向對象分析時建立的對象模型進行調整和細化。第十一章軟體維護,本章主要介紹軟體維護的任務、軟體維護活動以及軟體維護方法進行了介紹。
要學習軟體工程,學會如何系統的思考,以及養成良好的編碼習慣,想學好軟體工程,就必須知道軟體工程的目標、過程和原則:
軟體工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟體產品達到預期功能的程度。可用性指軟體基本結構、實現及文檔為用戶可用的程度。開銷合宜是指軟體開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
軟體工程過程:生產一個最終能滿足需求且達到工程目標的軟體產品所需要的步驟。軟體工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟體需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟體系統結構,包括子系統、模塊以及相關層次的說明、每一模塊的介面定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿於整個開發過程,實現完成後的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。
軟體工程的原則是指圍繞工程設計、工程支持以及工程管理在軟體開發過程中必須遵循的原則。
我們學習了詳細設計的方法,其原則是過程描述是否易於理解、復審和維護,進而過程描述能夠自然地轉換成代碼,並保證詳細設計與代碼完全一致。包括程序流程圖、N-S圖、PAD圖、HIPO圖
程序流程圖:程序流程圖又稱之為程序框圖,它是軟體開發者最熟悉的一種演算法表達工具。它獨立於任何一種程序設計語言,比較直觀和清晰地描述過程的控制流程,易於學習掌握。在流程圖中只能使用下述的五種基本控制結構:順序型;選擇型;while型循環;until型循環;多情況型選擇。
N-S圖:一種符合結構化程序設計原則的圖形描述工具,稱為盒圖,又稱為N-S圖。在N-S圖中,為了表示五種基本控制結構,規定了五種圖形構件。順序型;選擇型;WHILE重復型;UNTIL重復型;多分支選擇型。
PAD圖:它是用結構化程序設計思想表現程序邏輯結構的圖形工具。PAD也設置了五種基本控制結構的圖示,並允許遞歸使用。
HIPO圖:HIPO圖是由一組IPO圖加一張HC圖組成。它是美國IBM公司在軟體設計中使用的主要表達工具。
HC圖既是層次圖,用於表示軟體的分層結構。HC圖中的每一個模塊,均可用一張IPO圖來描述。IPO 圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數據文件框,這種圖形的優點,是能夠直觀地顯示輸入—處理—輸出三者之間的聯系。
還有測試方法:按照測試過程是否在實際應用環境中來分,有靜態分析與動態測試。測試方法有分析方法(包括靜態分析法與白盒法)與非分析方法(稱黑盒法)。
靜態分析技術:不執行被測軟體,可對需求分析說明書、軟體設計說明書、源程序做結構檢查、流程分析、符號執行來找出軟體錯誤。
動態測試技術:當把程序作為一個函數,輸入的全體稱為函數的定義域,輸出的全體稱為函數的值域,函數則描述了輸入的定義域與輸出值域的關系。
還學習了其他很多工具、語言、方法等,雖然不是都學得很透徹,但我相信在今後的學習中一定會慢慢的完善的。
軟體工程對於初學者來說,知識基礎較薄弱,對一些應用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學好軟體工程,不是僅僅把幾本專業書籍細致地看幾遍,然後上機練習幾次就可以成功,學習過程中要注意多看多練要注意結合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什麼都學,肯定是什麼都學不透的,要集中精力打攻堅戰,學習軟體工程首先要明白自己的學習目標究竟是什麼,根據自己的實際工作出發,有針對性的在相應的學習方向上進行提高,制定出詳細的學習規劃。還要注意與其他科目的相輔相成,就像我們在學習面向對象分析的時候要結合大一學習的面向對象及其方法學這一專業科目進行研究拓展;在學習語言時,要看看與C語言的聯系,多思多想,把從各個科目學到的知識通匯貫通。
在軟體工程的學習中,我了解到了軟體並非是一些代碼這么簡單,在開發軟體的過程中,編寫代碼的工作量其實只佔不到所有工程量的30%,而後期的管理和維護更是佔了60%到80%之多。一個完整的項目規劃須包括,軟體的定義,可行性分析報告,項目開發計劃,軟體需求說明書,概要設計說明書,詳細設計說明書,用戶操作手冊,測試計劃,測試分析報告,開發進度報告,項目開發總結報告,軟體維護手冊,軟體問題報告,軟體修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟體工程其中一個目的的關鍵,既研究如何用最小的開銷做出生存期較長的軟體,再加上各個階段都要進行周密的策劃、詳細的分工部署和人員安排,且各階段要據具體情況不斷的反復才能達成,所以代碼只是開發軟體這個浩大的工程的一個小小的過程。
而編碼的學習中,我更了解到形成自己獨特的規范的編碼風格是非常重要的事。因為這影響到了軟體後期繁重的維護,大家都要閱讀你的程序,如果你寫的程序毫無規范可言,那麼別人怎麼能讀懂你的程序?讀不懂程序,維護又從何談起呢?所以,我們在今後的學習中,一定要注意這方面的培養,在寫程序的過程中,要逐步的在規范的基礎上形成屬於自己的風格,即方便自己的修改,也方便日後他人的閱讀。
在學習中,我們還要注意比較三種方法的優缺點,例如:傳統方法雖然使軟體擺脫了混亂和無序,但其在適應需求變化的方面不夠靈活,而且傳統方法要麼面向行為,要麼面向數據,缺乏兩者的有機結合。而面向對象方法的程序設計和問題求解更符合人們日常自然的思維習慣,適合大型、復雜及交互性比較強的系統。形式化方法則是一中基於形式化數學變換的軟體開發方法,它可將系統的規格說明轉換為可執行的程序。
在今後的學習中要注意多讀書、多思考、多練習、多討論,不斷熟悉書本的基礎,並以此為基礎將其擴散開來,應用於今後的實踐。不斷鍛煉自己,向一名合格的程序設計師邁進。