软件测试类型
软件测试按照测试类型,可以划分为:单元测试(Unit Tests)、集成测试(Integration Tests)和系统测试(System Tests)。
单元测试
单元测试是指对软件系统中最小可测试单元进行的检查和验证。
对于“单元测试”中“单元”的解释,要根据实际情况去判定,一般来说是指功能不可再分割的模块或者函数。
单元测试在软件开发流程中占有一席之地。在过去的十几年中,单元测试框架的开发者们不断地完善测试技术,并且建立了一些新手段,用以将单元测试活动集成于软件开发的流程之中。最早的单元测试框架出现在Smalltalk语言中,单元测试的框架为SUnit,由Kent Beck发明。他也是JUnit测试框架的创始人,之后JUnit取得了巨大的成功,单元测试方法也开始流行起来,慢慢地在各个语言版本中都有了单元测试的身影,逐渐形成了xUnit体系。在Objective-C语言中最早的xUnit测试框架是OCUnit。
集成测试
集成测试是单元测试的逻辑扩展,最简单的形式是把两个已经测试过的单元组合成一个组件,并测试它们之间的接口。
从这层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。方法是测试片段的组合,并最终扩展成进程,将模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。
在iOS软件开发中,集成测试主要被简单地分为API接口测试和iOS功能集成测试。API接口测试是指,若一个iOS程序以网络请求的方式使用到了后台服务的功能,测试时需要验证网络的请求以及响应是否符合预期。iOS功能集成测试其实就是功能测试。在一个iOS程序中,有很多功能是在UI界面上体现的,所以在功能测试中测试的重点将会是UI的测试。
系统测试
系统测试(System Test)是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统组装测试和确认测试。
系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足需求规格的定义,找出与需求规格不符或相矛盾的地方,从而提出更加完善的方案。系统测试发现问题之后要经过调试找出错误的原因和位置,然后进行改正。
在iOS平台上,系统测试阶段需要从硬件环境和系统平台两个角度分别进行系统确认测试。在硬件环境方面主要考虑网络环境、所支持设备中性能较差的设备及屏幕分辨率等硬件环境因素。在系统平台方面,主要考虑的是在不同系统平台上的表现是否相同。
iOS平台的一些特性
为了能更有针对性地设计出优秀的测试用例,我们首先需要从平台特性的角度去了解iOS平台的一些特性,在今后的测试工作中也可以围绕着这些特性设计一些很有针对性的测试用例。iOS平台是一个智能移动操作系统,主要具有以下几个方面的特性。
硬件资源方面的特性
- 只有一个应用程序正在运行,并且程序展现时只有一个窗口。在台式机和笔记本电脑的操作系统中,多个程序可以同时运行,并且可以分别展示多个窗口。一般情况下在iOS系统中,一个时间段内只有一个程序在运行并且全屏展示。
- 有限的内存和CPU。不管手机方面的硬件如何快速发展,在相对固定的一段时间内,内存和CPU方面的性能是无法达到台式机和笔记本电脑的水平的。因此,在iOS系统上运行的应用程序需要更高效的代码来执行任务。
- 多样化不稳定的网络接入,在手机方面的网络接入点是可变化的,有以WiFi为接入点的情况,还有用手机卡上网的情况。在用手机卡上网时,还可以根据网速和信号等方面有更细致的分类。台式机和笔记本电脑没有这样多种选择的网络接入,更不会存在接入点随时变化的情况,并且在多数情况下,现在的台式机和笔记本电脑的网络接入是非常稳定的。
- 多样化且不同尺寸的屏幕。由于iOS平台上的应用程序多数都是全屏显示的,所以屏幕的大小决定了应用程序的展示方式。在iOS平台上,用户可能持有不同分辨率屏幕的手机,还可能不断地进行横竖屏切换来调整使用应用程序的方式。
用户使用时的一些特性
用户在使用手机应用程序时,一般都会以快捷而简便的方式完成,这些操作需要在10秒或者更短的时间内得到响应,响应时间过长会影响用户体验。另外,用户每天可能会多次打开相同的应用程序,而且每次使用应用程序的时间也可能非常短暂,这种使用方式对程序的性能提出了更高的要求。
同时,用户使用手机时,可能会使用语音输入,可能会晃动手机,也可能直接使用地理位置信息等,但是在台式机和笔记本电脑方面,普通用户输入的绝大多数信息都集中在键盘这个输入设备上。手机则有着比笔记本电脑和台式机方面更加复杂和丰富的数据输入。处理丰富的输入方式,是iOS开发者的一个小难题。
iOS测试需要做什么
作为一个终端平台,iOS和普通的PC平台一样,用户可以使用本地的应用程序,也可以使用浏览器访问Web站点。不管是什么形式的程序,或多或少都会有一些后台服务,每一个组件都会有单元测试和集成测试的步骤。