導航:首頁 > 操作系統 > 單片機黑盒

單片機黑盒

發布時間:2022-06-13 18:32:30

單片機需要自己製作PCB板是做什麼用的以及什麼PLD的

自己畫PCB就相當於自己定製,可以加上自己需要的模塊,外形做成自己需要的形狀。如果你的電路不是通用的市場上基本買不到你需要的板子。當然初學者一般用洞洞板,但那樣比較丑的。
畫PCB不一定非要用Protel,還有PADS,Eagle,candence等。
PLD是可編程邏輯器件,目前主要用的是CPLD和FPGA,可以通過編程把數字系統「集成」在一片PLD上,而不用去定製晶元,或減小電路體積。

⑵ 有人知道兩個7447接數碼管做倒時器 怎樣編程單片機不

1.用7447進行解碼去驅動數碼管是很方便的,不知道你要倒計時多長時間,如果你倒計時60秒,只要用定時器實現定時,在中斷程序中輸出秒數的BCD碼,就行了。
2.你可以把7447看成一個黑盒,輸入BCD碼,輸出驅動數碼管,至於輸入的BCD碼真值表,在網上搜一下就有
3.定時器定時問題,如果你用51單片機,在12MHZ下,定時器最多定時60多ms,你可以用定時器定時50ms,再定義一個寄存器用於計數,存入20,進入定時器中斷後,先判斷計數是否為0,不為0則減1後,秒數不變輸出,若為0,重置計數寄存器,將秒數減1後輸出

⑶ 持所有64/32/16位cpu 和 mcu,是否可以支持 pci/vme/cpci 匯流排,可視

