技术开发 频道

高可靠性软件测试方案探讨

  4.3 在 CraftGS 项目中应用软件测试管理技术

  一如前文所述,测试技术解决了测试采用的方法和技术问题,然而,对于一个工程而言,还需要相应的测试管理才能保证各项测试活动的有序开展。因此,在 CraftGS 项目中,软件测试管理技术要解决的问题是如何确保软件测试技术(包括软件验证技术和软件确认技术)能在软件项目在软件生命内得到顺利实施,并产生预期的效果。

  按照软件测试管理面对的管理对象的差异,软件测试管理技术大致分为软件测试团队组织管理、软件测试计划管理、软件缺陷(错误)跟踪管理以及软件测试件管理四大部分。以下一一诠释:

  软件测试团队组织管理通俗地讲就是测试团队应该如何组建。在实际项目开发中,我们常常看到有些单位忽视测试团队存在的意义,当要实施测试时,往往临时找几个程序员充当测试人员;也有些单位尽管认识到了组建测试团队的重要性,但在具体落实的时候往往安排一些毫无开发经验的行业新手去做测试工作,这常常导致测试效率的低下,测试人员对测试工作索然无味。 CraftGS 项目的测试团队首先聘有一名资深的测试领域专家,他具有极为丰富的航天项目软件测试经验,对软件开发过程中常见的缺陷或错误了然于胸,此外,他还具有较好的亲和力和人格魅力。其次, CraftGS 项目测试团队还具有很多具备一技之长的成员,如对某些自动化测试工具运用娴熟或能轻而易举地编写自动化测试脚本。另外,测试团队还聘有兼职成员。如验证测试实施过程中,同行评审是最常使用的一种形式,这些同行专家就属于兼职测试团队成员的范畴。至于测试团队里里的测试新手,这部分人可以安排去从事交付验证或黑盒测试之类的工作。

  软件测试计划管理通俗地讲就是安排好测试流程。这部分内容具体涵盖软件测试策划、软件测试技术剪裁、测试进度管理、成本管理等几个部分。其中测试策划工作主要是指具体测试活动实施之前做好策划工作,如起草测试大纲以及测试计划;软件测试技术剪裁工作主要是指测试团队应根据软件项目的具体实际剪裁出所要实施的测试技术;测试进度管理工作主要是指排出各项测试的时间进度及人员安排,如有变动时应做相应调整;测试成本管理工作的内容即开列出测试活动中会涉及到的资源需求。 CraftGS 项目测试团队较好地按照上述要求,完成了软件测试计划管理。

  软件缺陷(错误)跟踪管理通俗地讲就是确保发现的缺陷(错误)已经被开发团队纠正或处理过并且没有引入新的缺陷(错误)。具体来讲,当测试团队通过各种途径发现了文档或代码中的缺陷或错误以后,并不是交一份测试报告就草草了事,而是在递交报告以后继续督促开发团队及时关闭已知缺陷或错误(当然,如有必要应对这些缺陷、错误做严重程度排序,以便开发团队能视轻重缓急安排处理顺序)。当开发团队关闭了测试报告中的缺陷(错误)以后,测试团队还需验证开发团队在关闭过程中有没有引入新的错误。通常,这个过程称为回归测试。回归测试如发现问题,继续报开发团组,按上述流程循环,直至回归测试最终通过。这部分工作在 CraftGS 项目中是使用自动化的测试管理工具完成的,(市面上可选择的工具有 华创缺陷管理系统 (BMS) 和 Rational ClearQuest 等等 ),这么做非常有效率。

  软件测试件管理通俗地讲就是指努力建设好测试团队的财富库并对测试团队成员进行技能培训以帮助他们能使用好这个财富库。这里,财富库是指软件测试件。测试件( Testware ,指测试工作形成的产品)是一个不常见到的词汇,它包括是测试团队在长期实践过程中逐步积累起来的经验教训、测试技巧、测试工具、规格文档以及一些经过少量修改能推广至通用的测试脚本程序。测试件管理工作做得越好,测试团队在实际测试过程中就能越少走弯路,测试团队内部的知识交流和传递就越充分,测试脚本或规格文档的重复开发工作也就能被有效地避免。软件测试件管理工作包括两部分,一是建设,另一个是培训。建设工作大抵是收集各类测试外文档、测试工具、测试脚本,也包括收集整理测试人员的会议发言、总结报告、技术心得等等。培训工作大抵是通过技术讲座、正式或非正式团队会议、印发学习资料等形式进行。 CraftGS 项目组考虑到测试团队的长久发展,较好地完成了测试件管理,测试团队成员的技能水平在较短的时间内都有了非常迅速的进步。

  5 结语:高可靠性软件测试技术需要更多关注

  以上笔者结合 CraftGS 项目对从测试技术和测试管理的角度对高可靠性软件测试方案一个略粗浅的探讨。笔者希望此文的发表能对相关软件企业和软件项目实施软件测试技术起一定的参考和指导作用。需要说明的是目前对高可靠性软件如何实施软件测试技术仍是一个颇不成熟的领域,缺少一种体系化的方法。各个企业可能都有一定的经验积累,不妨整理出来,相互借鉴。这里,笔者所做的探讨虽然已经竭尽所能,但却不能保证一定能照搬照抄到所有的高可靠性软件项目的测试之中。希望该领域的学者和技术专家共同努力、不断摸索,逐步完善这一课题。

  参考文献:
  [1] Glenford J.Myers.The Art of Software Testing.NewYork:John wiley Press,1979.127-170.

  [2] Bill Hetzel.The complete Guide to Software Testing.2,NewYork:John Wilely Press,1988.137-190.

  [3] Edward Kit. Software Testing in the Real World. London:Pearson Education,1995.45-88.

  [4] Daniel J.Mosely,Bruce A.posey.Just Enough Software Test Automation..NewYork:Pearson Education,2002.87-91.

  [5] Paul C.Jorgensen. Software Testing -A Craftsman''s Approach. 2,Florida:CRC Press,2002.260-296.

  [6] 许胜,支定镛等 . 航天软件工程实施技术指南及范例 . 北京 : 航天 5 院, 2003.

0
相关文章