面試中經常會問道的軟體工程的知識

2021-08-23 13:36:56 字數 1102 閱讀 1604

狀態描述,問題定義,技術開發,方案綜述

一、軟體開發模型

1、線形模型(傳統模型或瀑布模型):需求分析,概要設計,詳細設計,編碼,測試,維護

2、原型模型:快速開發出系統原型,在客戶參與下不斷的重複線形模型的過程完善系統

3、增量模型:先開發出系統的核心功能,在不斷的重複線形模型開發系統其他的高階特性

二、軟體測試

在軟體工程的早期,軟體工程師試圖由抽象概念到具體實現來建立軟體,現在來了測試,工程師建立測試用例試圖「摧毀」已經建立的軟體

測試不是為了證明軟體的正確,而是找出軟體中沒有被發現的bug

1、黑盒測試:若了解產品的特定功能,則構造測試,同時在各功能中尋找錯誤;

2、若了解產品的內部構造,則構造測試,以確保「所有的齒輪吻合」,即內部操作依據規約執行,而且所有的內部構件被充分利用

白盒測試:(1)保證乙個模組中的所有路徑至少被使用一次;(2)對所有邏輯值均需測試true和false;(3)在上下邊界及操作範圍內執行所有的迴圈;(4)檢查內部資料結構以確保其有效性

黑盒測試:黑盒測試主要發生在測試後期,(1)功能不對或遺漏,(2)介面錯誤,(3)資料結構或外部資料庫訪問錯誤,(4)效能錯誤,(5)初始化和終止錯誤

單元測試完成對最小的軟體設計單元---模組的驗證工作。使用過程設計描述作為指南,對重要的控制路徑進行測試以發現模組內的錯誤。測試的相關複雜度和發現的錯誤是由單元測試的約束範圍來限定的。單元測試通常情況下是面向白盒的,而且這個步驟可以針對多個模組並行進行。

單元測試是一類測試活動,白盒測試是應用的方法

整合測試:自頂向下整合,需要樁來模擬下層模組 自底向上整合需要驅動模組模擬上層模組

alpha測試是由乙個使用者在開發者的場所來進行的,軟體在開發者對使用者的指導下進行測試,開發者負責記錄錯誤和使用中出現的問題,alpha測試是在乙個受控的環境中進行的。

beta測試是由軟體的終端使用者在乙個或多個使用者場所來進行那個的,不象alpha測試,開發者通常來說不會在場,因此,beta測試是軟體在乙個開發者不能控制的環境中的「活的」應用。使用者記錄下所有的beta測試中遇到的(真正的或是想象中的)問題,並定期把這些問題報告給開發者,在接到beta測試的問題報告之後,開發者對系統進行最後的修改,然後就開始準備向所有的使用者發布最終的軟體產品。

UML面試中經常會問到的問題

你認為的重用有哪些 談談framework的作用 談談uml圖的種類,畫乙個關聯類的例子 談談元件以及業界流行的元件規範 analyst 談談需求的3個層次以及你工作中的運用 非功能需求有哪些種類以及如何採集 當你採集需求時,客戶說 我要求將來的系統要快 你將如何 談談原型法的分類以及你工作中的運用...

工作中經常會用的git命令

以下所有功能都建立在本地專案檔案已經與伺服器關聯的條件下 1 新增要提交的檔案 git add home x.cpp 以上為新增單個檔案,也可以新增所有 git add 2 提交 git commit m 描述 描述必須得有,不然提交會失敗 3 分支 檢視本地分支 git branch 檢視遠端分支...

生活中經常會遇到很多麻煩的事情

我們在生活中經常會遇到很多麻煩的事情,不要以為遇到麻煩就很倒霉,其實遇到麻煩,你不是要想辦法解決嗎?當你解決的時候不管你是解決了或者沒有解決,你從中都可以獲取經驗,你得到了成長,所以我們遇到麻煩的時候一定不要去抱怨,要有平常心態跟樂觀心態去對待,難道你不知道塞翁失馬是一件好事嗎?所以當遇到麻煩的時候...