白盒測試也稱結構測試或邏輯驅動測試,它是按照程序內部的結構測試程序,通過測試來檢測產品內部動作是否按照設計規格說明書的規定正常進行,檢驗程序中的每條通路是否都能按預定要求正確工作。 這一方法是把測試對象看作一個打開的盒子,測試人員依據程序內部邏輯結構相關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試,通過在不同點檢查程序的狀態,確定實際的狀態是否與預期的狀態一致。 採用什麼方法對軟體進行測試呢?常用的軟體測試方法有兩大類:靜態測試方法和動態測試方法。其中軟體的靜態測試不要求在計算機上實際執行所測程序,主要以一些人工的模擬技術對軟體進行分析和測試;而軟體的動態測試是通過輸入一組預先按照一定的測試准則構造的實例數據來動態運行程序,而達到發現程序錯誤的過程。 白盒測試的測試方法有代碼檢查法、靜態結構分析法、靜態質量度量法、邏輯覆蓋法、基本路徑測試法、域測試、符號測試、Z路徑覆蓋、程序變異。 白盒測試法的覆蓋標准有邏輯覆蓋、循環覆蓋和基本路徑測試。其中邏輯覆蓋包括語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。 六種覆蓋標准:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋發現錯誤的能力呈由弱至強的變化。語句覆蓋每條語句至少執行一次。判定覆蓋每個判定的每個分支至少執行一次。條件覆蓋每個判定的每個條件應取到各種可能的值。判定/條件覆蓋同時滿足判定覆蓋條件覆蓋。條件組合覆蓋每個判定中各條件的每一種組合至少出現一次。路徑覆蓋使程序中每一條可能的路徑至少執行一次。 "白盒"法全面了解程序內部邏輯結構、對所有邏輯路徑進行測試。"白盒"法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程序的內部結構,從檢查程序的邏輯著手,得出測試數據。貫穿程序的獨立路徑數是天文數字。但即使每條路徑都測試了仍然可能有錯誤。第一,窮舉路徑測試決不能查出程序違反了設計規范,即程序本身是個錯誤的程序。第二,窮舉路徑測試不可能查出程序中因遺漏路徑而出錯。第三,窮舉路徑測試可能發現不了一些與數據相關的錯誤。 如何挑選白盒測試工具 白盒測試目前主要用在具有高可靠性要求的軟體領域,例如:軍工軟體、航天航空軟體、工業控制軟體等等。白盒測試工具在選購時應當主要是對開發語言的支持、代碼覆蓋的深度、嵌入式軟體的測試、測試的可視化等。 對開發語言的支持:白盒測試工具是對源代碼進行的測試,測試的主要內容包括詞法分析與語法分析、靜態錯誤分析、動態檢測等。但是對於不同的開發語言,測試工具實現的方式和內容差別是較大的。目前測試工具主要支持的開發語言包括:標准C、C++、Visual C++、Java、Visual J++等。 代碼的覆蓋深度:從覆蓋源程序語句的詳盡程度分析,邏輯覆蓋標准包括以下不同的覆蓋標准:語句覆蓋、判定覆蓋、條件覆蓋、條件判定組合覆蓋、多條件覆蓋和修正判定條件覆蓋。 ·語句覆蓋 為了暴露程序中的錯誤,程序中的每條語句至少應該執行一次。因此語句覆蓋(Statement Coverage)的含義是:選擇足夠多的測試數據,使被測程序中每條語句至少執行一次。語句覆蓋是很弱的邏輯覆蓋。 ·判定覆蓋 比語句覆蓋稍強的覆蓋標準是判定覆蓋(Decision Coverage)。判定覆蓋的含義是:設計足夠的測試用例,使得程序中的每個判定至少都獲得一次「真值」或「假值」,或者說使得程序中的每一個取「真」分支和取「假」分支至少經歷一次,因此判定覆蓋又稱為分支覆蓋。 ·條件覆蓋 在設計程序中,一個判定語句是由多個條件組合而成的復合判定。為了更徹底地實現邏輯覆蓋,可以採用條件覆蓋(Condition Coverage)的標准。條件覆蓋的含義是:構造一組測試用例,使得每一判定語句中每個邏輯條件的可能值至少滿足一次。 ·多條件覆蓋 多條件覆蓋也稱條件組合覆蓋,它的含義是:設計足夠的測試用例,使得每個判定中條件的各種可能組合都至少出現一次。顯然滿足多條件覆蓋的測試用例是一定滿足判定覆蓋、條件覆蓋和條件判定組合覆蓋的。 ·修正條件判定覆蓋 修正條件判定覆蓋是由歐美的航空/航天製造廠商和使用單位聯合制定的「航空運輸和裝備系統軟體認證標准」,目前在國外的國防、航空航天領域應用廣泛。這個覆蓋度量需要足夠的測試用例來確定各個條件能夠影響到包含的判定的結果。它要求滿足兩個條件:首先,每一個程序模塊的入口和出口點都要考慮至少要被調用一次,每個程序的判定到所有可能的結果值要至少轉換一次;其次,程序的判定被分解為通過邏輯操作符(and、or)連接的布爾條件,每個條件對於判定的結果值是獨立的。 不同的測試工具對於代碼的覆蓋能力也是不同的,通常能夠支持修正條件判定覆蓋的測試工具價格是極其昂貴的。 嵌入式軟體的測試:對於嵌入式軟體的測試,我們還需要一方面進一步考慮測試工具對於嵌入式操作系統的支持能力,例如DOS、Vxworks、Neculeus、Linux和Windows CE等;另一方面還需要考慮測試工具對於硬體平台的支持能力,包括是否支持所有陸四/三二/一陸位CPU 和 MCU,是否可以支持 PCI/VME/CPCI 匯流排。 測試的可視化:白盒測試是工作量巨大並且枯燥的工作,可視化的設計對於測試來說是十分重要的。在選購白盒測試工具時,應當考慮該款測試工具的可視化是否良好,例如:測試過程中是否可以顯示覆蓋率的函數分布圖和上升趨勢圖,是否使用不同的顏色區分已執行和未執行的代碼段顯示分配內存情況實時圖表等,這些對於測試效率和測試質量的提高是具有很大的作用的。 白盒測試之基本路徑測試法 白盒測試的測試方法有代碼檢查法、靜態結構分析法、靜態質量度量法、邏輯覆蓋法、基本路徑測試法、域測試、符號測試、Z路徑覆蓋、程序變異。 其中運用最為廣泛的是基本路徑測試法。 基本路徑測試法是在程序控制流圖的基礎上,通過分析控制構造的環路復雜性,導出基本可執行路徑集合,從而設計測試用例的方法。 設計出的測試用例要保證在測試中程序的每個可執行語句至少執行一次。 在程序控制流圖的基礎上,通過分析控制構造的環路復雜性,導出基本可執行路徑集合,從而設計測試用例。包括以下四個步驟和一個工具方法: 一. 程序的控制流圖:描述程序控制流的一種圖示方法。 二. 程序圈復雜度:McCabe復雜性度量。從程序的環路復雜性可導出程序基本路徑集合中的獨立路徑條數,這是確定程序中每個可執行語句至少執行一次所必須的測試用例數目的上界。 三. 導出測試用例:根據圈復雜度和程序結構設計用例數據輸入和預期結果。 四. 准備測試用例:確保基本路徑集中的每一條路徑的執行。 工具方法: 圖形矩陣:是在基本路徑測試中起輔助作用的軟體工具,利用它可以實現自動地確定一個基本路徑集。 程序的控制流圖:描述程序控制流的一種圖示方法。 圓圈稱為控制流圖的一個結點,表示一個或多個無分支的語句或源程序語句 流圖只有二種圖形符號: 圖中的每一個圓稱為流圖的結點,代表一條或多條語句。 流圖中的箭頭稱為邊或連接,代表控制流 任何過程設計都要被翻譯成控制流圖。 如何根據程序流程圖畫出控制流程圖? 在將程序流程圖簡化成控制流圖時,應注意: 在選擇或多分支結構中,分支的匯聚處應有一個匯聚結點。 邊和結點圈定的區域叫做區域,當對區域計數時,圖形外的區域也應記為一個區域。 基本路徑測試法的步驟: 第一步:畫出控制流圖 流程圖用來描述程序控制結構。可將流程圖映射到一個相應的流圖(假設流程圖的菱形決定框中不包含復合條件)。在流圖中,每一個圓,稱為流圖的結點,代表一個或多個語句。一個處理方框序列和一個菱形決測框可被映射為一個結點,流圖中的箭頭,稱為邊或連接,代表控制流,類似於流程圖中的箭頭。一條邊必須終止於一個結點,即使該結點並不代表任何語句(例如:if-else-then結構)。由邊和結點限定的范圍稱為區域。計算區域時應包括圖外部的范圍。 第二步:計算圈復雜度 圈復雜度是一種為程序邏輯復雜性提供定量測度的軟體度量,將該度量用於計算程序的基本的獨立路徑數目,為確保所有語句至少執行一次的測試數量的上界。獨立路徑必須包含一條在定義之前不曾用到的邊。 有以下三種方法計算圈復雜度: 流圖中區域的數量對應於環型的復雜性; 給定流圖G的圈復雜度V(G),定義為V(G)=E-N+二,E是流圖中邊的數量,N是流圖中結點的數量; 給定流圖G的圈復雜度V(G),定義為V(G)=P+一,P是流圖G中判定結點的數量。 第三步:導出測試用例 根據上面的計算方法,可得出四個獨立的路徑。(一條獨立路徑是指,和其他的獨立路徑相比,至少引入一個新處理語句或一個新判斷的程序通路。V(G)值正好等於該程序的獨立路徑的條數。) 路徑一:四-一四 路徑二:四-陸-漆-一四 路徑三:四-陸-吧-一0-一三-四-一四 路徑四:四-陸-吧-一一-一三-四-一四 根據上面的獨立路徑,去設計輸入數據,使程序分別執行到上面四條路徑。 白盒測試三步法 一) 根據代碼的功能,人工設計測試用例進行基本功能測試; 二) 統計白盒覆蓋率,為未覆蓋的白盒單位設計測試用例,實現完整的白盒覆蓋,比較理想的覆蓋率是實現一00%語句、條件、分支、路徑覆蓋; 三) 自動生成大量的測試用例,捕捉"程序員未處理某些特殊輸入"形成的錯誤。 第一步的測試用例通常是現成的,因為詳細設計文檔會規定程序的基本功能,沒有文檔的,程序員在編程時也要想清楚程序的功能,這些基本功能就是基本測試用例; 第二步是在第一步的基礎上,檢查未覆蓋的白盒單位,由於未覆蓋的邏輯單位通常對應未測試的等價類,因此第二步可以找出第一步所遺漏的測試用例; 第三步用自動動態測試彌補第二步的固有缺陷。 "三步法"盡量避免重復工作,白盒方法和黑盒方法相結合,人工方法和自動方法相補充,如果第二步的覆蓋率比較理想,那麼基本上可以保證找出所有等價類。在開發過程允許的限度內,"三步法"已接近極限,當得起"徹底測試"四個字。 黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試地,把程序看作一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,在程序介面進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息。黑盒測試著眼於程序外部結構,不考慮內部邏輯結構,主要針對軟體界面和軟體功能進行測試。 黑盒測試是以用戶的角度,從輸入數據與輸出數據的對應關系出發進行測試的。很明顯,如果外部特性本身有問題或規格說明的規定有誤,用墨盒測試方法是發現不了的。 黑盒測試法注重於測試軟體的功能需求,主要試圖發現下列幾類錯誤。 功能不正確或遺漏; 界面錯誤; 資料庫訪問錯誤; 性能錯誤; 初始化和終止錯誤等。 從理論上講,黑盒測試只有採用窮舉輸入測試,把所有可能的輸入都作為測試情況考慮,才能查出程序中所有的錯誤。實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但可能的輸入進行測試。這樣看來,完全測試是不可能的,所以我們要進行有針對性的測試,通過制定測試案例指導測試的實施,保證軟體測試有組織、按步驟,以及有計劃地進行。黑盒測試行為必須能夠加以量化,才能真正保證軟體質量,而測試用例就是將測試行為具體量化的方法之一。具體的黑盒測試用例設計方法包括等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、判定表驅動法、正交試驗設計法、功能圖法等。 等價類劃分的辦法是把程序的輸入域劃分成若幹部分(子集),然後從每個部分中選取少數代表性數據作為測試用例。每一類的代表性數據在測試中的作用等價於這一類中的其他值。該方法是一種重要的,常用的黑盒測試用例設計方法。 一) 劃分等價類: 等價類是指某個輸入域的子集合。在該子集合中,各個輸入數據對於揭露程序中的錯誤都是等效的,並合理地假定:測試某等價類的代表值就等於對這一類其它值的測試.因此,可以把全部輸入數據合理劃分為若乾等價類,在每一個等價類中取一個數據作為測試的輸入條件,就可以用少量代表性的測試數據.取得較好的測試結果.等價類劃分可有兩種不同的情況:有效等價類和無效等價類. 有效等價類:是指對於程序的規格說明來說是合理的,有意義的輸入數據構成的集合.利用有效等價類可檢驗程序是否實現了規格說明中所規定的功能和性能. 無效等價類:與有效等價類的定義恰巧相反. 設計測試用例時,要同時考慮這兩種等價類.因為,軟體不僅要能接收合理的數據,也要能經受意外的考驗.這樣的測試才能確保軟體具有更高的可靠性. 二)劃分等價類的方法:下面給出六條確定等價類的原則. ①在輸入條件規定了取值范圍或值的個數的情況下,則可以確立一個有效等價類和兩個無效等價類. ②在輸入條件規定了輸入值的集合或者規定了「必須如何」的條件的情況下,可確立一個有效等價類和一個無效等價類. ③在輸入條件是一個布爾量的情況下,可確定一個有效等價類和一個無效等價類. ④在規定了輸入數據的一組值(假定n個),並且程序要對每一個輸入值分別處理的情況下,可確立n個有效等價類和一個無效等價類. ⑤在規定了輸入數據必須遵守的規則的情況下,可確立一個有效等價類(符合規則)和若干個無效等價類(從不同角度違反規則). ⑥在確知已劃分的等價類中各元素在程序處理中的方式不同的情況下,則應再將該等價類進一步的劃分為更小的等價類. 三)設計測試用例:在確立了等價類後,可建立等價類表,列出所有劃分出的等價類: 輸入條件 有效等價類 無效等價類 ... ... ... ... ... ... 然後從劃分出的等價類中按以下三個原則設計測試用例: ①為每一個等價類規定一個唯一的編號. ②設計一個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋地有效等價類,重復這一步.直到所有的有效等價類都被覆蓋為止. ③設計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重復這一步.直到所有的無效等價類都被覆蓋為止. 邊界值分析是通過選擇等價類邊界的測試用例。邊界值分析法不僅重視輸入條件邊界,而且也必須考慮輸出域邊界。它是對等價類劃分方法的補充. (一)邊界值分析方法的考慮: 長期的測試工作經驗告訴我們,大量的錯誤是發生在輸入或輸出范圍的邊界上,而不是發生在輸入輸出范圍的內部.因此針對各種邊界情況設計測試用例,可以查出更多的錯誤. 使用邊界值分析方法設計測試用例,首先應確定邊界情況.通常輸入和輸出等價類的邊界,就是應著重測試的邊界情況.應當選取正好等於,剛剛大於或剛剛小於邊界的值作為測試數據,而不是選取等價類中的典型值或任意值作為測試數據. (二)基於邊界值分析方法選擇測試用例的原則: 一)如果輸入條件規定了值的范圍,則應取剛達到這個范圍的邊界的值,以及剛剛超越這個范圍邊界的值作為測試輸入數據. 二)如果輸入條件規定了值的個數,則用最大個數,最小個數,比最小個數少一,比最大個數多一的數作為測試數據. 三)根據規格說明的每個輸出條件,使用前面的原則一). 四)根據規格說明的每個輸出條件,應用前面的原則二). 5)如果程序的規格說明給出的輸入域或輸出域是有序集合,則應選取集合的第一個元素和最後一個元素作為測試用例. 陸)如果程序中使用了一個內部數據結構,則應當選擇這個內部數據結構的邊界上的值作為測試用例. 漆)分析規格說明,找出其它可能的邊界條件. 錯誤推測法是基於經驗和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法. 錯誤推測方法的基本思想: 列舉出程序中所有可能有的錯誤和容易發生錯誤的特殊情況,根據他們選擇測試用例. 例如, 在單元測試時曾列出的許多在模塊中常見的錯誤. 以前產品測試中曾經發現的錯誤等, 這些就是經驗的總結. 還有, 輸入數據和輸出數據為0的情況. 輸入表格為空格或輸入表格只有一行. 這些都是容易發生錯誤的情況. 可選擇這些情況下的例子作為測試用例. 因果圖法: 前面介紹的等價類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯系, 相互組合等. 考慮輸入條件之間的相互組合,可能會產生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價類,他們之間的組合情況也相當多. 因此必須考慮採用一種適合於描述對於多種條件的組合,相應產生多個動作的形式來考慮設計測試用例. 這就需要利用因果圖(邏輯模型). 因果圖方法最終生成的就是判定表. 它適合於檢查程序輸入條件的各種組合情況. 利用因果圖生成測試用例的基本步驟: (一) 分析軟體規格說明描述中, 那些是原因(即輸入條件或輸入條件的等價類),那些是結果(即輸出條件), 並給每個原因和結果賦予一個標識符. (二) 分析軟體規格說明描述中的語義.找出原因與結果之間, 原因與原因之間對應的關系. 根據這些關系,畫出因果圖. (三) 由於語法或環境限制, 有些原因與原因之間,原因與結果之間的組合情況不不可能出現. 為表明這些特殊情況, 在因果圖上用一些記號表明約束或限制條件. (四) 把因果圖轉換為判定表. (5) 把判定表的每一列拿出來作為依據,設計測試用例. 從因果圖生成的測試用例(局部,組合關系下的)包括了所有輸入數據的取TRUE與取FALSE的情況,構成的測試用例數目達到最少,且測試用例數目隨輸入數據數目的增加而線性地增加. 前面因果圖方法中已經用到了判定表.判定表(Decision Table)是分析和表達多邏輯條件下執行不同操作的情況下的工具.在程序設計發展的初期,判定表就已被當作編寫程序的輔助工具了.由於它可以把復雜的邏輯關系和多種條件組合的情況表達得既具體又明確. 判定表通常由四個部分組成. 條件樁(Condition Stub):列出了問題得所有條件.通常認為列出得條件的次序無關緊要. 動作樁(Action Stub):列出了問題規定可能採取的操作.這些操作的排列順序沒有約束. 條件項(Condition Entry):列出針對它左列條件的取值.在所有可能情況下的真假值. 動作項(Action Entry):列出在條件項的各種取值情況下應該採取的動作. 規則:任何一個條件組合的特定取值及其相應要執行的操作.在判定表中貫穿條件項和動作項的一列就是一條規則.顯然,判定表中列出中國組條件取值,也就有中國條規則,既條件項和動作項有中國列. 判定表的建立步驟:(根據軟體規格說明) ①確定規則的個數.假如有n個條件.每個條件有兩個取值(0,一),故有 種規則. ②列出所有的條件樁和動作樁. ③填入條件項. ④填入動作項.等到初始判定表. ⑤簡化.合並相似規則(相同動作). B. Beizer 指出了適合使用判定表設計測試用例的條件: ①規格說明以判定表形式給出,或很容易轉換成判定表. ②條件的排列順序不會也不影響執行哪些操作. ③規則的排列順序不會也不影響執行哪些操作. ④每當某一規則的條件已經滿足,並確定要執行的操作後,不必檢驗別的規則. ⑤如果某一規則得到滿足要執行多個操作,這些操作的執行順序無關緊要. 正交試驗設計法,就是使用已經造好了的正交表格來安排試驗並進行數據分析的一種方法,目的是用最少的測試用例達到最高的測試覆蓋率。 黑盒測試的優點 一. 基本上不用人管著,如果程序停止運行了一般就是被測試程序crash了 二. 設計完測試例之後,下來的工作就是爽了,當然更苦悶的是確定crash原因 黑盒測試的缺點 一. 結果取決於測試例的設計,測試例的設計部分來勢來源於經驗,OUSPG的東西很值得借鑒 二. 沒有狀態轉換的概念,目前一些成功的例子基本上都是針對PDU來做的,還做不到針對被測試程序的狀態轉換來作 三. 就沒有狀態概念的測試來說,尋找和確定造成程序crash的測試例是個麻煩事情,必須把周圍可能的測試例單獨確認一遍。而就有狀態的測試來說,就更麻煩了,尤其不是一個單獨的testcase造成的問題。這些在堆的問題中表現的更為突出。 黑盒測試(功能測試)工具的選擇 那麼,如何高效地完成功能測試?選擇一款合適的功能測試工具並培訓一支高素質的工具使用隊伍無疑是至關重要的。盡管現階段存在少數不採用任何功能測試工具,從事功能測試外包項目的軟體服務企業。短期來看,這類企業盈利狀況尚可,但長久來看,它們極有可能被自動化程度較高的軟體服務企業取代。 目前,用於功能測試的工具軟體有很多,針對不同架構軟體的工具也不斷推陳出新。這里重點介紹的是其中一個較為典型自動化測試工具,即Mercury公司的WinRunner。 WinRunner是一種用於檢驗應用程序能否如期運行的企業級軟體功能測試工具。通過自動捕獲、檢測和模擬用戶交互操作,WinRunner能識別出絕大多數軟體功能缺陷,從而確保那些跨越了多個功能點和資料庫的應用程序在發布時盡量不出現功能性故障。 WinRunner的特點在於: 與傳統的手工測試相比,它能快速、批量地完成功能點測試; 能針對相同測試腳本,執行相同的動作,從而消除人工測試所帶來的理解上的誤差; 此外,它還能重復執行相同動作,測試工作中最枯燥的部分可交由機器完成; 它支持程序風格的測試腳本,一個高素質的測試工程師能藉助它完成流程極為復雜的測試,通過使用通配符、宏、條件語句、循環語句等,還能較好地完成測試腳本的重用; 它針對於大多數編程語言和Windows技術,提供了較好的集成、支持環境,這對基於Windows平台的應用程序實施功能測試而言帶來了極大的便利。 WinRunner的工作流程大致可以分為以下六個步驟: 一.識別應用程序的GUI 在WinRunner中,我們可以使用GUI Spy來識別各種GUI對象,識別後,WinRunner會將其存儲到GUI Map File中。它提供兩種GUI Map File模式: Global GUI Map File和GUI Map File per Test。其最大區別是後者對每個測試腳本產生一個GUI文件,它能自動建立、存儲、載入,推薦初學者選用這種模式。但是,這種模式不易於描述對象的改變,其效率比較低,因此對於一個有經驗的測試人員來說前者不失為一種更好的選擇,它只產生一個共享的GUI文件,這使得測試腳本更容易維護,且效率更高。 二.建立測試腳本 在建立測試腳本時,一般先進行錄制,然後在錄制形成的腳本中手工加入需要的TSL(與C語言類似的測試腳本語言)。錄制腳本有兩種模式: Context Sensitive和Analog,選擇依據主要在於是否對滑鼠軌跡進行模擬,在需要回放時一般選用Analog。在錄制過程中這兩種模式可以通過F二鍵相互切換。 只要看看現代軟體的規模和功能點數就可以明白,功能測試早已跨越了單靠手工敲敲鍵盤、點點滑鼠就可以完成的階段。而性能測試則是控制系統性能的有效手段,在軟體的能力驗證、能力規劃、性能調優、缺陷修復等方面都發揮著重要作用。 三.對測試腳本除錯(debug) 在WinRunner中有專門一個Debug Toolbar用於測試腳本除錯。可以使用step、pause、breakpoint等來控制和跟蹤測試腳本和查看各種變數值。 四.在新版應用程序執行測試腳本 當應用程序有新版本發布時,我們會對應用程序的各種功能包括新增功能進行測試,這時當然不可能再來重新錄制和編寫所有的測試腳本。我們可以使用已有的腳本,批量運行這些測試腳本測試舊的功能點是否正常工作。可以使用一個call命令來載入各測試腳本。還可在call命令中加各種TSL腳本來增加批量能力。 5.分析測試結果 分析測試結果在整個測試過程中最重要,通過分析可以發現應用程序的各種功能性缺陷。當運行完某個測試腳本後,會產生一個測試報告,從這個測試報告中我們能發現應用程序的功能性缺陷,能看到實際結果和期望結果之間的差異,以及在測試過程中產生的各類對話框等。 陸.回報缺陷(defect) 在分析完測試報告後,按照測試流程要回報應用程序的各種缺陷,然後將這些缺陷發給指定人,以便進行修改和維護。 常用的功能測試方法 功能測試就是對產品的各功能進行驗證,根據功能測試用例,逐項測試,檢查產品是否達到用戶要求的功能

