1、数据完整性测试
软件由两个最基本的要素组成:数据(或其领域)和程序,数据包括键盘输入、鼠标单击、磁盘文件、打印输出等等。
对数据进行测试,就是检查用户的输入信息、返回结果以及中间计算结果是否正确。数据处理的例子如下:
- 在字处理程序中输入的文字
- 电子表格中输入的数字
- 游戏中的射击次数
- 图像软件打印的图片
- 存放在软盘中的备份文件
- 通过网络传递数据
- 即使最简单的程序要处理的数据也可能很大
有一种很明显的软件错误,来源就是当软件要求输入值时,而你没有输入直接点击了“确定”按钮造成了严重的软件崩溃。
一般来说,好的软件会设置默认值,以避免错误的发生。
2、功能测试
功能测试又称正确性测试,它检查软件的功能是否符合规格说明。
基本的方法是构造一些合理输入,检查是否得到期望的输出。
这是一种枚举方法。倘若枚举空间是无限的,测试人员一定要设法减少枚举的次数,关键在于
寻找等价区间,和
边界值。
3、易用性测试
在国内,大多数开发团队忽视软件使用者潜在的“情感与需求”。
如果软件是应用于微波炉、电话交换机等一些嵌入式领域,那么上述的问题和风险就无所谓了。
我们在大多数情况下还是直接和软件交互,所以此时软件的易用性就非常重要了。易用性是人机交互中适应性、实用性和有效性的集中体现。
易用性原则包含哪些方面?
1)用户界面测试——用户与软件程序交互的层面我们称为用户界面(User Interface)
优秀UI七要素:
符合标准和规范
直观性
一致性
灵活性
舒适性
实用性
正确性
2)符合标准和规范
与一般测试不同在于,标准符合测试的依据和测试规程一定是国家标准或行业标准,而不是实验室自定义的或其他的有关文件。
标准的分类
- 数据内容类标准
- 通信协议类标准
- 开发接口类标准
- 信息编码类标准
3)直观性
当测试用户界面时,考虑以下问题,来衡量自己软件的直观程度:
- 用户界面是否洁净、不唐突、不拥挤?
- UI不应该为用户制造障碍。所需功能或者期待的响应应该明显,并在预期出现的地方。
- UI的组织和布局合理吗?
- 是否允许用户轻松地从一个功能转到另一个功能?
- 下一步做什么明显吗?
- 任何时刻都可以决定放弃或者退回、退出吗?
- 输入得到承认了吗?
- 菜单或者窗口是否深藏不露?
- 有多余功能吗?软件整体抑或局部是否做得太多?
- 是否感到信息太庞杂?
- 如果其他所有努力失败,帮助系统真能帮忙吗?
4)一致性
软件本身和其他软件的交互一致性是一个非常关键的属性,用户在以前的软件使用中形成了习惯,所以在接受新软件的时候希望习惯的操作方式能够被继承过来。
所以软件或者平台如果有明确的标准,那么就要遵守它。如果没有,就要注意软件本身的特性,以确保部分相似的操作以通用相似的方式进行。
在审查软件易用性时再想一想以下几点:快速键和菜单选项、术语和命令、安全、按钮位置和等价按键
5)灵活性
对于特殊用户的需求,一些软件的灵活性可以很好地满足他们的需要
6)舒适性:软件应该用起来舒适,而不应该为用户工作制造障碍和困难。没有软件舒适的正确公式。但是可以找到如何鉴别软件舒适性的一些好想法
7)实用性
这不是软件本身是否实用,而仅指具体特性是否实用。
鸡肋
在审查产品说明书、准备测试或者实际测试时,想一想看到的特性对软件是否具有实际的价值
8)正确性
舒适性要素公认是模糊的,要看怎么解释。然而,正确性却不然。测试正确性,就是测试UI是否做了该做的事。
此类正确性问题一般很明显,在测试产品说明书时可以发现。
9)软件中的辅助特性
易用性测试中的一个严肃主题是测试软件的辅助特性,也就是为残疾人测试。
易用性原则的总结:
软件难以理解、不易使用、运行缓慢
从测试员的角度看,最终用户将会指责软件不正确。
作为检查软件产品易用性的测试者,这是你的失误。软件测试员是第一个用各种方式使用软件的人,第一个看到一切按照既定最终形式汇总的人。
如果软件对于测试员来说都难以使用或者没有意义,客户也会有同样的问题。
性能测试就是用来测试软件在系统中的运行性能的。
测试策略
1)性能评测
2)性能调优
性能主要还是考虑一个软件的整体的性能,所以只有当整个系统的所有成分都集成到一起之后,才能检查一个系统的真正性能。
5、配置测试
假如所有计算机硬件都相同,所有软件都由一家公司编写,那么我们的IT生活就可以变得很简单,不会再有莫名其妙的对话框、容易混淆的操作界面、复杂的操作逻辑,一切从开始就相安无事,并且一直待续下去,这真是太美好了!但是这是不可能的。
进行配置测试,就要保证被测试的软件能适应多样化的软硬件平台。
分离配置缺陷:
有些BUG是因为两台不同计算机的环境不同配置造成的。
所以正确的判断软件错误属于配置出错的唯一可靠方法是,在另外一台完全不同配置的计算机上一步步执行导致问题出现的相同操作,如果软件错误没有产生,那么极有可能是配置上的问题
6、兼容性测试
配置测试:保证软件在其运行的硬件上正常运行。
兼容性测试:检查软件与软件之间是否能正确交互协作和共享信息。
当对一个新软件进行兼容性方面的测试时,需要注意以下几点:
软件设计要求与何种其他平台和应用软件保持兼容?
如果要测试的软件是一个平台,那么设计要求什么应用程序在其上运行?
应该遵守何种软件之间交互的标准或者规范?
软件使用何种数据与其他平台和软件交互和共享信息?
标准和规范:
数据共享兼容性
7、安全测试
用户认证机制
- 数字证书:检验用户的电子文件
- 智能卡:存储信息,IC卡
- 双重认证:密码、指纹
- 安全电子交易(SET)协议:国际标准
加密机制:Secure socket layer(SSL)
安全性测试方法
- 功能验证
- 漏洞扫描
- 用户权限控制
8、本地化测试
使文字和图片有意义
翻译问题
文档本扩展
ASCII、DBSC、UNICODE
热键和快捷键
扩展字符
字符计算
从左向右和从右向左读
图形中的文字
使文字脱离代码