答:按照執行測試時是否須要運行程序,軟件測試能夠劃分爲靜態測試和動態測試。工具
靜態測試以人工測試爲主,經過測試人員認真閱讀文檔和代碼,仔細分析其正確性、一致性及邏輯結構的正確性,從而找出軟件產品中的錯誤或缺陷。靜態測試對自動化工具的依賴性較小,經過人腦的思考和邏輯判斷來查找錯誤,於是能夠更好地發揮人的主觀能動性。測試
與靜態測試不一樣的是,動態測試須要經過實際運行被測程序來發現問題。測試人員能夠輸入一系列的測試用例,經過觀察測試用例的輸出結果是否與預期相符來檢驗系統內潛在的問題或缺陷。編碼
答:畫出該問題的等價類表,併爲每一個等價類進行編號:
spa
答:開發工做和測試工做不能由同一部分人來完成。若是開發人員對程序的功能要求理解錯了,就很容易按照錯誤的思路來設計測試用例。若是開發人員同時完成測試工做,那麼測試工做就很難取得成功。設計
答:經常使用的軟件測試模型有V模型、W模型和H模型。每種模型都有各自的優缺點。3d
V模型的價值在於很是明確地標明瞭測試過程當中存在的不一樣級別,而且清楚地描述了這些測試階段和開發過程各階段的對應關係。在V模型中,測試工做在編碼以後才能進行,因此在軟件開發早期各個階段引入的錯誤不能及時被發現。尤爲是需求階段的錯誤只有等到最後的驗收測試才能被識別。對分析、設計階段產生的錯誤不能及時發現並改正的缺點會對後期的修復工做帶來諸多不便,形成更多資源的浪費和時間的延遲。
在V模型的基礎上,增長開發階段的同步測試,就是W模型。W模型的最大優點在於,測試活動能夠與開發活動並行進行,這樣有利於及早地發現錯誤,可是W模型也有必定的侷限性。在W模型中,需求、設計、編碼等活動依然是依次進行的,只有上一階段徹底結束,纔有可能開始下一階段的工做。與迭代的開發模型相比,這種線性的開發模型在靈活性和對環境的適應性上有很大差距。
在H模型中,軟件測試過程的活動徹底獨立,貫穿於整個軟件產品的生命週期,與其餘流程並行進行。當軟件測試人員認爲測試準備完成,即某個測試點準備就緒時,就能夠從測試準備階段進入到測試執行階段。code
int a,b, c; if(a<1 and b>0) c=5; else if (b<-3) c=4; else c= 3;
請畫出這段代碼的程序流程圖,並分別採用語句覆蓋、分支覆蓋、條件覆蓋、分支一條件覆蓋、條件組合覆蓋和路徑覆蓋的方法設計測試用例。
答:程序流程圖:
語句覆蓋
分支覆蓋
條件覆蓋
分支----條件覆蓋
條件組合覆蓋
路徑覆蓋
blog