⑷ 有關51單片機的學習

有了這些基礎你學起來相當快了,先做一個最小系統,再一步步地在最小系統上加一些外擴設備,這樣才能一步步地練會。別買人家現成的開發板,那樣,你什麼也學不會,除了編了幾個沒有用的程序。

書就不用買了,你去網路文庫下吧,那裡大部分經典的書都有!要先看講解匯編的,再看看C的

⑸ 什麼是 嵌入式軟體測試求答案

一、嵌入式軟體的測試方法 一般來說,軟體測試有7個基本階段,即單元或模塊測試、集成測試、外部功能測試、回歸測試、系統測試、驗收測試、安裝測試。嵌入式軟體測試在4個階段上進行,即模塊測試、集成測試、系統測試、硬體/軟體集成測試。前3個階段適用於任何軟體的測試,硬體/軟體集成測試階段是嵌入式軟體所特有的,目的是驗證嵌入式軟體與其所控制的硬體設備能否正確地交互。 1、白盒測試與黑盒測試 一般來說,軟體測試有兩種基本的方式,即白盒測試方法與黑盒測試方法,嵌入式軟體測試也不例外。 白盒測試或基本代碼的測試檢查程序的內部設計。根據源代碼的組織結構查找軟體缺陷,一股要求測試人員對軟體的結構和作用有詳細的了解,白盒測試與代碼覆蓋率密切相關,可以在白盒測試的同時計算出測試的代碼的覆蓋率,保證測試的充分性。把100%的代碼都測試到幾乎是不可能的, 所以要選擇最重要的代碼進行白盒測試。由於嚴格的安全性和可靠性的要求,嵌入式軟體測試同非嵌入式軟體測試相比,通常要求有更高的代碼覆蓋率。對於嵌入式軟體,白盒測試一般不必在目標硬體上進行,更為實際的方式是在開發環境中通過硬體模擬進行,所以選取的測試工具應該支持在宿主環境中的測試。 黑盒測試在某些情況下也稱為功能測試。這類測試方法根據軟體的用途和外部特徵查找軟體缺陷,不需要了解程序的內部結構。黑盒測試最大的優勢在於不依賴代碼,而是從實際使用的角度進行測試,通過黑盒測試可以發現白盒測試發現不了的問題。因為黑盒測試與需求緊密相關,需求規格說明的質量會直接影響測試的結果,黑盒測試只能限制在需求的范圍內進行。在進行嵌入式軟體黑盒測試時,要把系統的預期用途作為重要依據,根據需求中對負載、定時、性能的要求,判斷軟體是否滿足這些需求規范。為了保證正確地測試,還須要檢驗軟硬體之間的介面。嵌入式軟體黑盒測試的一個重要方面是極限測試。在使用環境中,通常要求嵌入式軟體的失效過程要平穩,所以,黑盒測試不儀要檢查軟體工作過程,也要檢查軟體換效過程。 2、目標環境測試和宿主環境測試 在嵌入式軟體測試中,常常要在基於目標的測試和基於宿主的測試之間作出折衷。基於目標的測試消耗較多的經費和時間,而基於宿主的測試代價較小,但畢竟是在模擬環境中進行的。目前的趨勢是把更多的測試轉移到宿主環境中進行,但是,目標環境的復雜性和獨特性不可能完全模擬。 在兩個環境中可以出現不同的軟體缺陷,重要的是目標環境和宿主環境的測試內容有所選擇。在宿主環境中,可以進行邏輯或界面的測試、以及與硬體無關的測試。在模擬或宿主環境中的測試消耗時間通常相對較少,用調試工具可以更快地完成調試和測試任務。而與定時問題有關的白盒測試、中斷測試、硬體介面測試只能在目標環境中進行。在軟體測試周期中,基於目標的測試是在較晚的「硬體/軟體集成測試」階段開始的,如果不更早地在模擬環境中進行白盒測試,而是等到「硬體/軟體集成測試」階段進行全部的白盒測試,將耗費更多的財力和人力。二、嵌入式軟體的測試工具 用於輔助嵌入式軟體測試的工具很多,下面對幾類比較有用的有關嵌入式軟體的測試工具加以介紹和分析。 1、內存分析工具 在嵌入式系統中,內存約束通常是有限的。內存分析工具用來處理在動態內存分配中存在的缺陷。當動態內存被錯誤地分配後,通常難以再現,可能導致的失效難以追蹤,使用內存分析工具可以避免這類缺陷進入功能測試階段。目前有兩類內存分析工具——軟體和硬體的。基於軟體的內存分析工具可能會對代碼的性能造成很大影響,從而嚴重影響實時操作;基於硬體的內存分析工具價格昂貴,而且只能在工具所限定的運行環境中使用。 2、性能分析工具 在嵌入式系統中,程序的性能通常是非常重要的。經常會有這樣的要求,在特定時間內處理一個中斷,或生成具有特定定時要求的一幀。開發人面臨的問題是決定應該對哪一部分代碼進行優化來改進性能,常常會花大量的時間去優化那些對性能沒有任何影響的代碼。性能分析工具會提供有關的數據,說明執行時間是如何消耗的,是什麼時候消耗的,以及每個常式所用的時間。根據這些數據,確定哪些常式消耗部分執行時間,從而可以決定如何優化軟體,獲得更好的時間性能。對於大多數應用來說,大部分執行時間用在相對少量的代碼上,費時的代碼估計占所有軟體總量的5%-20%。性能分析工具不僅能指出哪些常式花費時間,而且與調試工具聯合使用可以引導開發人員查看需要優化的特定函數,性能分析工具還可以引導開發人員發現在系統調用中存在的錯誤以及程序結構上的缺陷。 3、GUI測試工具 很多嵌入式應用帶有某種形式的圖形用戶界面進行交互,有些系統性能測試足根掘用戶輸入響應時間進行的。GUI測試工具可以作為腳本工具有開發環境中運行測試用例,其功能包括對操作的記錄和回放、抓取屏幕顯示供以後分析和比較、設置和管理測試過程。很多嵌入式設備沒有GUI,但常常可以對嵌入式設備進行插裝來運行GUI測試腳本,雖然這種方式可能要求對被測代碼進行更改,但是節省了功能測試和回歸測試的時間。 4、覆蓋分析工具 在進行白盒測試時,可以使用代碼覆蓋分析工具追蹤哪些代碼被執行過。分析過程可以通過插裝來完成,插裝可以是在測試環境中嵌入硬體,也可以是在可執行代碼中加入軟體,也可以是二者相結合。測試人員對結果數據加以總結,確定哪些代碼被執行過,哪些代碼被巡漏了。覆蓋分析工具一般會提供有關功能覆蓋、分支覆蓋、條件覆蓋的信息。對於嵌入式軟體來說,代碼覆蓋分析工具可能侵入代碼的執行,影響實時代碼的運行過程。基於硬體的代碼覆蓋分析工具的侵入程度要小一些,但是價格一般比較昂貴,而且限制被測代碼的數量。
三、嵌入式軟體測試策略 在嵌入式領域目標系統的應用系統日趨復雜,而由於競爭要求產品快速上市,開發技術日新月異,同時硬體發展的日益穩定,而軟體故障卻日益突出,軟體的重要性逐漸引起人們的重視,越來越多的人認識到嵌入式系統的測試勢在必行。提到嵌入式軟體測試,首先要簡單介紹一些軟體工程的一些觀點,現在,被普遍接受的軟體的定義是:軟體(software)是計算機系統中與硬體(hardware)相互依存的另一部分,它包括程序(program)、相關數據(data)及其說明文檔(document)。其中程序是按照事先設計的功能和性能要求執行的指令序列;數據是是程序能正常操縱信息的數據結構;文檔是與程序開發維護和使用有關的各種圖文資料。 對於一般商用軟體的測試,嵌入式軟體測試有其自身的特點和測試困難。 由於嵌入式系統的自身特點,如實時性(Real-timing),內存不豐富,I/O通道少,開發工具昂貴,並且與硬體緊密相關CPU種類繁多,等等。嵌入式軟體的開發和測試也就與一般商用軟體的開發和測試策略有了很大的不同,可以說嵌入式軟體是最難測試的一種軟體。 嵌入式軟體測試使用有效的測試策略是唯一的出路,它可以使開發的效率最大化,避免目標系統的瓶頸,使用在線模擬器節省昂貴的目標資源。自從出現高級語言,開發環境與最終運行環境通常都是存在差異的,嵌入式系統更是如此。開發環境被認為是主機平台,軟體運行環境為目標平台。相應的測試為host-target測試或cross-testing。 討論嵌入式軟體測試首先就會遇到一個問題:為什麼不把所有測試都放在目標上進行呢?因為若所有測試都放在目標平台上有很多不利的因素: 1)測試軟體,可能會造成與開發者爭奪時間的瓶頸,避免它只有提供更多的目標環境。
2)目標環境可能還不可行。
3)比起主機平台環境,目標環境通常是不精密的和不方便的。
4)提供給開發者的目標環境和聯合開發環境通常是很昂貴的。
7)使用主機與目標環境之間有什麼限制(如軟體安全標准)? 任何人或組織進行嵌入式軟體的測試都應深入考慮以上問題,結合自身實際情況,選定合理測試策略和方案。 對於嵌入式軟體測試或叫交叉測試(cross-test),在測試的各個階段有著通用的策略: 1.單元測試 所有單元級測試都可以在主機環境上進行,除非少數情況,特別具體指定了單元測試直接在目標環境進行。最大化在主機環境進行軟體測試的比例,通過盡可能小的目標單元訪問所有目標指定的界面。 在主機平台上運行測試速度比在目標平台上快的多,當在主機平台完成測試,可以在目標環境上重復作一簡單的確認測試,確認測試結果在主機和目標機上沒有被他們的不同影響。在目標環境上進行確認測試將確定一些未知的,未預料到的,未說明的主機與目標機的不同。例如,目標編譯器可能有bug,但在主機編譯器上沒有。 2.集成測試 軟體集成也可在主機環境上完成,在主機平台上模擬目標環境運行,當然在目標環境上重復測試也是必須的,在此級別上的確認測試將確定一些環境上的問題,比如內存定位和分配上的一些錯誤。
在主機環境上的集成測試的使用,依賴於目標系統的具體功能有多少。有些嵌入式系統與目標環境耦合的非常緊密,若在主機環境做集成是不切實際的。一個大型軟體的開發可以分幾個級別的集成。低級別的軟體集成在主機平台上完成有很大優勢,越往後的集成越依賴於目標環境。 3.系統測試和確認測試 所有的系統測試和確認測試必須在目標環境下執行。當然在主機上開發和執行系統測試,然後移植到目標環境重復執行是很方便的。對目標系統的依賴性會妨礙將主機環境上的系統測試移植到目標系統上,況且只有少數開發者會捲入系統測試,所以有時放棄在主機環境上執行系統測試可能更方便。 確認測試最終的實施舞台必須在目標環境中,系統的確認必須在真實系統之下測試,而不能在主機環境下模擬。這關繫到嵌入式軟體的最終使用。 包括恢復測試、安全測試、強度測試、性能測試,已超出了軟體測試的范疇,本文暫不討論。 使用有效的cross-test測試策略可極大的提高嵌入式軟體開發測試的水平和效率,當然正確的測試工具使用也是必不可少的: 總結一下,應用以上測試工具進行.Cross-test時的策略: A)使用測試工具的插裝功能(主機環境)執行靜態測試分析,並且為動態覆蓋測試准備好一插裝好的軟體代碼。
B)使用源碼在主機環境執行功能測試,修正軟體的錯誤和測試腳本中的錯誤。
C)使用插裝後的軟體代碼執行覆蓋率測試,添加測試用例或修正軟體的錯誤,保證達到所要求的覆蓋率目標。
D)在目標環境下重復(B),確認軟體在目標環境中執行測試的正確性。
E)若測試需要達到極端的完整性,最好在目標系統上重復(C),確定軟體的覆蓋率沒有改變。 通常在主機環境執行多數的測試,只是在最終確定測試結果和最後的系統測試才移植到目標環境,這樣可以避免發生訪問目標系統資源上的瓶頸,也可以減少在昂貴資源如在線模擬器上的費用。另外,若目標系統的硬體由於某種原因而不能使用時,最後的確認測試可以推遲直到目標硬體可用,這為嵌入式軟體的開發測試提供了彈性。設計軟體的可移植性是成功進行cross-test的先決條件,它通常可以提高軟體的質量,並且度軟體的維護大有益處。以上所提到的測試工具,都可以通過各自的方式提供測試在主機與目標之間的移植,從而使嵌入式軟體的測試得以方便的執行。 使用有效的cross-test測試策略可極大的提高嵌入式軟體開發測試的水平和效率,提高嵌入式軟體的質量。附錄:
1). HOST-TARGET的連接方法簡介:圖1-- 直接連接圖2 -- 通過模擬器連接圖3 -- 使用介質進行間接連接圖4 -- 使用PROM等傳遞被測軟體圖5 -- 測試的交互界面圖6 -- 無交互界面的連接四、結論 嵌入式系統在人類生活中發揮著重要的作用,包括飛行控制器這樣的控制系統,以及洗衣機這樣的家用電器。日前,嵌入式系統中軟體的比重越來越大,也越來越復雜,保證嵌入式軟體的可靠性正面臨嚴峻的挑戰。 大多數軟體測試方法都可以直接或間接地用於嵌入式軟體的測試,但是由於操作系統的實時和嵌入式特性,嵌入式軟體測試也面臨一些特殊的問題。雖然日前已經有一些針對嵌入式軟體的測試和調試工具,但是在有些方面仍存在不足,包括許多任務操作系統的並發、非侵入式的測試和凋試、嵌入式系統的軟體抽象等。對於嵌入式軟體測試技術的研究人選測試工具有待開發,仍須要做很多進一步的工作。

