(5) 对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己的开发能力的看法。
4)提交以后对用户反馈信息缺乏及对缺乏足够的重视,对于有大量用户有持久生命力的软件产品(如Microsoft Office),用户反馈信息较全面,便于开发和测试人员进行软件的修补和维护;而一些中小软件企业的产品却远远无法和Microsoft Office 相比;于是可能缺乏足够的用户反馈信息,或没有足够的时间或人力处理用户反馈信息。
5)开发及测试人员工作习惯,编程习惯,测试习惯等也影响测试的效果;由于测试人员短期的学习与培训,一般能提高的只是方法和技巧;而其自身能力与习惯可能的负面影响却一时难以消除。
4、测试管理问题的解决
4.1 建立软件测试管理体系
建立软件测试管理体系的主要目的是确保软件测试在软件质量保证中发挥应有的关键作用,包括以下工作:
软件产品的监视和测量:对软件产品的特性进行监视和测量,主要依据软件需求规格说明书,验证产品是否满足要求。所开发的软件产品是否可以交付,要预先设定质量指标,并进行测试,只有符合预先设定的指标,才可以交付。
对不符合要求的产品的识别和控制:对于软件测试中发现的软件缺陷,要认真记录它们的属性和处理措施,并进行跟踪,直至最终解决。在排除软件缺陷之后,要再次进行验证。
产品设计和开发的验证:通过设计测试用例对需求分析、软件设计、程序代码进行验证,确保程序代码与软件设计说明书的一致,以及软件设计说明书与需求规格说明书的一致。对于验证中发现的不合格现象,同样要认真记录和处理,并跟踪解决。解决之后,也要再次进行验证。
软件过程的监视和测量:从软件测试中可以获取大量关于软件过程及其结果的数据和信息,它们可用于判断这些过程的有效性,为软件过程的正常运行和持续改进提供决策依据。
一般应用过程方法和系统方法来建立软件测试管理体系,也就是把测试管理作为一个系统,对组成这个系统的各个过程加以识别和管理,以实现设定的系统目标。同时要使这些过程协同作用、互相促进,从而使它们的总体作用大于各过程作用之和。其主要目标是在设定的条件限制下,尽可能发现和排除软件缺陷。测试系统主要由下面6 个相互关联、相互作用的过程组成:测试规划、测试设计、测试实施、配置管理、资源管理和测试管理;确定这些过程的顺序和相互作用,前一过程的输出是后一过程的输入。其中,配置管理和资源管理是这些过程的支持性过程,测试管理则对其他测试过程进行监视、测试和管理;确定这些过程所需的准则和方法,一般应制订这些过程形成文件的程序,以及监视、测量和控制的准则和方法;确保可以获得必要的资源和信息,以支持这些过程的运行和对它们的监测;监视、测量和分析这些过程;实施必要的改进措施。
4.2 建立配置管理系统,规范项目管理流程
建立配置管理系统 CVS,CVS 的全称是Current Version Control。在软件质量体系的诸多支持活动中,配置管理系统处在支持活动的中心位置,它有机地把其它支持活动结合起来,形成一个整体,相互促进,相互影响,有力地保证了质量体系的实施。建立公司配置管理系统很容易得到公司领导层的支持,几乎没人反对。更重要的是建立配置管理系统后测试人员的工作有了系统保证,测试工作的“矿藏资源”有了明确的位置,可以主动积极开展测试工作。
4.3 测试过程分阶段执行
将测试过程分成几个阶段执行,即:代码审查、单元测试、集成测试、确认测试和系统测试。
单元测试是针对软件设计的最小单位-模块进行正确性检验的测试工作,其目的在于发现各模块内部可能存在的各种差错。在单元测试之后,需要按照设计时做出的结构图,将它们联结起来,进行集成测试。是检验所开发的软件是否按用户要求运行。确认测试应检查软件能否按合同要求进行工作,即是否满足软件需求说明书中的确认标准。软件开发完成后,还要与系统中其他部分配套运行,进行系统测试,包括恢复测试、安全测试、强度测试和性能测试等。
4.4 做好过程管理
过程管理须做好以下工作:分阶段设立里程碑,按里程碑计划工作和总结工作;加强审核,测试过程的中间结果要进行充分的审核;注重风险管理和规避风险,任何决定和过程都存在风险,尤其是质量好坏的风险,通过审核管理风险。