李微微
直至目前,我国还没有适应国情的、系列化协调配套的、工程化的软件生产过程管理、软件质量评测、控制技术规范和法律规程指导,为此,我国急需以大力发展软件第三方测试工程为基础,建立、健全我国软件工程监理体制。
认清“第三方”的责任
第三方测试以合同的形式制约了测试方,使得它与开发方存在某种“对立”的关系,所以它不会刻意维护开发方的利益,保证了测试工作在一开始就具有客观性。第三方一般都不直接参加开发方系统的设计和编程,为了能够深入理解系统,发现系统中存在得问题,第三方测试必须按软件工程的要求办事,以软件工程的标准要求开发方和用户进行配合,从而较好地体现软件工程的理念。引入第三方测试后,由于测试方相对的客观位置,由用户、开发方、测试方三方组成的三角关系也便于处理以往用户、开发方双方纠缠不清的矛盾,使得许多问题能得到比较客观的处理。
第三方测试不同于开发方的自测试。由于他熟悉设计和编程等,往往习惯于按一定的“程式”考虑问题,以至思路比较局限,难于发现“程式”外存在的问题。因为第三方测试的目的就是为尽量多地发现程序中的错误而运行程序的过程,可以更多的发现问题。随着系统越做越大,客观上讲开发人员也无精力参与测试,同时也不符合大生产专业分工的原则。
第三方测试不同于用户的自测试。用户是应用软件需求的提出者,对于软件应该完成的功能是非常清楚的,是进行功能验证的最佳人选。客观情况是,大部分的用户都不是计算机的专业人士,很难对系统的内部实现过程进行深入的分析。对系统的全面测试,功能测试仅仅是一个方面,还要包括并发能力、性能等多种技术测试。
如何组织管理
在测试的过程中,用户、开发方与测试方形成了一个三角关系,从最终目标来讲,三方是完全一致的,都是希望保证系统稳定运行。但在测试过程中,三方的关系却是既对立又合作。
软件测试的过程
为了保证测试的顺利进行,测试方必须强化内部的组织管理。根据我们的经验,完整的测试机构必须包括业务分析部门、技术支持部门、规划设计部门和综合后勤部门。
“第三方”测试什么
根据软件的特性,第三方软件测试工程可划分为三种类型四个层次。
第一类是系统软件、环境软件和各类工具软件等的测评。对这类软件的评测重点是软件产品的功能、性能和特点评测。
第二类是面向应用软件系统的测评。这类软件,具有很强的行业应用特性,往往是要由用户与开发商签定项目合同,开发商负责开发,用户负责验收。对这类软件的评测,根据用户对第三方的依赖程度,又可分为两个层次。第一个层次只对应用软件系统进行综合性功能、性能测试。第二个层次是对应用软件系统进行质量监理与评测。
承担该类软件质量监理评测的第三方,承担软件过程质量监理的责任,在软件生命周期过程中,从软件定义开始,要对软件过程从质量保证角度进行规范化的监督、管理和控制。评测工作不仅包括软件生命周期各阶段的评审,而且还要对程序系统,进行包括模块白盒测试在内的系统集成、系统验收等测试。
第三类是对软件企业的CMM评估认证,也是最高层次的软件评测。
了解测试评估
测试评估是软件测试的一个阶段性的结论,用所生成的测试评估报告,来确定测试是否达到完全和成功的标准。在测度评估阶段向用户提供强有力的支持,包括通过测试报告,验证测试结果是否符合测试计划中制定的测试标准;根据缺陷报告提供的测试结果数据,给出软件质量和测试完整性的评估报告;特别在以下几方面对测试的过程进行评测:
评估测试用例覆盖:测试的目标是确保100%的测试用例成功地执行。主要考虑风险和严重性、可接受的覆盖百分比。
评估代码覆盖:需要断定测试目标期望的总的测试代码行数,在测试中真正执行的代码行数及其百分比,将此结果记录在测试评估报告中。
分析缺陷:对缺陷进行分析,应遵照缺陷分析策略中制定的分析标准。最常用的缺陷分析标准有三种:缺陷分布,缺陷趋势,缺陷滞留。缺陷数量与缺陷在某一状态保留的时间长短有关。
确定测试是否达到完全和成功的标准在此阶段将判定测试是否已达到完全并可接受,生成测试结果报告。