2.2 测试管理的范围

  软件测试管理要解决的课题是如何确保软件测试技术能在软件项目在软件生命内得到顺利实施,并产生预期的效果。按照管理的对象不同,软件测试管理大致分为软件测试团队组织管理、软件测试计划管理、软件缺陷(错误)跟踪管理以及软件测试件管理四大部分。

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

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

  软件缺陷(错误)跟踪管理通俗地讲是确保发现的缺陷(错误)已经被开发团队纠正或处理过并且没有引入新的缺陷(错误)。具体来讲,当测试团队通过各种途径发现了文档或代码中的缺陷或错误以后,并不是交一份测试报告草草了事,而是在递交报告以后继续督促开发团队及时关闭已知缺陷或错误(当然,如有必要应对这些缺陷、错误做严重程度排序,以便开发团队能视轻重缓急安排处理顺序)。当开发团队关闭了测试报告中的缺陷(错误)以后,测试团队还需验证开发团队在关闭过程中有没有引入新的错误。通常,这个过程称为回归测试。回归测试如发现问题,继续报开发团组,按上述流程循环,直至回归测试终通过。

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

  2.3 软件测试管理内容

  具体的测试管理内容有:

  ● 测试方案管理:单元测试、集成测试和产品测试的测试计划的录入、修改、删除、查询和打印。

  ● 测试案例管理

    测试案例的增、删、改、拷贝和查询;

    测试案例测试情况的管理,如测试状态包括:未测试、测试中、已测试;

    测试结果分为:通过、未实现、存在问题等;

    测试案例输人、编号和归档。

  ● 测试流程管理:测试进度管理;测试流程标识;测试日志及状态报告。

  ● 问题报告管理:问题报告处理流程(问题报告、整改报告)、实现问题报告与测试案例的关联。

  ● 测试报告管理:生成单元测试、集成测试和产品测试的测试报告。

  除了以上这些,在侧试管理过程中还应对人员和环境资源进行管理。

  3、测试及测试管理中的问题及分析

  通过以上的简单总结与分析,可以看到软件测试及测试管理的重要性,及其复杂、广泛的组织管理工作,所以在实施起来,难免与理论有些出入。另外,国内的软件企业大多起步晚,技术基础薄弱,应用与管理经验缺乏,在测试上更是如此。于是国内的一些中小型的软件企业,在软件测试方面存在诸多问题,不仅与理论要求相差甚远,与实际的应用需求也相差很多。下面将简要介绍与分析当前国内中小型软件企业在测试及测试管理中存在的问题和问题原因,并在之后提出一些解决办法。

  3.1 软件本身的复杂性与企业自身的不足

  这里复杂性包括软件用户需求的复杂与难确定性,软件开发过程的组织管理的难控制性等,使得软件开发过程必然会存在诸多问题,开发出的产品也必然存在一些缺陷与不足。而由于生产与管理经验的不足,缺乏高效的开发与测试团队,往往是开发人员又是测试人员,或测试人员质量管理;缺乏有效的测试技术,代码走查室常用的方法;测试开始较晚,往往在开发完成之后;对用户反馈信息缺乏整理总结等;使得不仅难以控制产品的缺陷数量,而且对于缺陷的定位与修补也很难到位。