由VectorCAST生成的可执行环境(套件)包含测试驱动、被测的源文件、用户为依赖单元指定的桩、实际依赖。测试环境是靠数据驱动的,也就是说:在执行过程中,环境要读取测试数据。利用这种方法就不需要对每个测试用例都进行编译,并将其链接到新的执行环境中了。VectorCAST可以自动生成测试环境,这就很好地解决了上面提到的所有问题。
降低成本
进行自动化测试时,不需要手动创建、维护、替换测试环境,而手动测试的费用大概要占到一半的软件项目成本,所以自动化测试可以大大降低软件开发的总成本。对于大型的复杂系统来说,自动化测试更有助于降低成本。
缓解时间和员工方面的压力
实现了自动化测试,曾经被安排去创测试环境和测试案例来检验系统的开发人员现在又可以回去开发系统了。另外,不了解正在开发的系统的测试工程师也不需要浪费宝贵的时间来做测试的工作了。
省去测试维护方面的工作
利用自动化测试就不需要再对测试代码进行维护了。每次某个被测单元经过验证之后,就会根据源代码的检验结果自动生成新的测试环境。另外,在自动化测试过程中,还会自动保存测试用例和结果,然后将其用于回归测试中。
不再需要指导方案
以前需要指导方案来保证测试方法和结果的一致性,但是现在只要靠“自动化”就能实现。
结论
自动化测试会从3个主要方面改善软件开发过程:
自动化测试会减少开发和维护测试代码和测试用例所需的工时,并提高整体的开发效率,从而帮助节约成本。实现自动化测试之后,也不会再出现因为测试代码和测试用例的复用性低而无法经常进行重复测试的情况。
通过自动化测试,能够在软件开发生命周期的早期发现问题。ISO 9000 和软件工程研究所( Software Engineering Institute)已证明:如果在软件生命周期的早期发现问题并进行修复,那么修复的成本会降低50%。如果在向客户发布产品之前发现问题,会减少95%的修复成本。
在开发或维护单元测试方面减少手动操作,改用自动化实现,可以确保测试和报告的通用性。而且自动化测试可通过保存测试用例和测试结果,来保证测试的可重复性,进而确保通过连续测试可以发现真正的回归缺陷。