1111744 黃英綺

工作環境介紹

神達電腦是一家在伺服器、車用電子與智慧應用領域極具專業的科技企業,主力業務為B2B解決方案,客戶多為國際大型企業,對於品質與客製化要求非常嚴格。能夠在這樣注重效能與創新的環境中參與實作,是非常難能可貴的經驗。

    工作環境方面,公司設施完善:
  • 員工餐廳提供多元化餐點選擇,另有販賣機可使用。
  • 內部健身房與淋浴設備對於注重生活品質的員工相當友善。
  • 茶水間、廁所等公共空間維持整潔,也有冰箱與零食補給櫃。
  • 提供貼心支援。彈性工時制度則讓上下班更為彈性,不僅提升工作效率,也有助於生活平衡。
  • 團隊氛圍溫馨協作,在實習過程中,同仁都非常願意提供指導,從操作實務到系統觀念都不吝分享,對於剛進入職場的實習生來說是極大的幫助。

工作詳述

1.軟體測試執行:
依據產品生命週期,參與功能測試、整合測試與使用者驗收測試等階段。 透過手動測試或輔助工具檢查系統功能的完整性,並對問題進行記錄與追蹤。 在測試過程中,與開發人員合作排除錯誤,協助提升產品穩定性與使用者體驗。

2.測試案例與報告撰寫:
根據各項專案開發需求,撰寫測試情境與細項流程。包括制定測試目標、測試各種情境,預期結果等。 測試執行完成後,透過測試結果,撰寫測試報告並提供最後測試結果,作為品質保證的依據。

3.文件撰寫與維護:
負責撰寫系統操作手冊,包括操作流程、常見問題與解決步驟等,內容圖文並茂,利於使用者快速上手。 針對每次系統更新,皆即時同步修訂文件,確保資訊準確性與可用性。

4.多語系功能開發:
負責新增E-Sop系統的多語系功能,以及部分UI介面調整。 使用Git clone將專案儲存至本機,再開啟VS2022進行程式開發,先建立翻譯內容的資源檔,並將原本程式碼替換成根據所選語言對應的資源檔的內容,並統一網頁介面方便後續與其他系統方便管理,修改完後在使用SonarQube進行程式碼掃描,確認沒問題之後再Git回分支。

5.使用者介面優化:
透過與使用者訪談,了解使用者操作習慣,以使用者角度去調整搜尋欄位的順序以及表單介面的配置。並撰寫管理員操作手冊,將調整的步驟轉寫成一份檔案,可以供後續同仁參考。減少使用者操作上的步驟,讓管理員也可以降低後續調整的時間成本。 撰寫匯入匯出工具的操作手冊,根據操作步驟將開發環境調整好的內容匯出並匯入至UAT環境,該分文件可以提供給其他同仁參考,幫助後續環境部署。

實習成果與進度

  • 測試流程制度化與品質提升
  • 協助建立測試標準與報告格式,讓測試流程更一致、可追蹤。實際參與多項測試執行與缺陷修正,提升系統穩定度與整體產品品質。

  • 文件與知識管理完善
  • 撰寫並維護多份系統操作手冊與測試文件,內容清晰易懂,協助團隊成員快速熟悉新系統,提升文件管理效率。

  • 多語系與介面優化成果
  • 參與 E-Sop 系統多語系功能開發與 UI 介面統整,成功導入多語支援,優化操作流程並強化系統一致性與使用體驗。

  • 系統整合與流程驗證經驗
  • 參與 PLM 系統更換測試,撰寫測試案例並追蹤問題修正,確保新系統功能與舊系統一致,為專案上線品質把關。

實習中的角色定位

  • 軟體測試與品質驗證人員
  • 執行各階段測試,驗證功能正確性與穩定性,並提交測試報告提供決策依據。

  • 技術文件與知識撰寫者
  • 撰寫系統操作手冊與測試報告,確保內容完整一致,協助團隊於系統升級與轉換期間順利銜接。

  • 使用者支援與介面優化協作者
  • 根據使用者回饋進行介面調整與改善,優化欄位順序與表單配置,提升使用便利性。

  • 跨部門協作與學習型成員
  • 主動與開發人員、測試團隊溝通協作,吸收實務經驗,培養問題分析與解決能力。

