应该充分熟悉客户的使用目的、业务流程、使用产品期待甚至客户遇到的异常情况后,全面真实的模拟客户环境进行测试。可以通过以下方面进行改善。

  测试环境搭建要全面真实的模拟客户的部署环境。

  可搭建多种测试环境模拟客户的特定的软硬件环境环境。

  软件环境:升级环境的模拟。客户的环境多是升级环境,即新版本的软件是直接在原有版本的软件上进行安装。重要的测点是升级后原有数据的验证和操作以及升级后功能的可用性。

  客户各种操作系统环境的模拟。客户会根据业务需要将软件装在不同的操作系统上。客户端产品要保证在 win7,winxp,win8 等环境上产品功能可用。同理,服务端产品要确保在 win2003,win2008 等环境上产品功能正常。

  操作系统不同语言模拟以及产品不同语言模拟。客户会根据自己机构所在的分布把产品装在该国语言的操作系统上。例如测试团队在保证 win7 英语环境下产品的正确性也要保证在 win7 法语环境上产品的正确性。同时,产品在客户需要的语言上要保证功能正确。

  客户复杂数据进行测试的模拟。测试人员在测试时,往往使用简单数据进行测试。而客户的数据大部分很复杂,客户的复杂数据往往可以检测出软件的缺陷。

  非默认安装的环境以及 cluster(集群)安装等。

  硬件环境客户低配置设备的模拟。产品在低配置环境上潜在的问题往往在测试人员高配置的环境上被隐藏。

  客户网络类型和速度的模拟。客户所使用的网络有多种,有线、无线。网速也大多比较慢,如果是无线网,网速也很不稳定,在这种情况下,产品很容易出现错误甚至崩溃。

  制定完善的测试周期

  大体可分为三个阶段:

  单元测试。由开发人员或设计人员完成。主要是验证所写的功能和设计的一致性。集成测试。这个测试阶段主要的目的是能够确保整个功能流程能够走通,无严重错误。真实业务测试。重要的一个环节,可以把自己当成第一任"客户"来体验产品,所以在测试时要站在客户的角度上。一个新项目开始时,在制定功能设计文档(FDD)时,测试人员应该积极参与,会对新产品有更深刻的认识,这样终得出的测试用例才更能模拟客户真实的业务。如果仅仅是按照技术设计文档(TDD)来写我们的测试用例,算完全覆盖了 TDD,也只是功能测试而不是真实业务测试,必然存在漏洞。