软件测试市场水涨船高
刘利君 北京市凯迪四维软件有限公司总经理,致力于为航空电子和信息技术行业提供高质量的软件及工程服务。
目前,国内软件企业对软件的质量越来越重视。很多软件厂商对软件开发过程进行了CMM及ISO的认证与标准贯彻。然而,要想保证软件质量,我们在注重软件开发过程规范化的同时,也不能忽视软件测试工作对于保证软件质量的重要意义。
尴尬的测试
软件测试是根据软件开发阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据和预期的输出结果),并利用这些测试用例去运行程序,以发现错误的过程。
软件测试的重要性对于可靠性要求较高的应用软件,如在航空航天、银行保险、电信通讯、操作系统乃至游戏等嵌入或非嵌入式软件的重要性显得尤为突出。
目前,国内软件测试市场表现实在有点令人尴尬。中国市场中的软件开发公司比比皆是,但软件测试公司则如凤毛麟角。
许多软件公司还没有正式的软件测试部门或专门的软件测试人员,他们的“测试”至多不过是程序员之间进行的程序交叉运行。有的公司虽然备有专门的软件测试人员,但他们往往派去进行软件开发过程的跟踪或“监理”,而且工作多数仅停留在看看文档、点点菜单的水平,难以进行到更高层次,诸如对代码的走查、覆盖性的分析、黑盒测试、白盒测试。
究其主要原因,首先是因为企业对软件测试的重要性理解不够。很多人认为程序能试运行基本上就已经成功,没有必要成立专门的测试部门或设立测试岗位。同时,项目的验收是通过开发方及委托方进行的程序试运行,而不是由独立于项目利害方之外的人员或单位进行专业测试。
另一方面,软件开发企业在为软件开发支付费用后,就不希望再为软件的测试支付新的成本,而项目甲方则往往认为开发合格的软件是软件开发企业的责任。
即使有些项目的开发方或委托方有意向对软件进行第三方进行测试,也会考虑到在测试过程中往往需要软件开发商提供源代码,担心其知识产权遭到侵犯。
想方设法保证测试
如果一套软件中存在缺陷,最终造成的损失也是体现在软件的开发者及使用者身上,由此所引起成本的增加往往要远远高于测试的费用。至于知识产权的保护,一方面要通过法律的手段来保护,另一方面要通过在不同的测试公司间分配代码及开发文档来控制知识产权被侵犯的风险。软件产业要健康发展,不能因噎废食。我们不妨看看国外的情况。
在国外,软件测试是十分重要的。但是,成本和知识产权的问题也一直很难处理好,直到第三方测试公司的出现。
对民用飞机工业来说,其应用软件关系到飞机及乘客的人身安全,必须保证不出问题。根据FAA的要求,相当一部分航空嵌入式软件要经过第三方的软件测试并出具相关报告,得到FAA认可后,软件系统才能投入使用。同样,对于航天、金融及电信等领域的软件,执行机构及企业本身则出于安全性要求较高的考虑也往往要求软件项目由独立的第三方进行验证。
在这样的背景下,专业的软件测试公司就应运而生。这些测试公司作为独立的第三方对软件进行测试,测试工作根据相应的软件要求并依据相应的标准进行,提供有效的测试报告。这种专业测试公司在国外已经拥有良好的市场。印度国内就有多家专业从事软件测试的公司。
中国测试产业发展的建议
中国的软件产业要健康发展,软件测试专业公司的成长与专业测试市场的发展是不可跨跃的一步。那么软件测试产业如何才能发展呢?
笔者认为,首先需要软件企业提高对于测试环节的重视程度,形成对于测试服务的需求市场;其次,需要有企业从事测试理论与技术服务;第三,作为行业的管理者也要制订相应的行业规范,严格软件开发的流程及标准;第四,作为软件测试企业也要关注软件开发商对于知识产权的利益,从而也保障了自身的利益。
在维护开发商知识权益方面,我认为:第一,作为测试企业本身首先不能有侵犯知识产权的动机并严格执行法律承诺。第二,针对软件企业人员流动性大的特点,不雇用临时工作人员,所有工作人员要严格档案管理。第三,公司承接的测试软件要分为不同模块。这样,每位测试人员测试的内容能知道一部分软件模块,不能反应整体需求,这样源代码就没有意义了。
随着软件行业对于软件可靠性的重视程度逐步提高,软件测试公司在市场上的不断浮现,其测试能力也不断提高,法制意识不断增强,中国软件产业的发展的步伐就会更加坚实有力。
今日新闻推荐