PLM 系統

在實習期間學習並實際操作PLM(Product Lifecycle Management)系統,了解其在企業研發與產品管理中的關鍵角色。此系統支援產品從設計構想到量產、維護與淘汰的完整生命週期,具備資料集中、流程可控、跨部門協作等優點,對產品品質與時效性有顯著提升。

產品生命週期管理(PLM)系統涵蓋零件管理、物料清單(BOM)管理、變更管理、文件管理以及Creo協同合作功能。此系統將產品設計、開發、生產等相關資訊同步整合至其他系統,例如專案管理系統(Project Apply)、團隊管理系統(TMS)、企業資源規劃系統(ERP)、以及綠色產品系統(GP),以促進後續的產品研發、開發、量產及變更過程。

主要學習內容:

1. 零件結構與生命週期管理:
在PLM系統中建立零件、查詢零件、管理零件狀態及零件資料等。

2. 客製功能:
在公司PLM系統中有一些專屬客製流程可以提升工作效率,像是可以快速複製零件資料及屬性;或是利用Excel建立BOM,透過系統的檢查機制完成批量操作的繁瑣流程。

3. 變更管理與簽核流程:
熟悉PLM系統中各種變更單的操作,透過不同單據啟動不同簽核流程,每張變更單需依層級流程進行簽核。此外,系統整合 TMS,根據 TMS 設定檔設定的專案或分類節點,在送審單開始簽核時,會自動抓取對應的簽核角色及人員。

4. 綠色產品:
為了響應ESG,PLM系統結合GP檢驗,製作綠色產品。

5. 歷史追蹤與流程檢視:
學會查看該零件的歷史異動紀錄,或是透過工作流程圖查看目前簽核流程到哪個階段、有哪些父階料號等等。

6. 額外支援任務:
更換系統測試:
由於公司要更換PLM系統,因此協助參與各項流程測試,確保流程與原系統皆相同。

撰寫測試案例與測試報告:
寫出所有操作情境及預期結果,協助測試流程是否正確,再將測試結果整理成測試報告,確保每項流程功能皆沒問題。

PLM系統學習

測試案例的檔案,會有各種情境及對應的預期結果,根據這份檔案去進行相關測試,每項情境都會測試三次,確保相關功能沒有問題

PLM系統學習

測試報告,該報告展示了透過測試案例執行的最終結果



協助測試問題追蹤:
將測試問題列入至問題清單,定期確認問題是否已修復完成,若完成,則需要進行複測,覆測通過才能確保所有功能正確。
PLM系統學習

問題列表的檔案,說明問題內容、建立問題人員、提日期、問題修改狀態、修改後覆測結果等資訊



撰寫使用者操作手冊:
由於公司更換系統,公司成員需要重新適應新系統,撰寫相關操作手冊,可以幫助員工適應系統轉換。
PLM系統學習

建立變更單的操作流程



使用者介面優化:
1.調整查詢欄位順序
透過使用者訪談,了解使用者操作系統的習慣,並根據欄位重要性以及使用者常用欄位調整整查詢順序,讓使用者可以漸少查詢的時間成本,快速找到資料。
PLM系統學習

調整搜尋欄位順序的前後比較圖


2.調整表單介面的配置
以使用者的角度,將重要欄位以及必填欄位集中,並排列整齊,讓使用者可以操作更流暢,讓介面更清晰,避免需要頻繁捲動畫面查看重要欄位。
PLM系統學習

調整表單介面的前後比較圖

E-Sop系統多語系功能開發