⑹ 51單片機匯編程序用keil編程,編譯後怎麼知道程序能否正常運行比如說輸入一個值怎麼知道這個程序

黑盒測試。先用已知輸入1,測試系統輸出是否為已知輸出1,接著更換已知輸入2驗證輸出是否為已知輸出2……依此進行驗證。

⑺ 為什麼單片機都是黑色的

你是說晶元的顏色?因為材料就是黑色的啊。況且單片機是拿來用的,不是拿來看的,做成彩色的有什麼用?

⑻ 單片機讀寫U盤

單片機讀寫U盤的模塊 USB118
_不用電腦也能讀寫U盤中的文件!

■ 型 號: USB118AD USB118A
關鍵詞:U盤、單片機、USB2.0、USB Host、USB主設備、設備黑匣子、數據記錄

■ 簡 介
目前,基於USB2.0介面的移動存儲設備已經被廣泛使用,尤其是採用USB-FLASH技術的U盤產品的容量由幾年前的16M增加到現在的4G以上。我們知道,U盤通常是作為計算機的外部存儲設備,能否脫離計算機直接向U盤讀寫文件呢?答案是肯定的。USB118系列嵌入式U盤讀寫模塊提供了通過串口或SPI口讀寫U盤的簡單途徑,由此結合單片機的RS232串口或高速SPI匯流排就可以實現對U盤上的文件讀寫。 USB118AD型高速U盤讀寫模塊是對USB118A模塊的性能進行改進後的USB2.0介面的高速模塊,具有與USB118A模塊完全兼容的串口,同時增加了高速的SPI介面,主要應用於便攜儀器或者嵌入式數據採集系統的外掛式海量存儲。

