设计开发中的软件更新/变更(Software change)
1) debugging that finds an error and it is corrected,
2) new or changed requirements (“requirements creep“), and
3) modified designs as more effective or efficientimplementations are found.
翻译参考:
在软件开发过程中经常发生更改。这些变化是
1) 调试过程中发现错误并予以修正,
2) 新增或变更的需求(“需求蔓延”),以及
3) 随着发现更有效或更高效的实现方案而对设计进行修改。
Once a software product has been baselined(approved), any change to that product should have its own “mini life cycle,” including testing.
软件产品一旦确定基线(核准),对该产品的任何变更都应拥有自己的“mini生命周期”,其中包括测试环节。
Testing of a changed software product requires additional effort. Not only should it demonstrate that the change was implemented correctly, testing should also demonstrate that the change did not adversely impact other parts of the software product. Regression analysis and testing are employed to provide assurance that a change has not created problems elsewhere in the software product.
对经过修改的软件产品进行测试需要投入额外的工作量。测试不仅应证明修改已正确实施,还应证明该修改未对软件产品的其他部分产生不利影响。通过回归分析和测试,可以确保修改未在软件产品的其他部分引发问题。
Regression analysis is the determination of the impact of a change based on review of the relevant documentation(e.g., software requirements specification, software design specification, source code, test plans, test cases, test scripts, etc.) in order to identify the necessary regression tests to be run. Regression testing is the rerunning of test cases that a program has previously executed correctly and comparing the current result to the previous result in order to detect unintended effects of a software change.
回归分析是指通过审查相关文档(例如软件需求规格说明书、软件设计规格说明书、源代码、测试计划、测试用例、测试脚本等),确定变更带来的影响,从而识别需要执行的回归测试。回归测试是指重新运行程序先前已正确执行过的测试用例,并将当前结果与先前结果进行比较,以检测软件变更带来的意外的影响。
Regression analysis and regression testing should also be employed when using integration methods to build a software product to ensure that newly integrated modules do not adversely impact the operation of previously integrated modules.
在使用集成方法构建软件产品时,也应进行回归分析和回归测试,以确保新集成的模块不会对先前集成的模块的运行产生不利影响。
另外,标准YY/T0664(IEC62304)“5.6 软件集成及集成测试和5.7 软件系统测试”章节部分中有关于变更后测试的要求描述:
5.6 软件集成及集成测试
5.6.6 进行回归测试在软件集成之后,制造商应进行适当的回归测试,以证实未将风险不可接受的缺陷引入到先前集成的软件中。【B、C级】软件安全级别(Software Safety Classification)
5.7 软件系统测试
5.7.3 变更后再测试
当在软件系统测试期间做出变更时,制造商应:
a)适当时,重复测试、实施经修改的测试或附加的测试,以验证纠正问题时所做变更的有效性;
b)进行适当的测试,已证实没有引入非预期的副作用;
c)实施7.4中规定的有关风险管理活动。
【A、B、C级】
小结:设计开发过程的软件更新/变更需做一个“mini生命周期”的管理,通过回归分析确定相关的影响(包含审查更新相关文档),并确定需要执行的回归测试。
(注意这里是设计开发阶段的软件更新/变更,最终或注册后的软件变更还需要根据变更内容判断是否发起注册变更,IEC62304标准中有对软件变更控制的要求,后面再整理下变更的执行要求、软件注册变更的分类。)
夜雨聆风