系统的划分有不同的方式。根据组成,系统可以分成以下3类。 纯软件:这种类型的软件直接在PC上运行,还可以进一步细分成单机软件(如Word)、客户端软件(如QQ)、服务器端软件(如淘宝网站),以及插件软件(不能独立运行,需要借助浏览器等软件才能运行,如Firefox浏览器插件)。 软件+硬件:随着技术的不断进步,越来越多需要靠硬件才能实现的特性现在能通过软件实现了,硬件和软件结合得越来越紧密。这种系统在日常生活中非常常见,如手机、空调、电梯等。 软件+硬件+维护人员:这种系统通常对应大型的系统,如电信公司或者移动公司所使用的系统。这种系统通常需要长时间运行,在运行过程中一旦出现故障,仅靠系统自身很难自动恢复,需要由维护人员来进行操作,帮助系统恢复。 无论是哪种类型的系统,都是系统测试的对象。 12.1.3实际环境和开发环境 在系统测试中,除了针对不同类型的系统进行测试外,还需要尽可能在实际环境中进行测试。与实际环境相对应的是开发环境,这两个环境的区别如下。 被测系统所包含的代码不同:实际环境下,被测系统包含的代码比较干净;而开发环境下,被测系统包含大量测试用代码,没有这些测试用代码,无论是测试还是调试都会很不方便。当然,也不可能为这两个不同的环境分别开发代码。两个环境下的代码通过宏开关来进行控制,所有测试代码都包含在#ifdef debug…#endif中。只要对代码进行编译时没有包含debug的编译开关,所有测试代码都不会包含进去。 配置不同:实际环境下配置千差万别,有的用户的配置高,有的用户的配置低;有的用户的网络速度快,有的用户的网络速度慢。开发环境下配置一般比较单一,计算机通常统一配置,而且配置较高。 包含的DLL不同:实际环境下,包含的DLL较少;而开发环境下,由于安装了较多的开发工具和测试工具,因此DLL较丰富。于是,就可能出现在开发环境下运行正常的软件在实际环境下无法正常运行,这是需要在系统测试中考虑的。 为了能更好地理解实际环境与开发环境的不同,下面通过手机测试来具体说明。 (1)手机上的软件不可能直接在手机上开发,这样成本太高,因此手机上的软件先在PC上进行开发和测试,而且是在Windows操作系统上进行的,这对应的就是开发环境。 (2)一旦手机软件在安装了Windows系统的PC上测试通过,就需要将软件移植到Linux系统上,但仍然在PC上进行,这对应的仍然是开发环境。 (3)Linux系统上测试通过后,手机软件就该放到手机上来进行测试了,这时并没有真正的移动网络,所有网络设备需要通过测试仪器进行模拟,但对于手机测试而言已经接近用户的实际使用情况了,这时对应的是实际环境。 (4)以上测试通过后,在真正的外界环境下进行测试,这通常称为外场测试。所有测试都需要在实际的街道上进行,这对应的也是实际环境。 |
|