醫療器械軟體產品經理必讀的法規及標準-YY/T0664(二)
上節主要講了軟體開發策劃、軟體需求分析、軟體系統結構設計三個階段,這節來分析以下幾個階段。
1.軟體單元實現
3.軟體系統測試
軟體開發過程由若干個活動組成,主要包括軟體開發策劃、軟體需求分析、軟體體系結構設計、軟體單元實現、軟體集成和集成測試、軟體系統測試、軟體發布。在整個生命周期中需要對軟體進行風險管理,醫療器械軟體的風險管理可參考YY/T 0316 醫療器械 風險管理對醫療器械的應用。同樣,在整個設計開發過程中需要對軟體進行配置管理。這些活動如下圖所示:
1.軟體單元實現
軟體單元實現過程中伴隨有單元測試,單元測試一般是程式碼層面的測試,所以使用白盒測試。開發人員在這個階段都會測試,但是很容易忽略掉記錄該過程。
1.1實現每個軟體單元
這裡應該與需求分析中相對應,確保每個單元實現。
1.2 建立軟體單元的驗證過程
如何進行單元的驗證,這部分應該在測試計劃中體現。可以劃分到總體測試計劃中,也可以單獨寫單元測試計劃。
1.3 軟體單元的驗收準則
這部分可以在測試用例中體現,根據需求制定預期輸出或實現結果。
1.4 附加的軟體單元驗收準則
這部分只有安全等級為C的軟體需要體現,A、B級不需體現。
1.5 軟體單元的驗證
單元驗證的結果需要形成報告,可以輸出單元測試報告,並且驗證過程需要保留記錄,可輸出單元測試記錄表。
2.軟體集成和集成測試
2.1 集成軟體單元
開發人員集成各個單元模組。
2.2 驗證軟體集成
該部分驗證軟體集成,目的是驗證各個單元已經集成到軟體中。和需求說明書對比,確保無需求遺漏。
2.3 軟體集成測試
制定集成測試計劃,並按照計划進行集成測試,最終形成集成測試報告,並且保存集成測試記錄。
2.4 軟體集成測試的內容
軟體集成測試的內容需要體現需求分析中的各項需求是否實現並可按照預期運行。需要考慮的示例如下:
–所要求的軟體的功能性;
–風險控制措施的實施;
–特定的時序和其他性能;
–內部和外部介面特定的功能;
–非正常條件下(包括可預見的誤使用)的測試;
2.5 評價軟體集成測試規程
評價集成測試規程的充分性,對集成測試過程進行評審。
2.6 進行回歸測試
軟體集成後,應進行回歸測試。在驗證已修改缺陷(bug)的同時,也需要驗證是否因為修改缺陷(bug)引入了新的缺陷(bug)。
2.7 集成測試記錄的內容
集成測試需記錄如下內容:
-
將測試結果(通過/未通過和反常清單)形成文件,即輸出測試報告。
-
保留充分的記錄,已使測試可重複,即保留測試記錄,根據測試步驟可以復現測試過程。
-
標明測試者的身份。
2.8 使用軟體問題解決過程
寫軟體問題解決報告,應將軟體集成測試過程中的缺陷記錄下來,並評估其嚴重程度。具體可以看YY/T 0664的第9章。
3 軟體系統測試
3.1 為軟體需求建立測試項
系統測試需要根據軟體需求建立測試用例(其實在每個測試階段都需要寫測試用例),表達為輸入觸發、預期輸出、通過/未通過準則和規程,覆蓋全部的軟體需求。測試用例設計的表單可參考如下:
3.2 使用軟體問題解決過程
寫軟體問題解決報告,應將軟體系統測試過程中的缺陷記錄下來,並評估其嚴重程度。具體可以看YY/T 0664的第9章。
3.3 變更後再測試
在系統測試期間如果軟體做出變更,應
-
適當時,重複測試、實施經修改的測試或附加的測試,以驗證糾正問題時所做變更的有效性;
-
進行適當的測試,以證實沒有引入非預期的副作用;
-
實施YY/T 0664第7章中的有關風險管理活動;
總之軟體變更,需要走變更流程,同時對變更內容進行測試,並且評估其變更的風險。
3.4 評價軟體系統測試
對系統測試階段進行評審,需要驗證:
a)所有的軟體需求均經測試或以其他方式驗證,即確保需求都被實現,無遺漏需求;
b)軟體需求與測試或其他驗證之間的可追溯性均已記錄,即每個測試用例記錄都可對應到相應的需求(軟體可追溯性下次我細講);
c)測試結果滿足所要求的通過/未通過準則。
3.5 軟體系統測試記錄內容
軟體系統測試記錄需體現以下內容:
a)引用的測試用例規程,該規程體現所要求的行動和預期結果,可參考上面寫的測試用例;
b)測試結果;
c)被測試軟體的版本;
d)相關硬體和軟體測試配置;
e)相關測試工具;
f)測試日期;
g)負責執行測試和記錄測試結果人員的身份。
後記
本文是在實際執行0664標準的過程中的一些總結與體會。後續會更新醫療器械風險管理及配置管理的內容。
參考文獻
[1] YY/T 0664-2020 醫療器械軟體 軟體生存周期過程
[2] YY/T 0316-2016 醫療器械 風險管理對醫療器械的應用
[3] 醫療器械網路安全技術審查指導原則(第二版)徵求意見稿