回覆列表
  • 1 # 矽釋出

    嵌入式軟體是計算機軟體,用於控制通常不被認為是計算機的機器或裝置。它通常專用於執行的特定硬體,並且具有時間和記憶體限制。這個術語有時可以與韌體交換使用,雖然韌體也可以應用於計算機上的基於ROM的程式碼,而在其上執行作業系統,而嵌入式軟體通常是相關裝置上唯一的軟體。

    一個精確和穩定的特徵是嵌入式軟體沒有或不是所有的功能都是透過人機介面來啟動/控制,而是透過機器介面來實現的。

    製造商在"電子產品的嵌入式軟體中構建"例如,汽車,電話,調變解調器,機器人,電器,玩具,安全系統,起搏器,電視機和機頂盒以及數字手錶。該軟體可以非常簡單,例如執行在具有幾千位元組記憶體的8位微控制器上的照明控制,其處理複雜程度的適當水平由可能近似正確的計算框架(一種基於隨機演算法的方法) ,或者可以在飛機,導彈和過程控制系統等應用中變得非常複雜。

    不同於常使用作業系統(如OS X,Windows或GNU / Linux),嵌入式軟體可能不使用作業系統,或者當它們使用時,可以選擇多種作業系統,通常是實時作業系統,由執行迴圈和計時器組成的小型單人操作執行到LynxOS,VxWorks,BeRTOS,ThreadX,Windows CE或Linux(帶有補丁的核心)。其他包括OpenWrt,PikeOS,eCos,Fusion RTOS,Nucleus RTOS,RTEMS,INTEGRITY,uC / OS,QNX,FreeBSD和OSE。程式碼通常用C或C ++編寫,但各種高階程式語言(如Python和JavaScript)現在也常用於定位微控制器和嵌入式系統。

  • 2 # 嵌入式宏思微想

    說句實話,現代開發分工越來越專,越來越細了。在嵌入式行業,有IC方案商,各IP廠商,各硬體(Sensor,LCD等)廠商,做產品開發的,基本上就是資源整合和利用,甚至產品開發內部也分了驅動組,系統組,演算法組,各模組組等等。做應用的,主要是邏輯業務,很多事情比如顯示一張圖,播放一個聲音,只是呼叫一個API即可。

    所以,嵌入式軟體開發,門檻越來越低,開發人員的水平也難以上升,薪酬待遇也難以見漲。

    但對於高階工程師,專家工程師,甚至更高階的工程師,要求就較高,所需掌握的知識,在廣度和深度上,都有一定的要求。我的看法如下:

    1.熟悉開發所用語言,包括產品開發,以及產品輔助開發。

    2.瞭解底層原理,瞭解數電模電和通訊協議,能看以及會分析電路原理圖。

    3.熟悉嵌入式作業系統,熟悉產品所用第三方庫的原理,熟悉其優劣之處。

    4.熟悉產品功能設計,具有驗證需求可行性的能力。

    5.熟悉合作的方案商和廠商產品,具備共同設計或改良下一代IC/IP的能力。

  • 3 # 千鋒頭號粉絲

    新時代到了,軟體測試工程師也要迭代了,不跟緊潮流可是有掉隊的風險哦~不過沒關係,來給你支招了!

    企業IT軟體非常複雜,透過協作由全球高技能人員快速開發,必須在許多生態系統和許多裝置上不間斷地執行。在過去,軟體每年一般只發布幾次;但是今天,新的版本可能會每分鐘出去一次, 持續不斷的。在許多情況下,軟體開發過程以瀑布方法開始,現在已經轉向敏捷、精益和持續整合(CI)。在這個新時代,雲服務消費者(軟體使用者)生活在一個多租戶世界中,他們不再能夠控制軟體版本更新的時間。客戶分散在許多時區,每個客戶都必須訪問該軟體,所以永遠不會給維護、超時或宕機等機會。

    持續操作——以軟體使用者無中斷的方式管理軟體和硬體的更新。即使軟體和伺服器在計劃的維護或更新過程中可能會離線,這也需要對其進行管理,從而在維護時使用者依舊可以繼續使用現有版本的應用程式。一旦部署成功並經過冒煙測試後,就會自動切換到新的版本。

    當軟體測試進入了一個新時代,在開發、交付、部署和運營的高速執行的同時,要確保這些高度複雜和動態的軟體產品的質量,就變得非常困難。在新時代,軟體測試需要多維的方式去操作,質量/測試工程師時時刻刻都要從下列多個維度去評估軟體產品的質量。

    維度

    1. 驗證技術性的可交物(前端、中介軟體、後端、平臺)。

    2. 在客戶生態系統(Web瀏覽器、手機、桌上型電腦、平板電腦、原生環境、混合環境、跨平臺、可穿戴、不同作業系統、不同版本)中進行評估。

    3. 藉助最大程度的自動化,提高測試速度,以滿足CI/CD(持續交付)、產品開發的速度。

    4. 透過進行各種型別的測試(使用者行為、功能、效能、安全性、可用性等)以實現測試全覆蓋

    5. 根據終端使用者、PO、產品經理、開發人員、架構師、業務分析師、DevOps經理等各自的需求來評估軟體產品。

    6. 透過高階測試設計技術不斷最佳化測試設計(基於風險的方法、基於需求的方法、組合測試方法、基於場景的測試、基於模型的測試、兩兩組合、正交試驗法、邊界值分析等)

    7. 充分複用測試生命週期的各個階段產生的測試資產,特別是業務分析師、PO、開發人員、架構師、其它測試人員等人積累下來的測試資產(包括測試用例、測試指令碼、測試資料等)

    在新時代,測試工程師在軟體交付中要扮演多種角色,他們需要轉變軟體測試思維,需要測試自動化和與各種解決方案/技術的整合,以支援他們多維度的工作方式。

  • 中秋節和大豐收的關聯?
  • 你最想擁有什麼技能?為什麼?