使用Clone將程式碼Git到本機並建立新分支,接著進行多語系功能開發。首先,建立和配置專案所需的資源檔,將所有介面上的固定文字內容存入其中。隨後,修改原始程式碼,將原始的文字內容替換為對應資源檔中的Key,確保在切換語言時,能依據Key抓取當前語言的內容。完成多語系功能之後,也同步調整 UI 介面,將E-Sop介面格式與其他系統統一,以提升使用者體驗並方便後續的管理。

多語系

UI介面調整的前後比較圖


所有開發和介面調整完成後,為符合資安標準,需使用 SonarQube 進行程式碼掃描,檢測潛在的 Bug、Code Smells。若掃描結果發現任何高風險或需要優化的程式碼,將立即進行修正。最終確認程式碼品質與安全性無虞後,再將程式碼 Git 回分支,提交給主管進行後續的審核與合併流程。
多語系

SonarQube掃描結果,需將Bug、Code Smells修正為0

.NET Core 6 WebAPI 學習應用

1. 理解WebAPI基本概念
RESTful API 強調使用標準的 HTTP 方法 (verbs) 來執行對資源的操作。這些方法不僅僅是傳輸資料,它們各自代表了特定的語義,使得 API 的操作更加清晰、可預測和符合標準。這有助於客戶端和伺服端之間更好地理解和協作。

Get (查詢 / Select):用於獲取資料。
Post (新增 / Insert):用於創建新的資料。
Put / Patch (修改 / Update):用於更新伺服器上已存在的資源。
Put (更新全部資源 / Replace Resource):用於需要完全替換一個資料的內容時。
Patch (部分更新資源 / Modify Resource):用於只需要修改資源的某幾個屬性,而不是整個資料時。兩者的主要區別:Put 是「替換」資料,Patch 是「修改」資料。
Delete (刪除 / Delete):用於從伺服器端刪除指定的資料。

WebAPI



2. 使用 ASP.NET Core 控制器建立 Web API
WebAPI

圖片左側是發送的 HTTP 請求 (Request),右側是伺服器返回的 HTTP 回應 (Response)。這張圖清晰地展示了如何透過 RESTful API 的標準 HTTP 方法 (GET, POST, PUT, DELETE) 對後端資料進行完整的 CRUD 操作。每個請求都指向特定的資源 URI,並使用對應的 HTTP 方法來表達操作的意圖。



3. 使用Swagger、Postman測試 Web API網址、功能
Swagger UI 著重於 "API 文件的自動化生成和互動式展示",讓使用者可以輕鬆地了解和嘗試 API。它通常是作為後端服務的一部分部署,提供給前端開發者和測試人員查閱。
WebAPI

Postman 則是一個更為通用的 "API 開發、測試和管理工具"。它不僅可以發送任何類型的 HTTP 請求,還提供了強大的測試、自動化和協作功能。開發者常常在開發和測試 API 時使用 Postman 來驗證 API 的行為,並在 Swagger UI 中查閱 API 文件。
WebAPI



4. 自製Apple Web API網頁
透過前端頁面去後端呼叫 API執行CRUD
• 在新增Apple資料可以直接輸入蘋果的資料,點擊新增按鈕時,程式會去呼叫API執行Post新增資料,並且會同步新增到頁面底下欄位
• 點擊修改按鈕可直接在該欄位編輯資料,同時會去呼叫API執行Put修改資料
• 點擊刪除時,系統會呼叫API執行Delete刪除該筆資料

總結來說,這次學習涵蓋了 .NET Core Web API 的基本概念、RESTful 設計原則、開發實踐,以及如何利用 Swagger 和 Postman 進行有效的測試。最重要的是,透過「自製 Apple Web API 網頁」的範例,清晰地展示了前端介面如何透過按鈕事件驅動後端 API 呼叫,實現動態資料的 CRUD 操作,最終構建出一個完整的、互動式的 Web 應用程式。

.NET Core WebAPI

Jira系統

Jira 是一個強大的專案管理與問題追蹤工具,主要用於軟體開發團隊進行敏捷開發(如 Scrum 和 Kanban),幫助團隊規劃、追蹤、發布和支援產品,並能管理各種任務、錯誤、需求,透過可自定義的工作流程和看板,提升團隊協作效率與專案透明度。