■ 特 征
◆ 不必了解USB協議,直接嵌入用戶系統
◆ 兼容1G以上U盤、移動硬碟
◆ USB2.0介面,提供USB HOST介面
◆ RS232串口波特率:57600/115200/9600bps
◆ 高速SPI介面文件傳輸速度:150KByte/Sec
◆ 支持文件系統:FAT16/FAT32
◆ 創建Word、 Excel、二進制等各種類型文件
◆ 提供單片機編程實例C51源代碼
◆ 提供模塊測試板及電腦串口測試軟體
◆ 直流5V供電,電流100mA(不含U盤)
◆ 模塊只有火柴盒大小:51.6×43×12mm

■ 應 用
◆ 海量數據採集存儲
◆ 設備黑箱子
◆ 考勤機數據記錄
◆ 石油儀器儀表
◆ 紡織機械
◆ 水文監測
◆ 無紙記錄儀

■ 訂貨信息

產品型號 說明
USB118AD USB2.0介面,串口及SPI口
USB118AD_Demo USB118AD模塊測試板
USB118A USB1.1介面,TTL串口
USB118C 與USB118A尺寸不同
USB118D 與USB118A尺寸不同

註:USB118AD是升級產品,建議優先選用。可以根據用戶要求規格訂制,至今已經訂制的規格有:USB118C和USB118D等

