|
|

楼主 |
发表于 2007-9-30 08:42:20
|
显示全部楼层
来自: 中国重庆
三 软件管理和标准 $ z7 g( ]5 T+ X! y' m1 V& }
0 g7 s+ G' l8 d- J, V
, R& b3 Y: B8 z9 ~6 n: s! {5 n6 I! Q: t& Y4 v; F" X
FDA使用“测试水平”来评价设备出现潜在危险、设计失误,或者使用该医疗器械软件可能对病人或操作者产生直接或间接伤害的程度。如果软件对设备的操作可能直接使病人和/或操作者致死或重伤,或由软件的错误或信息的滞后而间接引起的死亡或重伤,该软件的测试水平为高。如果软件对设备的操作可能直接使病人和/或操作者非严重伤害,或由软件的错误或信息的滞后而间接引起的非严重伤害,该软件测试水平为中。如果软件的运行错误或设计问题并不引起任何对病人和操作人员的伤害,该软件测试水平为低。软件上市前测试过程的范围和危险管理都是与其测试水平相对应的。
2 { p6 _) b! y2 }4 n/ u- ~' d; Q
1 x9 d- Q: x$ p2 |1 Y* v' N2 }
; U. c3 M" C$ H' t7 m! x
2 U' m& I1 [2 S7 ?; P 如果生产上可以证明某个医疗器械的软件是使用很好的软件工程过程实现的,那么,对此器械的上市前审查就可以集中于与器械相关的风险以及如何最好地管理这些风险。FDA不对软件开发过程进行审查,这使得上市前审查更加快捷,一致性更强。 5 e4 n+ y0 u) O, I. k! b1 o
! @# [, I i4 A1 R+ B
* Q0 Y, a% Y- K4 d, V0 m2 \) i: m5 h! x1 w/ R$ ?
软件标准要求对构成软件工程工作的各部分进行详细的文件描述和定义。 表1是FDA软件标准技术小组解释的各种不同水平软件标准。其中,国内比较熟悉的有IEC在1996年5月发布的“IEC 60601-1-4并行标准: 可编程医用电气系统”标准。此标准要求生产商遵循某过程,该过程包括风险分析和开发活动,要求生产商建立该过程的记录以支持使用可编程电子子系统的医用电气设备的安全性声明。IEC 60601-1-4标准作为医疗设备系统的风险管理标准是非常有用的,遵循此标准非常有益。不过,IEC 60601-4是作为一个风险管理标准而起草的,并没有计划阐述软件有效性; 该标准只涵盖了产品生命周期中的设计部分,并没有阐述软件的维护和报废; 该标准阐述了系统水平的风险分析,但是较少阐述软件的规划; IEC 60601-1-4没有涵盖FDA管理的所有医疗器械(如单机软件)。! [& f6 C6 j. H6 Q" ~, R0 V, `
四 软件的测试
2 G) X, e) n0 e
4 C9 q0 G8 C- X) X7 A, ?7 l( h* b/ w: F
9 |# d L0 R! `# O5 R 软件的测试应当是在其整个生命周期进行的,V模型是其较常用的测试模型之一。我们必须清楚,并不存在某一种测试模型或者测试方法可以确保对某一个特定软件进行彻底的测试。对所有的程序功能进行测试也不意味着对整个程序进行了测试。测试一个程序的所有代码也不意味着对程序中所有必须的功能进行了测试。即使测试了所有程序的功能和所有程序代码也不代表程序就是100%正确的。一般来说,常见的软件测试可分为白盒测试、黑盒测试和灰盒测试。 # _$ T" H( v7 @, d5 M; y, B
; v' Y: L" q5 R, \% {& I9 U- A, d0 r2 O# }5 ]0 v9 ?
3 ^) O( o; p, H, B) x
白盒测试是基于译码的测试,又被称为结构测试,这项测试的参数是根据源代码提供的信息、设计说明书和其它相关文件得到的。白盒测试一般分为静态测试和动态测试,静态测试不实际运行软件,主要是对软件的编程格式、结构等方面进行评估,而动态测试需要在Host环境或Target环境中实际运行软件,并使用设计的测试用例去探测软件漏洞。静态测试包括代码检查、静态结构分析、代码质量量度等。动态测试包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。 ) y6 g6 h0 ?9 U1 Q2 q6 L2 |! M
+ n, e# d( M" Y5 M& K8 J3 Q2 E0 l+ ?: X ?, ]
; ?: s2 }+ x- v- f+ j6 T 黑盒测试是指事先计划或规定的测试,又被称为功能测试,它是通过使用整个软件或某种软件功能来严格地进行测试,没有通过检查程序的源代码,或者测试人员并不是很清楚地了解该软件或某种软件功能的源代码程序具体是如何设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。其测试参数是根据软件产品(不管是单元模块还是一个完整的程序)事先设计好的软件用途来确定的。目前常用的测试工具有TeamTest、Robot、QACenter、WebLoad、WebStress等。
2 k( [: v0 ?# c" Y
# k& v1 g- d3 p4 i7 ~9 I& X6 t! R$ B. ]* v- n# G
( V. ^! {' B( j8 Y5 _ 灰盒测试就像黑盒测试一样是通过用户界面测试,但是测试人员已经对该软件或某种软件功能的源代码程序具体是如何设计的有所了解,甚至还读过部分源代码,这样,测试人员就可以有的放矢地进行某种确定条件或功能的测试。 ! g! S3 ?) c+ [+ c' C2 c- n7 H1 Q
: O* }0 g. Q8 U2 p
: y9 `4 U% u4 O4 {( ?# P" v
6 X% u% u) ^/ z8 Q+ _8 E* ^7 { 虽然软件的第三方测试并不能完全说明软件没有错误,但是它还是为比较客观地评价软件质量提供了强有力的依据。由于生产商常常不能或出于保密目的不愿意提供源代码,一般第三方测试都是采用黑盒测试方法。
, i, n! C5 O/ B; }
* I- j" Y) @* ~) r7 ]" {6 o
& t: u9 }: h/ `' ]. a8 H2 M# B" w$ O- N# _: }$ O7 v
ISO/IEC 12119-1994(等同于GB/T 17554-1998“信息技术 软件包 质量要求和测试”)规定了对软件包的质量要求,并规定了测试细则,特别是第三方测试。由于我国目前对医疗器械软件的管理仍然是基于第三方测试,同时又没有专门适用的测试标准,GB/T 17554就成了目前大多数医疗器械注册产品标准所引用的技术标准。
( p" b& r+ M7 e% G) }" f @3 Q, r9 F* F, S& n- d
) f! x: S$ h" g9 I+ z; @& H8 a! ^
& n+ O; f8 c' r) v: ^ GB/T 17554从产品描述、用户文档以及程序和数据三个方面规定了软件的质量要求。其中,产品描述的要求包括内容的一般要求、标识和指示、功能说明、可靠性说明、易用性说明、效率说明、可维护性说明、可移植性说明; 用户文档的要求包括完整性、正确性、一致性、易理解性、易浏览性; 程序和数据要求包括功能性、可靠性、易用性、效率、可维护性、可移植性。同时,该标准还描述了测试细节,描述了功能测试(黑盒测试),没有包括结构测试。 2 d1 V: O4 V: ?
2 n" K- T! X, O% ]9 T1 Q. i
; f& h. C) E4 p+ k( z8 V) @% _
0 V- [8 Y( ~: L- g9 L2 q# w' ]
五 结论
( [7 b: \$ D& c& l% z
( J1 ]+ C3 c6 i3 a6 a* o* o- x' n& F1 m0 u8 V) S/ L
# N* C: G: a! ^9 J' C 医疗器械软件的质量标准比其它医疗器械产品更加复杂,同时,其质量标准的量化也是世界性难题。我国在此类器械的管理、技术标准制定方面需要进行深入的研究和探讨。如何尽快制定标准、形成规范,是摆在我们面前的一个重要课题。
- ?' [( R% D" {& k5 e6 J f
+ T5 a: h6 g$ ~. ~$ p% S9 i
: w, T7 P6 V$ a# Z+ |; d5 f4 y. L记得有一个哥们为了软件验证都快喊破嗓子了,呵呵。 |
|