软件测试基础及测试策略
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
进行的交互是相同的,即提供数据输入和接受数据输出。
9
优秀UI由什么构成?.1
并非每一个软件开发团队都如微软和苹果一样, 有专业的人体工程学专家来主导建立易用性实验 室,由此科学地进行用户界面的设计。
大部分软件UI是程序员在完成主体代码结构赶 时间胡拼乱凑起来的,看起来软件界面更像“弗 兰肯斯坦”。
23
正确性.2
以下情况要特别注意: 市场定位偏差。 有没有多余的遗漏的功能,某些功能执行了与 市场宣传材料不符的操作? 注意不是拿软件与说明书比较,而是与销售材 料比较。这两者通常不一样。 语言和拼写。 测试语法是否符合用户的习惯。有没有错别字 等。
24
软件中的辅助特性.1
易用性测试中的一个严肃主题是测试软件的辅助 特性,也就是为残疾人测试。
美国人口普查部门调查显示,1994年该国家中 五千四百万人有不同程度的残疾。
上海人口老龄化。
以上这些如视力损伤、听力损伤、运动损伤、认 知和语言障碍等,都使一部分的弱势群体使用计 算机变得非常困难。
25
软件中的辅助特性.2
26
易用性原则的总结
软件难以理解、不易使用、运行缓慢 从测试员的角度看,最终用户将会指责软件不正
38
数据共享兼容性.2
39
安全测试
用户认证机制
数字证书:检验用户的电子文件 智能卡:存储信息,IC卡 双重认证:密码、指纹 安全电子交易(SET)协议:国际标准
加密机制:Secure socket layer(SSL) 安全性测试方法
功能验证 漏洞扫描 用户权限控制
进行配置测试,就要保证被测试的软件能适应多 样化的软硬件平台。
29
配置测试.2
30
分离配置缺陷
有些BUG是因为两台不同计算机的环境不同配 置造成的。
所以正确的判断软件错误属于配置出错的唯一可 靠方法是,在另外一台完全不同配置的计算机上 一步步执行导致问题出现的相同操作,如果软件 错误没有产生,那么极有可能是配置上的问题。。
有一种很明显的软件错误,来源就是当软件要求 输入值时,而你没有输入直接点击了“确定”按 钮造成了严重的软件崩溃。
一般来说,好的软件会设置默认值,以避免错误 的发生。
例如:Windows画图板的属性对话框通常在 “宽度”和“高度”中放置默认值,如果将两个 数值删除,单击确定按钮……
4
数据完整性测试.3
7
易用性原则包含哪些方面?
用户界面的测试 优秀UI的7个组成要素 软件中的辅助特性
8
用户界面测试
用户与软件程序交互的层面我们称为用户界面(User Interface)
早期的计算机使用的单色视频监视器和键盘 现在我们使用的个人计算机都使用了复杂的图形用户界 面(GUI)
例如手机在拔打电话过程中,界面上会有传输的图标。 虽然这些UI各不相同,但是从技术上讲,它们与计算机
42
软件版本详细介绍
α(Alpha)版 β(Beta)版 Release 版
-Release 不会以单词形式出现在软件封面上,取而代之 的是符号®,如WindowsNT® 4.0、MS-DOS® 6.22 等。 Update(升级版) -不能独立使用,该版本的软件在安装过程中会搜索原有 的正式版。 OEM 版 -捆绑在硬件中而不单独销售的版本。
40
本地化测试
使文字和图片有意义 翻译问题 文档本扩展 ASCII、DBSC、UNICODE 热键和快捷键 扩展字符 字符计算 从左向右和从右向左读 图形中的文字 使文字脱离代码
41
本地化测试
如果测试将要本地化的产品,就需要仔细检查 内容,以确保其适应使用该软件的地区。
15
一致性.1
软件本身和其他软件的交互一致性是一个非常关键的属 性,用户在以前的软件使用中形成了习惯,所以在接受 新软件的时候希望习惯的操作方式能够被继承过来。
在记事本中,FIND命令通过SEARCH菜单访问,在其 它类似记事本程序中,FIND命令通过EDIT菜单按 CTRL+F组合键访问,这样的话会使用户从一个程序转 向另一个程序时有操作上的失败感。如果是同一个程序 中出现这样的不一致,那么就更糟糕了。
31
兼容性测试综述.1
配置测试:保证软件在其运行的硬件上正常运行。 兼容性测试:检查软件与软件之间是否能正确交
互协作和共享信息。
32
兼容性测试综述.2
33
软件兼容性需要关注的问题
当对一个新软件进行兼容性方面的测试时,需要 注意以下几点: 软件设计要求与何种其他平台和应用软件保持 兼容? 如果要测试的软件是一个平台,那么设计要求 什么应用程序在其上运行?
43
文档测试1.
完整.是否有遗漏和丢失?完全吗?单独使用是否包含全部内容? 准确.既定解决方案正确吗?目标明确吗?有没有错误? 精确,不含糊,清晰.描述是否一清二楚?还是自说自话?容易看懂和理解
吗? 一致.产品功能能描述是否自相矛盾,与其他功能有没有冲突? 贴切.描述功能的陈述是否必要?有没有多余信息?功能是否原来的客
11
符合标准和规范
与一般测试不同在于,标准符合测试的依据和测 试规程一定是国家标准或行业标准,而不是实验 室自定义的或其他的有关文件。
标准的分类
1、数据内容类标准 2、通信协议类标准 3、开发接口类标准 4、信息编码类标准
12
符合标准和规范
当前在Windows平台上或者Mac平台上是有 标准的UI设计规范的,所以只要开发不是很出 格,那么设计出来的UI多少带点标准的意义。
所以软件或者平台如果有明确的标准,那么就要遵守它。 如果没有,就要注意软件本身的特性,以确保部分相似 的操作以通用相似的方式进行。
16
一致性.2
17
一致性.3
在审查软件易用性时再想一想以下几点:
快速键和菜单选项。 例如:在WINDOWS中按F1键总是得到帮助信息。
术语和命令。 整个软件使用同样的术语吗?特性命名一致吗? 例如,OFFICE系列FIND功能,是否都叫查找,有没有搜寻等 其他说法。
确。 作为检查软件产品易用性的测试者,这是你的失
误。软件测试员是第一个用各种方式使用软件的 人,第一个看到一切按照既定最终形式汇总的人。 如果软件对于测试员来说都难以使用或者没有意 义,客户也会有同样的问题。
27
性能测试.1
性能测试就是用来测试软件在系统中的运行性能 的。
测试策略
1、性能评测 2、性能调优
恰当。金融商业应用程序和太空游戏。软件对想执行 的任务既不要夸张也不要太朴素。
错误处理。 程序应该在用户执行严重错误的操作之前提出警告, 并且允许用户恢复由于错误操作导致丢失的数据。现 在大家认为UNDO/REDO特性是当然的,但是不久 以前这些特性根本没有。
20
舒适性.2
快不见得是好事。不少程序的错误提示信息一闪 而过,无法看清。如果操作缓慢,至少应该向用 户反馈操作持续时间,并且显示它正在工作,没 有停滞。
13
直观性.1
14
直观性.2
当测试用户界面时,考虑以下问题,来衡量自己软件的 直观程度:
用户界面是否洁净、不唐突、不拥挤? UI不应该为用户制造障碍。所需功能或者期待的响应应该明显, 并在预期出现的地方。
UI的组织和布局合理吗? 是否允许用户轻松地从一个功能转到另一个功能? 下一步做什么明显吗? 任何时刻都可以决定放弃或者退回、退出吗? 输入得到承认了吗? 菜单或者窗口是否深藏不露? 有多余功能吗?软件整体抑或局部是否做得太多? 是否感到信息太庞杂? 如果其他所有努力失败,帮助系统真能帮忙吗?
灵活性
对于特殊用户的需求,一些软件的灵活性可以很 好地满足他们的需要。
就像WINDOWS计算器程序有两种视图:标准 型和科学型,用户可以自由决定使用哪个来完成 计算。
19
舒适性.1
软件应该用起来舒适,而不应该为用户工作制造 障碍和困难。没有软件舒适的正确公式。但是可 以找到如何鉴别软件舒适性的一些好想法。
对数据进行测试,就是检查用户的输入信息、返回结果 以及中间计算结果是否正确。数据处理的例子如下:
在字处理程序中输入的文字 电子表格中输入的数字 游戏中的射击次数 图像软件打印的图片 存放在软盘中的备份文件 通过网络传递数据
即使最简单的程序要处理的数据也可能很大。
3
数据完整性测试.2
一般来说Windows会返回一个消息提示框,告 诉你某些必须遵循的“规则”,因此我们在数据
测 试中必须认真对待默认值、空白、NULL值、
5
零值和无效输入等情况的发生。
功能测试
功能测试又称正确性测试,它检查软件的功能是 否符合规格说明。
基本的方法是构造一些合理输入,检查是否得到 期望的输出。
安全。 软件是否对不同层次的用源自文库采用不同的消息提示? 例如:软件异常抛出了十六进制表示的错误。
按钮位置和等价按键。 例如:对话框总存在着OK按钮或CANCEL按钮,而且OK按钮 总是在上方或者左方,而CANCEL按钮总是在下方或者右方? 同样的原因,CANCEL按钮的等价按键通常是ESC。
18
由于技术局限或者时间限制,UI设计成了项目 的牺牲品。但是,软件测试员要负责测试软件的 易用性,包括其图形用户界面。
10
优秀UI由什么构成?.2
下面是优秀UI常见的7个要素。无论UI是 电子表还是MAC操作系统界面,它们都适 用。
符合标准和规范 直观性 一致性 灵活性 舒适性 实用性 正确性
觉、支持特性等等。 低级标准是本质细节,如.jpg 两者都很重要,都需要测试以保证兼容。
37
数据共享兼容性.1
在应用程序之间共享数据实际上是增强软件的功 能。
写得好的程序支持并遵守公开标准,允许用户和 其他软件轻松传输数据,这些程序可称为兼容性 极好的产品。
Windows的系统剪贴板。
这是一种枚举方法。倘若枚举空间是无限的,测 试人员一定要设法减少枚举的次数,关键在于寻 找等价区间,和边界值。
6
易用性原则
在国内,大多数开发团队忽视软件使用者潜在的 “情感与需求”。
如果软件是应用于微波炉、电话交换机等一些嵌 入式领域,那么上述的问题和风险就无所谓了。
我们在大多数情况下还是直接和软件交互,所以 此时软件的易用性就非常重要了。易用性是人机 交互中适应性、实用性和有效性的集中体现。
性能主要还是考虑一个软件的整体的性能,所以 只有当整个系统的所有成分都集成到一起之后, 才能检查一个系统的真正性能。
28
配置测试.1
假如所有计算机硬件都相同,所有软件都由一家 公司编写,那么我们的IT生活就可以变得很简 单,不会再有莫名其妙的对话框、容易混淆的操 作界面、复杂的操作逻辑,一切从开始就相安无 事,并且一直待续下去,这真是太美好了!但是 这是不可能的。
应该遵守何种软件之间交互的标准或者规范?
软件使用何种数据与其他平台和软件交互和共 享信息?
34
向前和向后兼容.1
向后兼容:是指可以使用软件的以前版本。 向前兼容:是指可以使用软件的未来版本。
35
向前和向后兼容.2
向前兼容
36
标准和规范
实际上这些要求有两级:高级和低级。 高级标准是产品普遍遵守的规章,例如外观和感
21
实用性
这不是软件本身是否实用,而仅指具体特性是否 实用。
鸡肋 在审查产品说明书、准备测试或者实际测试时,
想一想看到的特性对软件是否具有实际的价值。
22
正确性.1
舒适性要素公认是模糊的,要看怎么解释。然而, 正确性却不然。测试正确性,就是测试UI是否 做了该做的事。
此类正确性问题一般很明显,在测试产品说明书 时可以发现。
软件测试基础
全面把握测试策略
1
常见测试策略
数据完整性测试 功能测试 易用性原则
用户界面的测试 优秀UI的7个组成要素 软件中的辅助特性
性能测试
配置测试
分离配置缺陷
兼容性测试
软件兼容性需要关注的问题
安全测试 本地化测试
2
数据完整性测试.1
软件由两个最基本的要素组成:数据(或其领域)和程 序,数据包括键盘输入、鼠标单击、磁盘文件、打印输 出等等。
9
优秀UI由什么构成?.1
并非每一个软件开发团队都如微软和苹果一样, 有专业的人体工程学专家来主导建立易用性实验 室,由此科学地进行用户界面的设计。
大部分软件UI是程序员在完成主体代码结构赶 时间胡拼乱凑起来的,看起来软件界面更像“弗 兰肯斯坦”。
23
正确性.2
以下情况要特别注意: 市场定位偏差。 有没有多余的遗漏的功能,某些功能执行了与 市场宣传材料不符的操作? 注意不是拿软件与说明书比较,而是与销售材 料比较。这两者通常不一样。 语言和拼写。 测试语法是否符合用户的习惯。有没有错别字 等。
24
软件中的辅助特性.1
易用性测试中的一个严肃主题是测试软件的辅助 特性,也就是为残疾人测试。
美国人口普查部门调查显示,1994年该国家中 五千四百万人有不同程度的残疾。
上海人口老龄化。
以上这些如视力损伤、听力损伤、运动损伤、认 知和语言障碍等,都使一部分的弱势群体使用计 算机变得非常困难。
25
软件中的辅助特性.2
26
易用性原则的总结
软件难以理解、不易使用、运行缓慢 从测试员的角度看,最终用户将会指责软件不正
38
数据共享兼容性.2
39
安全测试
用户认证机制
数字证书:检验用户的电子文件 智能卡:存储信息,IC卡 双重认证:密码、指纹 安全电子交易(SET)协议:国际标准
加密机制:Secure socket layer(SSL) 安全性测试方法
功能验证 漏洞扫描 用户权限控制
进行配置测试,就要保证被测试的软件能适应多 样化的软硬件平台。
29
配置测试.2
30
分离配置缺陷
有些BUG是因为两台不同计算机的环境不同配 置造成的。
所以正确的判断软件错误属于配置出错的唯一可 靠方法是,在另外一台完全不同配置的计算机上 一步步执行导致问题出现的相同操作,如果软件 错误没有产生,那么极有可能是配置上的问题。。
有一种很明显的软件错误,来源就是当软件要求 输入值时,而你没有输入直接点击了“确定”按 钮造成了严重的软件崩溃。
一般来说,好的软件会设置默认值,以避免错误 的发生。
例如:Windows画图板的属性对话框通常在 “宽度”和“高度”中放置默认值,如果将两个 数值删除,单击确定按钮……
4
数据完整性测试.3
7
易用性原则包含哪些方面?
用户界面的测试 优秀UI的7个组成要素 软件中的辅助特性
8
用户界面测试
用户与软件程序交互的层面我们称为用户界面(User Interface)
早期的计算机使用的单色视频监视器和键盘 现在我们使用的个人计算机都使用了复杂的图形用户界 面(GUI)
例如手机在拔打电话过程中,界面上会有传输的图标。 虽然这些UI各不相同,但是从技术上讲,它们与计算机
42
软件版本详细介绍
α(Alpha)版 β(Beta)版 Release 版
-Release 不会以单词形式出现在软件封面上,取而代之 的是符号®,如WindowsNT® 4.0、MS-DOS® 6.22 等。 Update(升级版) -不能独立使用,该版本的软件在安装过程中会搜索原有 的正式版。 OEM 版 -捆绑在硬件中而不单独销售的版本。
40
本地化测试
使文字和图片有意义 翻译问题 文档本扩展 ASCII、DBSC、UNICODE 热键和快捷键 扩展字符 字符计算 从左向右和从右向左读 图形中的文字 使文字脱离代码
41
本地化测试
如果测试将要本地化的产品,就需要仔细检查 内容,以确保其适应使用该软件的地区。
15
一致性.1
软件本身和其他软件的交互一致性是一个非常关键的属 性,用户在以前的软件使用中形成了习惯,所以在接受 新软件的时候希望习惯的操作方式能够被继承过来。
在记事本中,FIND命令通过SEARCH菜单访问,在其 它类似记事本程序中,FIND命令通过EDIT菜单按 CTRL+F组合键访问,这样的话会使用户从一个程序转 向另一个程序时有操作上的失败感。如果是同一个程序 中出现这样的不一致,那么就更糟糕了。
31
兼容性测试综述.1
配置测试:保证软件在其运行的硬件上正常运行。 兼容性测试:检查软件与软件之间是否能正确交
互协作和共享信息。
32
兼容性测试综述.2
33
软件兼容性需要关注的问题
当对一个新软件进行兼容性方面的测试时,需要 注意以下几点: 软件设计要求与何种其他平台和应用软件保持 兼容? 如果要测试的软件是一个平台,那么设计要求 什么应用程序在其上运行?
43
文档测试1.
完整.是否有遗漏和丢失?完全吗?单独使用是否包含全部内容? 准确.既定解决方案正确吗?目标明确吗?有没有错误? 精确,不含糊,清晰.描述是否一清二楚?还是自说自话?容易看懂和理解
吗? 一致.产品功能能描述是否自相矛盾,与其他功能有没有冲突? 贴切.描述功能的陈述是否必要?有没有多余信息?功能是否原来的客
11
符合标准和规范
与一般测试不同在于,标准符合测试的依据和测 试规程一定是国家标准或行业标准,而不是实验 室自定义的或其他的有关文件。
标准的分类
1、数据内容类标准 2、通信协议类标准 3、开发接口类标准 4、信息编码类标准
12
符合标准和规范
当前在Windows平台上或者Mac平台上是有 标准的UI设计规范的,所以只要开发不是很出 格,那么设计出来的UI多少带点标准的意义。
所以软件或者平台如果有明确的标准,那么就要遵守它。 如果没有,就要注意软件本身的特性,以确保部分相似 的操作以通用相似的方式进行。
16
一致性.2
17
一致性.3
在审查软件易用性时再想一想以下几点:
快速键和菜单选项。 例如:在WINDOWS中按F1键总是得到帮助信息。
术语和命令。 整个软件使用同样的术语吗?特性命名一致吗? 例如,OFFICE系列FIND功能,是否都叫查找,有没有搜寻等 其他说法。
确。 作为检查软件产品易用性的测试者,这是你的失
误。软件测试员是第一个用各种方式使用软件的 人,第一个看到一切按照既定最终形式汇总的人。 如果软件对于测试员来说都难以使用或者没有意 义,客户也会有同样的问题。
27
性能测试.1
性能测试就是用来测试软件在系统中的运行性能 的。
测试策略
1、性能评测 2、性能调优
恰当。金融商业应用程序和太空游戏。软件对想执行 的任务既不要夸张也不要太朴素。
错误处理。 程序应该在用户执行严重错误的操作之前提出警告, 并且允许用户恢复由于错误操作导致丢失的数据。现 在大家认为UNDO/REDO特性是当然的,但是不久 以前这些特性根本没有。
20
舒适性.2
快不见得是好事。不少程序的错误提示信息一闪 而过,无法看清。如果操作缓慢,至少应该向用 户反馈操作持续时间,并且显示它正在工作,没 有停滞。
13
直观性.1
14
直观性.2
当测试用户界面时,考虑以下问题,来衡量自己软件的 直观程度:
用户界面是否洁净、不唐突、不拥挤? UI不应该为用户制造障碍。所需功能或者期待的响应应该明显, 并在预期出现的地方。
UI的组织和布局合理吗? 是否允许用户轻松地从一个功能转到另一个功能? 下一步做什么明显吗? 任何时刻都可以决定放弃或者退回、退出吗? 输入得到承认了吗? 菜单或者窗口是否深藏不露? 有多余功能吗?软件整体抑或局部是否做得太多? 是否感到信息太庞杂? 如果其他所有努力失败,帮助系统真能帮忙吗?
灵活性
对于特殊用户的需求,一些软件的灵活性可以很 好地满足他们的需要。
就像WINDOWS计算器程序有两种视图:标准 型和科学型,用户可以自由决定使用哪个来完成 计算。
19
舒适性.1
软件应该用起来舒适,而不应该为用户工作制造 障碍和困难。没有软件舒适的正确公式。但是可 以找到如何鉴别软件舒适性的一些好想法。
对数据进行测试,就是检查用户的输入信息、返回结果 以及中间计算结果是否正确。数据处理的例子如下:
在字处理程序中输入的文字 电子表格中输入的数字 游戏中的射击次数 图像软件打印的图片 存放在软盘中的备份文件 通过网络传递数据
即使最简单的程序要处理的数据也可能很大。
3
数据完整性测试.2
一般来说Windows会返回一个消息提示框,告 诉你某些必须遵循的“规则”,因此我们在数据
测 试中必须认真对待默认值、空白、NULL值、
5
零值和无效输入等情况的发生。
功能测试
功能测试又称正确性测试,它检查软件的功能是 否符合规格说明。
基本的方法是构造一些合理输入,检查是否得到 期望的输出。
安全。 软件是否对不同层次的用源自文库采用不同的消息提示? 例如:软件异常抛出了十六进制表示的错误。
按钮位置和等价按键。 例如:对话框总存在着OK按钮或CANCEL按钮,而且OK按钮 总是在上方或者左方,而CANCEL按钮总是在下方或者右方? 同样的原因,CANCEL按钮的等价按键通常是ESC。
18
由于技术局限或者时间限制,UI设计成了项目 的牺牲品。但是,软件测试员要负责测试软件的 易用性,包括其图形用户界面。
10
优秀UI由什么构成?.2
下面是优秀UI常见的7个要素。无论UI是 电子表还是MAC操作系统界面,它们都适 用。
符合标准和规范 直观性 一致性 灵活性 舒适性 实用性 正确性
觉、支持特性等等。 低级标准是本质细节,如.jpg 两者都很重要,都需要测试以保证兼容。
37
数据共享兼容性.1
在应用程序之间共享数据实际上是增强软件的功 能。
写得好的程序支持并遵守公开标准,允许用户和 其他软件轻松传输数据,这些程序可称为兼容性 极好的产品。
Windows的系统剪贴板。
这是一种枚举方法。倘若枚举空间是无限的,测 试人员一定要设法减少枚举的次数,关键在于寻 找等价区间,和边界值。
6
易用性原则
在国内,大多数开发团队忽视软件使用者潜在的 “情感与需求”。
如果软件是应用于微波炉、电话交换机等一些嵌 入式领域,那么上述的问题和风险就无所谓了。
我们在大多数情况下还是直接和软件交互,所以 此时软件的易用性就非常重要了。易用性是人机 交互中适应性、实用性和有效性的集中体现。
性能主要还是考虑一个软件的整体的性能,所以 只有当整个系统的所有成分都集成到一起之后, 才能检查一个系统的真正性能。
28
配置测试.1
假如所有计算机硬件都相同,所有软件都由一家 公司编写,那么我们的IT生活就可以变得很简 单,不会再有莫名其妙的对话框、容易混淆的操 作界面、复杂的操作逻辑,一切从开始就相安无 事,并且一直待续下去,这真是太美好了!但是 这是不可能的。
应该遵守何种软件之间交互的标准或者规范?
软件使用何种数据与其他平台和软件交互和共 享信息?
34
向前和向后兼容.1
向后兼容:是指可以使用软件的以前版本。 向前兼容:是指可以使用软件的未来版本。
35
向前和向后兼容.2
向前兼容
36
标准和规范
实际上这些要求有两级:高级和低级。 高级标准是产品普遍遵守的规章,例如外观和感
21
实用性
这不是软件本身是否实用,而仅指具体特性是否 实用。
鸡肋 在审查产品说明书、准备测试或者实际测试时,
想一想看到的特性对软件是否具有实际的价值。
22
正确性.1
舒适性要素公认是模糊的,要看怎么解释。然而, 正确性却不然。测试正确性,就是测试UI是否 做了该做的事。
此类正确性问题一般很明显,在测试产品说明书 时可以发现。
软件测试基础
全面把握测试策略
1
常见测试策略
数据完整性测试 功能测试 易用性原则
用户界面的测试 优秀UI的7个组成要素 软件中的辅助特性
性能测试
配置测试
分离配置缺陷
兼容性测试
软件兼容性需要关注的问题
安全测试 本地化测试
2
数据完整性测试.1
软件由两个最基本的要素组成:数据(或其领域)和程 序,数据包括键盘输入、鼠标单击、磁盘文件、打印输 出等等。