⑼ 我做單片機程序(功能)測試,不管程序內部運行,想知道有發展嗎,要如何提升,有什麼書可以學習謝謝!

單片機程序測試也分黑盒(把程序當成黑盒子)和白盒(內部測試程序模塊,程序是透明的)。按照你說的情況你目前做的事情應該是屬於黑盒測試。

市面上很多軟體測試的書(到veryCD一搜很多)都可以借鑒,特別是黑盒的部分。

基本的方法是從你的需求(產品的要求)出發,以黑盒的角度,先把系統的輸入和輸出詳細列出(不要漏掉),然後把系統的各個功能從過程上進行劃分,在每個不同的階段,嘗試不同的輸入(不論此時該不該輸入),檢查所有輸出的結果是否正確。舉個定時器的例子,這里我假設輸入只有3個按鍵和掉電,輸出是液晶顯示,要測的功能是時間設置,列出時間設置的過程,進入設置狀態->設置小時->設置分鍾->設置秒->退出設置。然後你就可以在各個階段嘗試不同的輸入,看看輸出是否符合要求。如果有之前的測試方案,可以拿來參考學習會輕松一些。

軟體測試其實是頗有前途的,但是要系統的學習。但是最好還要學寫程序(c,c++),白盒測試本身就需要有些編程基礎,也可以為以後的自動化測試做好准備。

小公司做測試確實比較隨便,大公司比較有系統培訓的機會。想做這一行還是要到大公司學習一下。

閱讀全文

與單片機黑盒相關的資料

熱點內容
android開機黑屏 瀏覽:566
mc純生存伺服器是什麼意思 瀏覽:438
樹莓派火焰蜂鳴器python 瀏覽:894
我的世界伺服器強制疾跑怎麼開 瀏覽:275
用什麼app看施工圖紙 瀏覽:491
張三學python函數 瀏覽:377
女子程序員照片 瀏覽:305
武漢c程序員招聘 瀏覽:681
csk跟蹤演算法 瀏覽:24
數據挖掘中用到的演算法 瀏覽:843
更改ubuntu伺服器地址 瀏覽:502
學做燒菜用什麼app 瀏覽:702
程序框圖怎麼加密 瀏覽:372
文件自解壓失敗怎麼辦 瀏覽:899
ug操作和產品命令 瀏覽:79
QQ在線表格怎麼加密 瀏覽:484
steam星際戰甲什麼伺服器 瀏覽:596
python重啟路由器腳本 瀏覽:821
java聊天窗口 瀏覽:978
單片機控制陣列led燈 瀏覽:579