软件测试从软件开发过程的一个环节正在逐步发展成为一个独立的过程和学科。软件测试已经从一个手工测试,任务繁杂和重复度高的简单任务上升到软件质量的高度,这一个变化过程的诱因是企业对软件的整体质量有所重视,再加上软件的规模越来越大,开发维护成本都出奇的高。但是软件测试不是软件质量的目标,而是手段。
不过在软件测试发展过程中又有测试人员认为软件测试是自动化的,因而去学习了一些基于GUI界面的测试工具,一方面这些工具本身的价钱昂贵,另一方面又进入了一个自动化误区和泥潭。自动化测试的对象局限在GUI界面上,自动化脚本的实现难度依赖于系统本身的可测试性,而且GUI界面是经常变化的,那么维护这些自动化脚本的时间和成本也是巨大的。
解决方法
测试人员和开发人员要有一致的软件质量目标,而不是期望自动化就能解决软件质量,质量保证过程是一个企业范围内的过程,而不单单是测试人员的工作任务。不同阶段的测试任务要由不同角色的人来完成,比如单元测试由于需要学习编程语言,就要由开发人员来完成或者由开发人员和测试人员共同来完成。同时针对不能的测试对象要有不同的测试策略,比如单元测试就可以完全自动化,但是用户验收测试就不必完全自动化,因为这种类型的测试都是和GUI界面打交道,开发和维护测试脚本的任务复杂度很高。另外真正要解决软件测试的误区要有企业中的高层人员来主导,因为软件测试已经不是一个简单的工作任务,已经上升到关乎软件质量。而且要改善这种状况,光靠测试人员的努力是不能解决本质的问题。