1. 在 Jira 中Issue Type有以下幾種類型:
Epic:
通常代表一個較大的、長期性的目標或專案。一個Epic可以包含多個Bug、Task或New Feature。
Bug:
用於追蹤軟體或其他產品中的缺陷或問題。通常與某個特定的功能或行為不符預期相關。
Task:
用於追蹤一般性的工作事項或活動。可以是開發、測試、設計等任何需要完成的具體任務。
New Feature:
用於追蹤要開發或實現的新功能或改進。通常與產品的增強或擴展相關。
Sub-task:
是Bug、Task或New Feature的細分,無法單獨存在。它用於將較大的問題或任務分解成更小、更易於管理的工作單元。

.NET Core WebAPI



2. 看板操作與進度追蹤:
• 可以透過看板查看目前的專案進度,也能清楚看到每項任務的狀態。此外,還可以利用篩選功能,快速找到目前尚未完成的任務。
• 在每項任務(Issue)中,可以上傳相關檔案或是發表評論,讓所有相關人員能夠即時追蹤最新情況並表達意見。

3. 額外支援任務:
版本升級測試:參與 Jira 升級流程,執行功能驗證與回歸測試,確保套件功能正常運作。
帳戶與權限管理:協助建立新使用者帳戶,並根據角色分配至專案 Group,控制操作權限與資料可視性。
文件製作:撰寫外部用戶操作手冊(如密碼變更流程),採圖文並茂方式呈現,提高文件可讀性與操作便利性。

Jira系統

外部用戶操作手冊中的流程圖,用戶可以透過流程圖了解整個操作的流程,再根據操作手冊中的步驟去進行操作

Copilot Studio 聊天機器人建置

透過 Microsoft Copilot Studio 開發企業內部的客服型聊天機器人,設計對話流程與回應邏輯。建立知識庫並導入公司內部FAQ、文件與產品資訊,讓使用者能夠即時取得答案。

Copilot Studio學習

製作簡單智慧機器人所需要使用的知識庫

Copilot Studio學習

啟動智慧機器人設定流程,可以根據使用者選擇的條件去執行相對應流程

Copilot Studio學習 Copilot Studio學習

與機器人對話的介面,包含問題的回覆以及使用者回饋的選項

自我評估及心得感想

在神達電腦的實習期間,我獲得了超越課堂學習的實務經驗。從進行系統測試、撰寫技術文件,到實際參與多語系功能開發與介面優化,每一項任務都讓我更加理解軟體專案的完整運作流程。特別是在 PLM 系統更換與 E-Sop 系統開發的過程中,我深刻體會到測試人員不僅是找出問題,更是確保品質與使用者體驗的守門員。

這段期間,我學會如何撰寫結構化的測試案例、規劃測試流程,並透過問題追蹤與覆測,確保功能品質。這不只是技術上的成長,也培養了我面對問題時的細心與責任感。透過實際操作與跨部門合作,我學習到有效的溝通方式,以及在團隊中如何表達想法、提出建議並共同解決問題。

在主管與同事的指導下,我也體會到文件撰寫與知識分享的重要性。從建立使用手冊到撰寫測試報告,每一份文件都代表著專案品質的一部分。透過這些任務,我培養了對細節的敏感度與邏輯思考能力,也更能體會團隊協作與流程標準化對專案成功的關鍵性。

此外,實習期間我也首次接觸到Web API、Jira、Copilot Studio 等企業級工具,拓展了對軟體開發與專案管理的認識。這些經驗不僅提升了我的技術廣度,也讓我在面對新技術時更有自信與學習方法。

整體而言,這次實習讓我不僅成長為一位能獨立執行任務的學習者,更加確立了未來在資訊領域深耕的方向。未來我希望能持續精進自動化測試與系統整合相關技術,並將所學到的專業態度與實務經驗,轉化為未來職涯持續前進的動力。