软件测试实际上是一个涉及面很广的领域,除了已经说过的话题外,还有许多需要加以注意
这一章主要内容为:兼容性测试,易用性测试,极限测试,文档测试
1.兼容性测试
因为软件运行的软硬件环境等差异可能会导致软件有不同的结果
所以需要针对软件对其运行环境的依赖进行测试,以验证软件是否能够在所有期望的环境中运行,这就是兼容性测试
(1)硬件兼容性测试
需要注意以下两点:
不同的硬件配置可能会影响软件的性能,因此需要有针对性的进行测试
如果软件使用了某些硬件的特定功能,一般需要对此进行兼容性测试
(2)软件兼容性测试
1)与操作系统的兼容性
如果一个软件承诺可以再多种操作系统上运行,就需要测试该软件与操作系统的兼容性
一般兼容性问题往往是出现在统一操作系统的不同版本上,如windows等
2)与数据库库的兼容性
如果软件需要支持不同的数据库,通常需要针对不同的数据库产品进行兼容性测试,同时也要对一个数据库系统的不同版本进行测试
3)与浏览器的兼容性
4)与中间件的兼容性
5)与其他软件的兼容性
6)平台软件的兼容性
2.易用性测试
因为对于用户而言,软件不仅要求功能完善,而且还需要让用户觉得好用
所以要进行易用性测试
主要分为以下几点:
(1)易安装性测试
安装手册的易用性
安装的自动化程度
安装的灵活性
安装中断的处理
修复安装和卸载
多环境安装的支持
(2)功能易用性测试
功能的易用性是指用户能否方便,快速,准确的使用软件提供的功能来完成需要完成的任务
因为功能易用性与用户的主观感受十分密切,因此在测试过程中通常需要用户的参与,甚至测试人员就是用户
功能易用性测试主要包括一下几点:
1)业务符合度
2)功能定制性
3)功能的关联度
4)数据的共享度
5)用户约束的合理性
包括权限性的约束和功能性的约束
6)操作反馈的及时性
(3)用户界面测试
用户界面是否友好很大程度上决定了软件的易用性
可以从三个方面讨论用户界面的测试
1)界面整体测试
合理性测试:所谓的合理性是指界面是否与对应的功能融洽,界面应该辅助功能的实现
一致性测试:主要目的是检查软件在完成不同的功能时界面风格是否一致
规范性测试:同类软件间界面风格的一致性,可以看做是一致性测试的扩展
2)界面元素测试
主要包括窗口测试,菜单测试,文字测试和图标测试等
(3)输入测试
对于用户而言,能否方便的使用输入设备进行输入也是软件易用性的一个重要方面
所以需要针对各种可能的输入设备环境进行检查(如有的有鼠标,有的没鼠标,有的鼠标有滚轮,有的鼠标只有两键等)
3.极限测试
(1)极限编程
主要特点有:
简单的分析设计:极限编程不在最初的分析设计上花费太多的时间和精力,而是期望开发人员能够在编码期间不断和用户交流,随需求的变化修改和重构代码
频繁的客户交流:极限编程类似于一个频繁递进的快速原型开发过程
增量式开发
连续的测试
极限编程的主要优缺点:
可是随时应对新增或改变的需求
开发人员的自由度过大,没有严格的需求设计和规格说明
(2)极限测试
极限测试本质上是为了满足极限编程的思想和流程而设计的一套测试策略和流程
1)极限测试的过程
单元测试:由于单元测试是极限编程中发现缺陷最重要的手段,如果有的缺陷没有在单元测试中被发现,那么就很难在验收测试中发现这个缺陷
验收测试:目的在与加强用户参与软件开发的力度,从而减小需求变化或开发人员与用户交流不畅而引起的问题
2)极限测试的实施
生成单元测试用例
使用单元测试工具进行测试
模拟对象的使用
4.文档测试
一般来说,文档是软件的重要组成部分,因此文档测试也是软件测试的主要内容
文档主要分为三种:开发文档,管理文档和用户文档
由于文档和代码不同,不能直接运行,所以对文档的测试永昌只能以文档审查的方式进行
主要是发现文档中是否有不合理和需要修正的地方